XmtVirtualFunctionsAttachments: virtual_test.canal

File virtual_test.canal, 83.6 KB (added by gemacke, 6 years ago)
Line 
1********************************************************************************
2*   Cray  Compilation Report
3*   Source File:     virtual_test.cpp
4*   Program Library: vtest.pl
5*   Module:          virtual_test.o
6********************************************************************************
7          | /****************************************************************************/
8          | /*! \file virtual_test.cpp
9          |
10          |     \brief Tests the cost of using pointer indirection for objects and for
11          |            using virtual functions.
12          |
13          |     \author Greg Mackey (gemacke@sandia.gov)
14          |
15          |     \date 4/25/2012
16          | */
17          | /****************************************************************************/
18          |
19          | #include <mtgl/util.hpp>
20          |
21          | using namespace mtgl;
22          |
23          | class Polygon {
24          | public:
25          |   Polygon() : height(0), width(0) {}
26          |
27          |   unsigned long height_times_width() const { return height * width; }
28          |
29          |   void set_dimensions(unsigned long h, unsigned long w)
30          |   {
31          |     height = h;
32          |     width = w;
33          |   }
34          |
35          | protected:
36          |   unsigned long height;
37          |   unsigned long width;
38          | };
39          |
40          | class Triangle : public Polygon {
41          | public:
42          |   unsigned long area() const { return height * width / 2; }
43          |
44          |   #pragma mta no inline
45          |   unsigned long no_inline_area() const { return height * width / 2; }
46** multiprocessor parallelization enabled (-par)
47** expected to be called in a serial context
48** fused mul-add allowed
49** debug level: off
50          | };
51          |
52          | class Square : public Polygon {
53** multiprocessor parallelization enabled (-par)
54** expected to be called in a serial context
55** fused mul-add allowed
56** debug level: off
57++ function Polygon::Polygon inlined
58          | public:
59          |   unsigned long area() const { return height * width; }
60          |
61          |   #pragma mta no inline
62          |   unsigned long no_inline_area() const { return height * width; }
63** multiprocessor parallelization enabled (-par)
64** expected to be called in a serial context
65** fused mul-add allowed
66** debug level: off
67          | };
68          |
69          | class VirtualPolygon {
70          | public:
71          |   VirtualPolygon() : height(0), width(0) {}
72          |
73          |   unsigned long height_times_width() const { return height * width; }
74          |
75          |   void set_dimensions(unsigned long h, unsigned long w)
76          |   {
77          |     height = h;
78          |     width = w;
79          |   }
80          |
81          |   virtual unsigned long area() const { return 0; }
82** multiprocessor parallelization enabled (-par)
83** expected to be called in a serial context
84** fused mul-add allowed
85** debug level: off
86          |
87          | protected:
88          |   unsigned long height;
89          |   unsigned long width;
90          | };
91          |
92          | class VirtualTriangle : public VirtualPolygon {
93          | public:
94          |   unsigned long area() const { return height * width / 2; }
95** multiprocessor parallelization enabled (-par)
96** expected to be called in a serial context
97** fused mul-add allowed
98** debug level: off
99          | };
100          |
101          | class VirtualSquare : public VirtualPolygon {
102          | public:
103          |   unsigned long area() const { return height * width; }
104** multiprocessor parallelization enabled (-par)
105** expected to be called in a serial context
106** fused mul-add allowed
107** debug level: off
108          | };
109          |
110          | int main(int argc, char* argv[])
111          | {
112** multiprocessor parallelization enabled (-par)
113** expected to be called in a serial context
114** fused mul-add allowed
115** debug level: off
116          |   if (argc < 2)
117          |   {
118          |     printf("Usage: %s <size>\n", argv[0]);
119          |     exit(1);
120          |   }
121          |
122          |   unsigned long size = strtoul(argv[1], NULL, 10);
123          |
124          |   mt_timer timer;
125++ function mtgl::mt_timer::mt_timer inlined
126          |
127          |   printf("Square Array:\n");
128          |
129          | #ifdef __MTA__
130          |   // Primes the pump on the XMT so that timings are correct.
131          |   int* temp = new int[size];
132          |
133          |   #pragma mta assert nodep
134   34 P   |   for (unsigned long i = 0; i < size; ++i) temp[i] = 0;
135          |
136          |   delete [] temp;
137          | #endif
138          |
139          |   #pragma mta fence
140          |   timer.start();
141++ function mtgl::mt_timer::start inlined
142          |
143          |   #pragma mta assert par_newdelete
144          |   Square* squares = new Square[size];
145          |
146          |   #pragma mta fence
147          |   timer.stop();
148++ function mtgl::mt_timer::stop inlined
149          |
150          |   printf("                Square Init: %9.6lf\n", timer.getElapsedSeconds());
151++ function mtgl::mt_timer::getElapsedSeconds inlined
152          |
153          |   #pragma mta fence
154          |   timer.start();
155++ function mtgl::mt_timer::start inlined
156          |
157          |   #pragma mta assert nodep
158   67 P   |   for (unsigned long i = 0; i < size; ++i) squares[i].set_dimensions(2, 1);
159++ function Polygon::set_dimensions inlined
160          |
161          |   #pragma mta fence
162          |   timer.stop();
163++ function mtgl::mt_timer::stop inlined
164          |
165          |   printf("           set_dimensions(): %9.6lf\n", timer.getElapsedSeconds());
166++ function mtgl::mt_timer::getElapsedSeconds inlined
167          |
168          |   #pragma mta fence
169          |   timer.start();
170++ function mtgl::mt_timer::start inlined
171          |
172          |   unsigned long sum = 0;
173          |   #pragma mta assert nodep
174          |   for (unsigned long i = 0; i < size; ++i)
175          |   {
176   98 P:$ |     sum += squares[i].height_times_width();
177++ function Polygon::height_times_width inlined
178          |   }
179          |
180          |   #pragma mta fence
181          |   timer.stop();
182++ function mtgl::mt_timer::stop inlined
183          |
184          |   printf("       height_times_width(): %9.6lf    %lu\n",
185++ function mtgl::mt_timer::getElapsedSeconds inlined
186          |          timer.getElapsedSeconds(), sum);
187          |
188          |   #pragma mta fence
189          |   timer.start();
190++ function mtgl::mt_timer::start inlined
191          |
192          |   sum = 0;
193          |   for (unsigned long i = 0; i < size; ++i)
194          |   {
195  126 P:$ |     sum += squares[i].area();
196++ function Square::area inlined
197          |   }
198          |
199          |   #pragma mta fence
200          |   timer.stop();
201++ function mtgl::mt_timer::stop inlined
202          |
203          |   printf("                     area(): %9.6lf    %lu\n",
204++ function mtgl::mt_timer::getElapsedSeconds inlined
205          |          timer.getElapsedSeconds(), sum);
206          |
207          |   #pragma mta fence
208          |   timer.start();
209++ function mtgl::mt_timer::start inlined
210          |
211          |   #pragma mta assert par_newdelete
212          |   delete [] squares;
213          |
214          |   #pragma mta fence
215          |   timer.stop();
216++ function mtgl::mt_timer::stop inlined
217          |
218          |   printf("              Square Delete: %9.6lf\n", timer.getElapsedSeconds());
219++ function mtgl::mt_timer::getElapsedSeconds inlined
220          |
221          |   printf("\nSquare Pointer Array:\n");
222          |
223          |   #pragma mta fence
224          |   timer.start();
225++ function mtgl::mt_timer::start inlined
226          |
227          |   Square** squares_ptr = new Square*[size];
228          |   #pragma mta assert nodep
229  142 P   |   for (unsigned long i = 0; i < size; ++i) squares_ptr[i] = new Square;
230++ function Square::Square inlined
231          |
232          |   #pragma mta fence
233          |   timer.stop();
234++ function mtgl::mt_timer::stop inlined
235          |
236          |   printf("                Square Init: %9.6lf\n", timer.getElapsedSeconds());
237++ function mtgl::mt_timer::getElapsedSeconds inlined
238          |
239          |   #pragma mta fence
240          |   timer.start();
241++ function mtgl::mt_timer::start inlined
242          |
243          |   #pragma mta assert nodep
244  166 P   |   for (unsigned long i = 0; i < size; ++i) squares_ptr[i]->set_dimensions(2, 1);
245++ function Polygon::set_dimensions inlined
246          |
247          |   #pragma mta fence
248          |   timer.stop();
249++ function mtgl::mt_timer::stop inlined
250          |
251          |   printf("           set_dimensions(): %9.6lf\n", timer.getElapsedSeconds());
252++ function mtgl::mt_timer::getElapsedSeconds inlined
253          |
254          |   #pragma mta fence
255          |   timer.start();
256++ function mtgl::mt_timer::start inlined
257          |
258          |   sum = 0;
259          |   #pragma mta assert nodep
260          |   for (unsigned long i = 0; i < size; ++i)
261          |   {
262  178 P:$ |     sum += squares_ptr[i]->height_times_width();
263++ function Polygon::height_times_width inlined
264          |   }
265          |
266          |   #pragma mta fence
267          |   timer.stop();
268++ function mtgl::mt_timer::stop inlined
269          |
270          |   printf("       height_times_width(): %9.6lf    %lu\n",
271++ function mtgl::mt_timer::getElapsedSeconds inlined
272          |          timer.getElapsedSeconds(), sum);
273          |
274          |   #pragma mta fence
275          |   timer.start();
276++ function mtgl::mt_timer::start inlined
277          |
278          |   sum = 0;
279          |   for (unsigned long i = 0; i < size; ++i)
280          |   {
281  187 P:$ |     sum += squares_ptr[i]->area();
282++ function Square::area inlined
283          |   }
284          |
285          |   #pragma mta fence
286          |   timer.stop();
287++ function mtgl::mt_timer::stop inlined
288          |
289          |   printf("                     area(): %9.6lf    %lu\n",
290++ function mtgl::mt_timer::getElapsedSeconds inlined
291          |          timer.getElapsedSeconds(), sum);
292          |
293          |   #pragma mta fence
294          |   timer.start();
295++ function mtgl::mt_timer::start inlined
296          |
297  190 P   |   for (unsigned long i = 0; i < size; ++i) delete squares_ptr[i];
298          |   delete [] squares_ptr;
299          |
300          |   #pragma mta fence
301          |   timer.stop();
302++ function mtgl::mt_timer::stop inlined
303          |
304          |   printf("              Square Delete: %9.6lf\n", timer.getElapsedSeconds());
305++ function mtgl::mt_timer::getElapsedSeconds inlined
306          |
307          |   printf("\nPolygon Array Normal Inheritance:\n");
308          |
309          |   Polygon** polys = new Polygon*[size];
310          |
311          |   #pragma mta fence
312          |   timer.start();
313++ function mtgl::mt_timer::start inlined
314          |
315          |   #pragma mta assert nodep
316  192 P   |   for (unsigned long i = 0; i < size; i += 2) polys[i] = new Square;
317++ function Square::Square inlined
318          |
319          |   #pragma mta fence
320          |   timer.stop();
321++ function mtgl::mt_timer::stop inlined
322          |
323          |   printf("                Square Init: %9.6lf\n", timer.getElapsedSeconds());
324++ function mtgl::mt_timer::getElapsedSeconds inlined
325          |
326          |   #pragma mta fence
327          |   timer.start();
328++ function mtgl::mt_timer::start inlined
329          |
330          |   #pragma mta assert nodep
331  194 P   |   for (unsigned long i = 1; i < size; i += 2) polys[i] = new Triangle;
332++ function Triangle::Triangle inlined
333          |
334          |   #pragma mta fence
335          |   timer.stop();
336++ function mtgl::mt_timer::stop inlined
337          |
338          |   printf("              Triangle Init: %9.6lf\n", timer.getElapsedSeconds());
339++ function mtgl::mt_timer::getElapsedSeconds inlined
340          |
341          |   #pragma mta fence
342          |   timer.start();
343++ function mtgl::mt_timer::start inlined
344          |
345          |   #pragma mta assert nodep
346  197 P   |   for (unsigned long i = 0; i < size; ++i) polys[i]->set_dimensions(2, 1);
347++ function Polygon::set_dimensions inlined
348          |
349          |   #pragma mta fence
350          |   timer.stop();
351++ function mtgl::mt_timer::stop inlined
352          |
353          |   printf("           set_dimensions(): %9.6lf\n", timer.getElapsedSeconds());
354++ function mtgl::mt_timer::getElapsedSeconds inlined
355          |
356          |   #pragma mta fence
357          |   timer.start();
358++ function mtgl::mt_timer::start inlined
359          |
360          |   sum = 0;
361          |   #pragma mta assert nodep
362          |   for (unsigned long i = 0; i < size; ++i)
363          |   {
364  200 P:$ |     sum += polys[i]->height_times_width();
365++ function Polygon::height_times_width inlined
366          |   }
367          |
368          |   #pragma mta fence
369          |   timer.stop();
370++ function mtgl::mt_timer::stop inlined
371          |
372          |   printf("       height_times_width(): %9.6lf    %lu\n",
373++ function mtgl::mt_timer::getElapsedSeconds inlined
374          |          timer.getElapsedSeconds(), sum);
375          |
376          |   #pragma mta fence
377          |   timer.start();
378++ function mtgl::mt_timer::start inlined
379          |
380          |   sum = 0;
381          |   #pragma mta assert nodep
382          |   for (unsigned long i = 0; i < size; i += 2)
383          |   {
384  203 P:$ |     sum += static_cast<Square*>(polys[i])->area();
385++ function Square::area inlined
386          |   }
387          |
388          |   #pragma mta fence
389          |   timer.stop();
390++ function mtgl::mt_timer::stop inlined
391          |
392          |   printf("              Square area(): %9.6lf    %lu\n",
393++ function mtgl::mt_timer::getElapsedSeconds inlined
394          |          timer.getElapsedSeconds(), sum);
395          |
396          |   #pragma mta fence
397          |   timer.start();
398++ function mtgl::mt_timer::start inlined
399          |
400          |   sum = 0;
401          |   #pragma mta assert nodep
402          |   for (unsigned long i = 1; i < size; i += 2)
403          |   {
404  206 P:$ |     sum += static_cast<Triangle*>(polys[i])->area();
405++ function Triangle::area inlined
406          |   }
407          |
408          |   #pragma mta fence
409          |   timer.stop();
410++ function mtgl::mt_timer::stop inlined
411          |
412          |   printf("            Triangle area(): %9.6lf    %lu\n",
413++ function mtgl::mt_timer::getElapsedSeconds inlined
414          |          timer.getElapsedSeconds(), sum);
415          |
416          | #ifdef __MTA__
417          |   #pragma mta fence
418          |   timer.start();
419++ function mtgl::mt_timer::start inlined
420          |
421          |   sum = 0;
422          |   #pragma mta assert parallel
423          |   for (unsigned long i = 0; i < size; i += 2)
424          |   {
425  209 D:$ |     sum += static_cast<Square*>(polys[i])->no_inline_area();
426** reduction moved out of 1 loop
427          |   }
428          |
429          |   #pragma mta fence
430          |   timer.stop();
431++ function mtgl::mt_timer::stop inlined
432          |
433          |   printf("    No Inline Square area(): %9.6lf    %lu\n",
434++ function mtgl::mt_timer::getElapsedSeconds inlined
435          |          timer.getElapsedSeconds(), sum);
436          |
437          |   #pragma mta fence
438          |   timer.start();
439++ function mtgl::mt_timer::start inlined
440          |
441          |   sum = 0;
442          |   #pragma mta assert parallel
443          |   for (unsigned long i = 1; i < size; i += 2)
444          |   {
445  212 D:$ |     sum += static_cast<Triangle*>(polys[i])->no_inline_area();
446** reduction moved out of 1 loop
447          |   }
448          |
449          |   #pragma mta fence
450          |   timer.stop();
451++ function mtgl::mt_timer::stop inlined
452          |
453          |   printf("  No Inline Triangle area(): %9.6lf    %lu\n",
454++ function mtgl::mt_timer::getElapsedSeconds inlined
455          |          timer.getElapsedSeconds(), sum);
456          | #endif
457          |
458          |   #pragma mta fence
459          |   timer.start();
460++ function mtgl::mt_timer::start inlined
461          |
462  215 P   |   for (unsigned long i = 0; i < size; ++i) delete polys[i];
463          |   delete [] polys;
464          |
465          |   #pragma mta fence
466          |   timer.stop();
467++ function mtgl::mt_timer::stop inlined
468          |
469          |   printf("                Poly Delete: %9.6lf\n", timer.getElapsedSeconds());
470++ function mtgl::mt_timer::getElapsedSeconds inlined
471          |
472          |   printf("\nPolygon Array Virtual Inheritance:\n");
473          |
474          |   VirtualPolygon** vpolys = new VirtualPolygon*[size];
475          |
476          |   #pragma mta fence
477          |   timer.start();
478++ function mtgl::mt_timer::start inlined
479          |
480          |   #pragma mta assert nodep
481  217 P   |   for (unsigned long i = 0; i < size; i += 2) vpolys[i] = new VirtualSquare;
482++ function VirtualSquare::VirtualSquare inlined
483          |
484          |   #pragma mta fence
485          |   timer.stop();
486++ function mtgl::mt_timer::stop inlined
487          |
488          |   printf("                Square Init: %9.6lf\n", timer.getElapsedSeconds());
489++ function mtgl::mt_timer::getElapsedSeconds inlined
490          |
491          |   #pragma mta fence
492          |   timer.start();
493++ function mtgl::mt_timer::start inlined
494          |
495          |   #pragma mta assert nodep
496  219 P   |   for (unsigned long i = 1; i < size; i += 2) vpolys[i] = new VirtualTriangle;
497++ function VirtualTriangle::VirtualTriangle inlined
498          |
499          |   #pragma mta fence
500          |   timer.stop();
501++ function mtgl::mt_timer::stop inlined
502          |
503          |   printf("              Triangle Init: %9.6lf\n", timer.getElapsedSeconds());
504++ function mtgl::mt_timer::getElapsedSeconds inlined
505          |
506          |   #pragma mta fence
507          |   timer.start();
508++ function mtgl::mt_timer::start inlined
509          |
510          |   #pragma mta assert nodep
511  222 P   |   for (unsigned long i = 0; i < size; ++i) vpolys[i]->set_dimensions(2, 1);
512++ function VirtualPolygon::set_dimensions inlined
513          |
514          |   #pragma mta fence
515          |   timer.stop();
516++ function mtgl::mt_timer::stop inlined
517          |
518          |   printf("           set_dimensions(): %9.6lf\n", timer.getElapsedSeconds());
519++ function mtgl::mt_timer::getElapsedSeconds inlined
520          |
521          |   #pragma mta fence
522          |   timer.start();
523++ function mtgl::mt_timer::start inlined
524          |
525          |   sum = 0;
526          |   #pragma mta assert nodep
527          |   for (unsigned long i = 0; i < size; ++i)
528          |   {
529  225 P:$ |     sum += vpolys[i]->height_times_width();
530++ function VirtualPolygon::height_times_width inlined
531          |   }
532          |
533          |   #pragma mta fence
534          |   timer.stop();
535++ function mtgl::mt_timer::stop inlined
536          |
537          |   printf("       height_times_width(): %9.6lf    %lu\n",
538++ function mtgl::mt_timer::getElapsedSeconds inlined
539          |          timer.getElapsedSeconds(), sum);
540          |
541          |   #pragma mta fence
542          |   timer.start();
543++ function mtgl::mt_timer::start inlined
544          |
545          |   sum = 0;
546          |   #pragma mta assert parallel
547          |   for (unsigned long i = 0; i < size; ++i)
548          |   {
549  228 D:$ |     sum += vpolys[i]->area();
550** reduction moved out of 1 loop
551          |   }
552          |
553          |   #pragma mta fence
554          |   timer.stop();
555++ function mtgl::mt_timer::stop inlined
556          |
557          |   printf("                     area(): %9.6lf    %lu\n",
558++ function mtgl::mt_timer::getElapsedSeconds inlined
559          |          timer.getElapsedSeconds(), sum);
560          |
561          |   #pragma mta fence
562          |   timer.start();
563++ function mtgl::mt_timer::start inlined
564          |
565          |   sum = 0;
566          |   #pragma mta assert parallel
567          |   for (unsigned long i = 0; i < size; i += 2)
568          |   {
569  231 D:$ |     sum += static_cast<VirtualSquare*>(vpolys[i])->area();
570** reduction moved out of 1 loop
571          |   }
572          |
573          |   #pragma mta fence
574          |   timer.stop();
575++ function mtgl::mt_timer::stop inlined
576          |
577          |   printf("              Square area(): %9.6lf    %lu\n",
578++ function mtgl::mt_timer::getElapsedSeconds inlined
579          |          timer.getElapsedSeconds(), sum);
580          |
581          |   #pragma mta fence
582          |   timer.start();
583++ function mtgl::mt_timer::start inlined
584          |
585          |   sum = 0;
586          |   #pragma mta assert parallel
587          |   for (unsigned long i = 1; i < size; i += 2)
588          |   {
589  234 D:$ |     sum += static_cast<VirtualTriangle*>(vpolys[i])->area();
590** reduction moved out of 1 loop
591          |   }
592          |
593          |   #pragma mta fence
594          |   timer.stop();
595++ function mtgl::mt_timer::stop inlined
596          |
597          |   printf("            Triangle area(): %9.6lf    %lu\n",
598++ function mtgl::mt_timer::getElapsedSeconds inlined
599          |          timer.getElapsedSeconds(), sum);
600          |
601          |   #pragma mta fence
602          |   timer.start();
603++ function mtgl::mt_timer::start inlined
604          |
605  237 P   |   for (unsigned long i = 0; i < size; ++i) delete vpolys[i];
606          |   delete [] vpolys;
607          |
608          |   #pragma mta fence
609          |   timer.stop();
610++ function mtgl::mt_timer::stop inlined
611          |
612          |   printf("                Poly Delete: %9.6lf\n", timer.getElapsedSeconds());
613++ function mtgl::mt_timer::getElapsedSeconds inlined
614          |
615          |   return 0;
616          | }
617
618
619********************************************************************************
620*   Additional Loop Details
621********************************************************************************
622
623Loop   1 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
624       Completely unrolled
625       Single iteration loop removed
626       Compiler generated
627
628Loop   2 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
629       Completely unrolled
630       Single iteration loop removed
631       Compiler generated
632
633Loop   3 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
634       Completely unrolled
635       Single iteration loop removed
636       Compiler generated
637
638Parallel region   4 in main
639       Multiple processor implementation
640       Requesting at least 50 streams
641
642Loop   5 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
643       Expecting 1 iterations
644       Compiler generated
645       Loop summary: 1 loads, 1 stores, 0 floating point operations
646                2 instructions, needs 180 streams for full utilization
647                pipelined
648
649Loop   6 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
650       Expecting 1 iterations
651       Compiler generated
652       Loop summary: 1 loads, 1 stores, 0 floating point operations
653                2 instructions, needs 180 streams for full utilization
654                pipelined
655
656Loop   7 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
657       Expecting 1 iterations
658       Compiler generated
659       Loop summary: 1 loads, 1 stores, 0 floating point operations
660                2 instructions, needs 180 streams for full utilization
661                pipelined
662
663Loop   8 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
664       Compiler generated
665       Loop summary: 1 loads, 1 stores, 0 floating point operations
666                2 instructions, needs 180 streams for full utilization
667                pipelined
668
669Loop   9 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long double) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
670       Loop not pipelined: not structurally ok
671       Scheduled to minimize serial time
672       Compiler generated
673       Loop summary: 13 instructions, 2 floating point operations
674                0 loads, 0 stores, 0 reloads, 0 spills, 5 branches, 1 calls
675
676Loop  10 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
677       Loop not pipelined: not structurally ok
678       Scheduled to minimize serial time
679       Compiler generated
680       Loop summary: 32 instructions, 0 floating point operations
681                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
682
683Loop  11 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, double) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
684       Loop not pipelined: not structurally ok
685       Scheduled to minimize serial time
686       Compiler generated
687       Loop summary: 6 instructions, 4 floating point operations
688                0 loads, 0 stores, 0 reloads, 0 spills, 2 branches, 0 calls
689
690Loop  12 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
691       Compiler generated
692       Loop summary: 1 loads, 1 stores, 0 floating point operations
693                2 instructions, needs 180 streams for full utilization
694                pipelined
695
696Loop  13 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
697       Compiler generated
698       Loop summary: 1 loads, 1 stores, 0 floating point operations
699                2 instructions, needs 180 streams for full utilization
700                pipelined
701
702Loop  14 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
703       Compiler generated
704       Loop summary: 1 loads, 1 stores, 0 floating point operations
705                2 instructions, needs 180 streams for full utilization
706                pipelined
707
708Loop  15 in std::ctype<char>::do_narrow(const char *, const char *, char, char *) const
709       Expecting 1 iterations
710       Compiler generated
711       Loop summary: 1 loads, 1 stores, 0 floating point operations
712                2 instructions, needs 180 streams for full utilization
713                pipelined
714
715Loop  16 in std::ctype<char>::do_widen(const char *, const char *, char *) const
716       Expecting 1 iterations
717       Compiler generated
718       Loop summary: 1 loads, 1 stores, 0 floating point operations
719                2 instructions, needs 180 streams for full utilization
720                pipelined
721
722Loop  17 in std::ctype<char>::do_toupper(char *, const char *) const
723       Loop not pipelined: not structurally ok
724       Scheduled to minimize serial time
725       Compiler generated
726       Loop summary: 16 instructions, 0 floating point operations
727                0 loads, 1 stores, 4 reloads, 0 spills, 1 branches, 3 calls
728
729Loop  18 in std::ctype<char>::do_tolower(char *, const char *) const
730       Loop not pipelined: not structurally ok
731       Scheduled to minimize serial time
732       Compiler generated
733       Loop summary: 16 instructions, 0 floating point operations
734                0 loads, 1 stores, 4 reloads, 0 spills, 1 branches, 3 calls
735
736Loop  19 in std::codecvt<wchar_t, char, unsigned short>::do_length(unsigned short &, const char *, const char *, unsigned long) const
737       Loop not pipelined: not structurally ok
738       Scheduled to minimize serial time
739       Compiler generated
740       Loop summary: 40 instructions, 0 floating point operations
741                2 loads, 0 stores, 6 reloads, 4 spills, 9 branches, 2 calls
742
743Loop  20 in std::codecvt<wchar_t, char, unsigned short>::do_in(unsigned short &, const char *, const char *, const char *&, wchar_t *, wchar_t *, wchar_t *&) const
744       Loop not pipelined: not structurally ok
745       Scheduled to minimize serial time
746       Compiler generated
747       Loop summary: 41 instructions, 0 floating point operations
748                5 loads, 2 stores, 4 reloads, 4 spills, 9 branches, 2 calls
749
750Loop  21 in main in region 4
751       In parallel phase 1
752       Dynamically scheduled, variable chunks, min size = 64
753       Compiler generated
754
755Parallel region  22 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
756       Multiple processor implementation
757       Requesting at least 45 streams
758
759Parallel region  23 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
760       Multiple processor implementation
761       Requesting at least 45 streams
762
763Parallel region  24 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
764       Multiple processor implementation
765       Requesting at least 45 streams
766
767Parallel region  25 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
768       Multiple processor implementation
769       Requesting at least 45 streams
770
771Loop  26 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long double) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
772       Loop not pipelined: not structurally ok
773       Scheduled to minimize serial time
774       Compiler generated
775       Loop summary: 23 instructions, 15 floating point operations
776                0 loads, 0 stores, 0 reloads, 0 spills, 9 branches, 0 calls
777
778Loop  27 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
779       Loop not pipelined: not structurally ok
780       Scheduled to minimize serial time
781       Compiler generated
782       Loop summary: 32 instructions, 0 floating point operations
783                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
784
785Loop  28 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, double) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
786       Loop not pipelined: not structurally ok
787       Scheduled to minimize serial time
788       Compiler generated
789       Loop summary: 8 instructions, 2 floating point operations
790                0 loads, 0 stores, 0 reloads, 0 spills, 5 branches, 0 calls
791
792Parallel region  29 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
793       Multiple processor implementation
794       Requesting at least 45 streams
795
796Parallel region  30 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
797       Multiple processor implementation
798       Requesting at least 45 streams
799
800Parallel region  31 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
801       Multiple processor implementation
802       Requesting at least 45 streams
803
804Parallel region  32 in std::ctype<char>::do_narrow(const char *, const char *, char, char *) const
805       Multiple processor implementation
806       Requesting at least 45 streams
807
808Parallel region  33 in std::ctype<char>::do_widen(const char *, const char *, char *) const
809       Multiple processor implementation
810       Requesting at least 45 streams
811
812Loop  34 in main at line 97 in loop 21
813       Loop summary: 0 loads, 1 stores, 0 floating point operations
814                1 instructions, needs 50 streams for full utilization
815                pipelined
816
817Loop  35 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in region 22
818       In parallel phase 1
819       Dynamically scheduled, variable chunks, min size = 13
820       Compiler generated
821
822Loop  36 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in region 23
823       In parallel phase 1
824       Dynamically scheduled, variable chunks, min size = 13
825       Compiler generated
826
827Loop  37 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in region 24
828       In parallel phase 1
829       Dynamically scheduled, variable chunks, min size = 13
830       Compiler generated
831
832Loop  38 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 25
833       In parallel phase 1
834       Dynamically scheduled, variable chunks, min size = 13
835       Compiler generated
836
837Loop  39 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
838       Compiler generated
839       Loop summary: 1 loads, 1 stores, 0 floating point operations
840                2 instructions, needs 180 streams for full utilization
841                pipelined
842
843Loop  40 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 29
844       In parallel phase 1
845       Dynamically scheduled, variable chunks, min size = 13
846       Compiler generated
847
848Loop  41 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 30
849       In parallel phase 1
850       Dynamically scheduled, variable chunks, min size = 13
851       Compiler generated
852
853Loop  42 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 31
854       In parallel phase 1
855       Dynamically scheduled, variable chunks, min size = 13
856       Compiler generated
857
858Loop  43 in std::ctype<char>::do_narrow(const char *, const char *, char, char *) const in region 32
859       In parallel phase 1
860       Dynamically scheduled, variable chunks, min size = 13
861       Compiler generated
862
863Loop  44 in std::ctype<char>::do_widen(const char *, const char *, char *) const in region 33
864       In parallel phase 1
865       Dynamically scheduled, variable chunks, min size = 13
866       Compiler generated
867
868Parallel region  45 in main
869       Multiple processor implementation
870       Requesting at least 45 streams
871
872Loop  46 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in loop 35
873       Compiler generated
874       Loop summary: 1 loads, 1 stores, 0 floating point operations
875                2 instructions, needs 45 streams for full utilization
876                pipelined
877
878Loop  47 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in loop 36
879       Compiler generated
880       Loop summary: 1 loads, 1 stores, 0 floating point operations
881                2 instructions, needs 45 streams for full utilization
882                pipelined
883
884Loop  48 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in loop 37
885       Compiler generated
886       Loop summary: 1 loads, 1 stores, 0 floating point operations
887                2 instructions, needs 45 streams for full utilization
888                pipelined
889
890Loop  49 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 38
891       Compiler generated
892       Loop summary: 1 loads, 1 stores, 0 floating point operations
893                2 instructions, needs 45 streams for full utilization
894                pipelined
895
896Parallel region  50 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
897       Multiple processor implementation
898       Requesting at least 45 streams
899
900Loop  51 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 40
901       Compiler generated
902       Loop summary: 1 loads, 1 stores, 0 floating point operations
903                2 instructions, needs 45 streams for full utilization
904                pipelined
905
906Loop  52 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 41
907       Compiler generated
908       Loop summary: 1 loads, 1 stores, 0 floating point operations
909                2 instructions, needs 45 streams for full utilization
910                pipelined
911
912Loop  53 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 42
913       Compiler generated
914       Loop summary: 1 loads, 1 stores, 0 floating point operations
915                2 instructions, needs 45 streams for full utilization
916                pipelined
917
918Loop  54 in std::ctype<char>::do_narrow(const char *, const char *, char, char *) const in loop 43
919       Compiler generated
920       Loop summary: 1 loads, 1 stores, 0 floating point operations
921                2 instructions, needs 45 streams for full utilization
922                pipelined
923
924Loop  55 in std::ctype<char>::do_widen(const char *, const char *, char *) const in loop 44
925       Compiler generated
926       Loop summary: 1 loads, 1 stores, 0 floating point operations
927                2 instructions, needs 45 streams for full utilization
928                pipelined
929
930Loop  56 in main in region 45
931       In parallel phase 2
932       Dynamically scheduled, variable chunks, min size = 64
933       Compiler generated
934
935Parallel region  57 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
936       Multiple processor implementation
937       Requesting at least 45 streams
938
939Parallel region  58 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
940       Multiple processor implementation
941       Requesting at least 45 streams
942
943Parallel region  59 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
944       Multiple processor implementation
945       Requesting at least 45 streams
946
947Loop  60 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 25
948       In parallel phase 2
949       Dynamically scheduled, variable chunks, min size = 13
950       Compiler generated
951
952Loop  61 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 50
953       In parallel phase 1
954       Dynamically scheduled, variable chunks, min size = 13
955       Compiler generated
956
957Loop  62 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 29
958       In parallel phase 2
959       Dynamically scheduled, variable chunks, min size = 13
960       Compiler generated
961
962Loop  63 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 30
963       In parallel phase 2
964       Dynamically scheduled, variable chunks, min size = 13
965       Compiler generated
966
967Loop  64 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 31
968       In parallel phase 2
969       Dynamically scheduled, variable chunks, min size = 13
970       Compiler generated
971
972Parallel region  65 in std::ctype<char>::do_narrow(const char *, const char *, char, char *) const
973       Multiple processor implementation
974       Requesting at least 45 streams
975
976Parallel region  66 in std::ctype<char>::do_widen(const char *, const char *, char *) const
977       Multiple processor implementation
978       Requesting at least 45 streams
979
980Loop  67 in main at line 117 in loop 56
981       Loop summary: 0 loads, 2 stores, 0 floating point operations
982                2 instructions, needs 45 streams for full utilization
983                pipelined
984
985Loop  68 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in region 57
986       In parallel phase 2
987       Block scheduled
988       Compiler generated
989       Loop summary: 1 loads, 1 stores, 0 floating point operations
990                2 instructions, needs 45 streams for full utilization
991                pipelined
992
993Loop  69 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in region 58
994       In parallel phase 2
995       Block scheduled
996       Compiler generated
997       Loop summary: 1 loads, 1 stores, 0 floating point operations
998                2 instructions, needs 45 streams for full utilization
999                pipelined
1000
1001Loop  70 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in region 59
1002       In parallel phase 2
1003       Block scheduled
1004       Compiler generated
1005       Loop summary: 1 loads, 1 stores, 0 floating point operations
1006                2 instructions, needs 45 streams for full utilization
1007                pipelined
1008
1009Loop  71 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 60
1010       Compiler generated
1011       Loop summary: 1 loads, 1 stores, 0 floating point operations
1012                2 instructions, needs 45 streams for full utilization
1013                pipelined
1014
1015Loop  72 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 61
1016       Compiler generated
1017       Loop summary: 1 loads, 1 stores, 0 floating point operations
1018                2 instructions, needs 45 streams for full utilization
1019                pipelined
1020
1021Loop  73 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 62
1022       Compiler generated
1023       Loop summary: 1 loads, 1 stores, 0 floating point operations
1024                2 instructions, needs 45 streams for full utilization
1025                pipelined
1026
1027Loop  74 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 63
1028       Compiler generated
1029       Loop summary: 1 loads, 1 stores, 0 floating point operations
1030                2 instructions, needs 45 streams for full utilization
1031                pipelined
1032
1033Loop  75 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 64
1034       Compiler generated
1035       Loop summary: 1 loads, 1 stores, 0 floating point operations
1036                2 instructions, needs 45 streams for full utilization
1037                pipelined
1038
1039Loop  76 in std::ctype<char>::do_narrow(const char *, const char *, char, char *) const in region 65
1040       In parallel phase 2
1041       Block scheduled
1042       Compiler generated
1043       Loop summary: 1 loads, 1 stores, 0 floating point operations
1044                2 instructions, needs 45 streams for full utilization
1045                pipelined
1046
1047Loop  77 in std::ctype<char>::do_widen(const char *, const char *, char *) const in region 66
1048       In parallel phase 2
1049       Block scheduled
1050       Compiler generated
1051       Loop summary: 1 loads, 1 stores, 0 floating point operations
1052                2 instructions, needs 45 streams for full utilization
1053                pipelined
1054
1055Parallel region  78 in main
1056       Multiple processor implementation
1057       Requesting at least 45 streams
1058
1059Loop  79 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1060       Expecting 1 iterations
1061       Compiler generated
1062       Loop summary: 1 loads, 1 stores, 0 floating point operations
1063                2 instructions, needs 180 streams for full utilization
1064                pipelined
1065
1066Loop  80 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1067       Expecting 1 iterations
1068       Compiler generated
1069       Loop summary: 1 loads, 1 stores, 0 floating point operations
1070                2 instructions, needs 180 streams for full utilization
1071                pipelined
1072
1073Loop  81 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1074       Expecting 1 iterations
1075       Compiler generated
1076       Loop summary: 1 loads, 1 stores, 0 floating point operations
1077                2 instructions, needs 180 streams for full utilization
1078                pipelined
1079
1080Loop  82 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1081       Loop not pipelined: not structurally ok
1082       Scheduled to minimize serial time
1083       Compiler generated
1084       Loop summary: 19 instructions, 0 floating point operations
1085                2 loads, 1 stores, 4 reloads, 0 spills, 5 branches, 1 calls
1086
1087Loop  83 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in region 50
1088       In parallel phase 2
1089       Dynamically scheduled, variable chunks, min size = 13
1090       Compiler generated
1091
1092Loop  84 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1093       Loop not pipelined: not structurally ok
1094       Scheduled to minimize serial time
1095       Compiler generated
1096       Loop summary: 19 instructions, 0 floating point operations
1097                2 loads, 1 stores, 4 reloads, 0 spills, 5 branches, 1 calls
1098
1099Loop  85 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1100       Loop not pipelined: not structurally ok
1101       Scheduled to minimize serial time
1102       Compiler generated
1103       Loop summary: 19 instructions, 0 floating point operations
1104                2 loads, 1 stores, 4 reloads, 0 spills, 5 branches, 1 calls
1105
1106Loop  86 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1107       Loop not pipelined: not structurally ok
1108       Scheduled to minimize serial time
1109       Compiler generated
1110       Loop summary: 32 instructions, 0 floating point operations
1111                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1112
1113Loop  87 in std::ctype<char>::do_narrow(const char *, const char *, char, char *) const
1114       Expecting 1 iterations
1115       Compiler generated
1116       Loop summary: 1 loads, 1 stores, 0 floating point operations
1117                2 instructions, needs 180 streams for full utilization
1118                pipelined
1119
1120Loop  88 in std::ctype<char>::do_widen(const char *, const char *, char *) const
1121       Expecting 1 iterations
1122       Compiler generated
1123       Loop summary: 1 loads, 1 stores, 0 floating point operations
1124                2 instructions, needs 180 streams for full utilization
1125                pipelined
1126
1127Loop  89 in main in region 78
1128       In parallel phase 3
1129       Dynamically scheduled, variable chunks, min size = 11
1130       Compiler generated
1131
1132Loop  90 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1133       Expecting 1 iterations
1134       Compiler generated
1135       Loop summary: 1 loads, 1 stores, 0 floating point operations
1136                2 instructions, needs 180 streams for full utilization
1137                pipelined
1138
1139Loop  91 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1140       Expecting 1 iterations
1141       Compiler generated
1142       Loop summary: 1 loads, 1 stores, 0 floating point operations
1143                2 instructions, needs 180 streams for full utilization
1144                pipelined
1145
1146Loop  92 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1147       Expecting 1 iterations
1148       Compiler generated
1149       Loop summary: 1 loads, 1 stores, 0 floating point operations
1150                2 instructions, needs 180 streams for full utilization
1151                pipelined
1152
1153Loop  93 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1154       Loop not pipelined: not structurally ok
1155       Scheduled to minimize serial time
1156       Compiler generated
1157       Loop summary: 32 instructions, 0 floating point operations
1158                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1159
1160Loop  94 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 83
1161       Compiler generated
1162       Loop summary: 1 loads, 1 stores, 0 floating point operations
1163                2 instructions, needs 45 streams for full utilization
1164                pipelined
1165
1166Loop  95 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1167       Loop not pipelined: not structurally ok
1168       Scheduled to minimize serial time
1169       Compiler generated
1170       Loop summary: 32 instructions, 0 floating point operations
1171                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1172
1173Loop  96 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1174       Loop not pipelined: not structurally ok
1175       Scheduled to minimize serial time
1176       Compiler generated
1177       Loop summary: 32 instructions, 0 floating point operations
1178                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1179
1180Loop  97 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1181       Loop not pipelined: not structurally ok
1182       Scheduled to minimize serial time
1183       Compiler generated
1184       Loop summary: 33 instructions, 0 floating point operations
1185                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1186
1187Loop  98 in main at line 131 in loop 89
1188       Loop summary: 2 loads, 0 stores, 0 floating point operations
1189                2 instructions, needs 45 streams for full utilization
1190                pipelined
1191
1192Parallel region  99 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1193       Multiple processor implementation
1194       Requesting at least 45 streams
1195
1196Parallel region 100 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1197       Multiple processor implementation
1198       Requesting at least 45 streams
1199
1200Parallel region 101 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1201       Multiple processor implementation
1202       Requesting at least 45 streams
1203
1204Loop 102 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1205       Loop not pipelined: not structurally ok
1206       Scheduled to minimize serial time
1207       Compiler generated
1208       Loop summary: 32 instructions, 0 floating point operations
1209                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1210
1211Loop 103 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1212       Loop not pipelined: not structurally ok
1213       Scheduled to minimize serial time
1214       Compiler generated
1215       Loop summary: 33 instructions, 0 floating point operations
1216                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1217
1218Loop 104 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1219       Loop not pipelined: not structurally ok
1220       Scheduled to minimize serial time
1221       Compiler generated
1222       Loop summary: 33 instructions, 0 floating point operations
1223                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1224
1225Loop 105 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1226       Loop not pipelined: not structurally ok
1227       Scheduled to minimize serial time
1228       Compiler generated
1229       Loop summary: 33 instructions, 0 floating point operations
1230                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1231
1232Loop 106 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, bool) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1233       Loop not pipelined: not structurally ok
1234       Scheduled to minimize serial time
1235       Compiler generated
1236       Loop summary: 32 instructions, 0 floating point operations
1237                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1238
1239Parallel region 107 in main
1240       Multiple processor implementation
1241       Requesting at least 45 streams
1242
1243Loop 108 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in region 99
1244       In parallel phase 3
1245       Dynamically scheduled, variable chunks, min size = 13
1246       Compiler generated
1247
1248Loop 109 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in region 100
1249       In parallel phase 3
1250       Dynamically scheduled, variable chunks, min size = 13
1251       Compiler generated
1252
1253Loop 110 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in region 101
1254       In parallel phase 3
1255       Dynamically scheduled, variable chunks, min size = 13
1256       Compiler generated
1257
1258Loop 111 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1259       Loop not pipelined: not structurally ok
1260       Scheduled to minimize serial time
1261       Compiler generated
1262       Loop summary: 32 instructions, 0 floating point operations
1263                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1264
1265Loop 112 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1266       Loop not pipelined: not structurally ok
1267       Scheduled to minimize serial time
1268       Compiler generated
1269       Loop summary: 30 instructions, 0 floating point operations
1270                9 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1271
1272Loop 113 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1273       Loop not pipelined: not structurally ok
1274       Scheduled to minimize serial time
1275       Compiler generated
1276       Loop summary: 32 instructions, 0 floating point operations
1277                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1278
1279Loop 114 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1280       Loop not pipelined: not structurally ok
1281       Scheduled to minimize serial time
1282       Compiler generated
1283       Loop summary: 32 instructions, 0 floating point operations
1284                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1285
1286Loop 115 in main in region 107
1287       In parallel phase 4
1288       Dynamically scheduled, variable chunks, min size = 11
1289       Compiler generated
1290
1291Loop 116 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in loop 108
1292       Compiler generated
1293       Loop summary: 1 loads, 1 stores, 0 floating point operations
1294                2 instructions, needs 45 streams for full utilization
1295                pipelined
1296
1297Loop 117 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in loop 109
1298       Compiler generated
1299       Loop summary: 1 loads, 1 stores, 0 floating point operations
1300                2 instructions, needs 45 streams for full utilization
1301                pipelined
1302
1303Loop 118 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in loop 110
1304       Compiler generated
1305       Loop summary: 1 loads, 1 stores, 0 floating point operations
1306                2 instructions, needs 45 streams for full utilization
1307                pipelined
1308
1309Loop 119 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1310       Compiler generated
1311
1312Loop 120 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 119
1313       Completely unrolled
1314       Single iteration loop removed
1315       Compiler generated
1316
1317Loop 121 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1318       Loop not pipelined: not structurally ok
1319       Scheduled to minimize serial time
1320       Compiler generated
1321       Loop summary: 30 instructions, 0 floating point operations
1322                9 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1323
1324Loop 122 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1325       Compiler generated
1326
1327Loop 123 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 122
1328       Completely unrolled
1329       Single iteration loop removed
1330       Compiler generated
1331
1332Loop 124 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1333       Compiler generated
1334
1335Loop 125 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 124
1336       Completely unrolled
1337       Single iteration loop removed
1338       Compiler generated
1339
1340Loop 126 in main at line 146 in loop 115
1341       Loop summary: 2 loads, 0 stores, 0 floating point operations
1342                2 instructions, needs 45 streams for full utilization
1343                pipelined
1344
1345Parallel region 127 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1346       Multiple processor implementation
1347       Requesting at least 45 streams
1348
1349Parallel region 128 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1350       Multiple processor implementation
1351       Requesting at least 45 streams
1352
1353Parallel region 129 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1354       Multiple processor implementation
1355       Requesting at least 45 streams
1356
1357Loop 130 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 119
1358       Compiler generated
1359
1360Loop 131 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1361       Loop not pipelined: not structurally ok
1362       Scheduled to minimize serial time
1363       Compiler generated
1364       Loop summary: 32 instructions, 0 floating point operations
1365                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1366
1367Loop 132 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 122
1368       Compiler generated
1369
1370Loop 133 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 124
1371       Compiler generated
1372
1373Parallel region 134 in main
1374       Multiple processor implementation
1375       Requesting at least 60 streams
1376
1377Loop 135 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in region 127
1378       In parallel phase 4
1379       Block scheduled
1380       Compiler generated
1381       Loop summary: 1 loads, 1 stores, 0 floating point operations
1382                2 instructions, needs 45 streams for full utilization
1383                pipelined
1384
1385Loop 136 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in region 128
1386       In parallel phase 4
1387       Block scheduled
1388       Compiler generated
1389       Loop summary: 1 loads, 1 stores, 0 floating point operations
1390                2 instructions, needs 45 streams for full utilization
1391                pipelined
1392
1393Loop 137 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in region 129
1394       In parallel phase 4
1395       Block scheduled
1396       Compiler generated
1397       Loop summary: 1 loads, 1 stores, 0 floating point operations
1398                2 instructions, needs 45 streams for full utilization
1399                pipelined
1400
1401Loop 138 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 130
1402       Loop not pipelined: not structurally ok
1403       Scheduled to minimize serial time
1404       Compiler generated
1405       Loop summary: 4 instructions, 0 floating point operations
1406                1 loads, 0 stores, 0 reloads, 0 spills, 2 branches, 0 calls
1407
1408Loop 139 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1409       Loop not pipelined: not structurally ok
1410       Scheduled to minimize serial time
1411       Compiler generated
1412       Loop summary: 30 instructions, 0 floating point operations
1413                9 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1414
1415Loop 140 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 132
1416       Loop not pipelined: not structurally ok
1417       Scheduled to minimize serial time
1418       Compiler generated
1419       Loop summary: 4 instructions, 0 floating point operations
1420                1 loads, 0 stores, 0 reloads, 0 spills, 2 branches, 0 calls
1421
1422Loop 141 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 133
1423       Loop not pipelined: not structurally ok
1424       Scheduled to minimize serial time
1425       Compiler generated
1426       Loop summary: 4 instructions, 0 floating point operations
1427                1 loads, 0 stores, 0 reloads, 0 spills, 2 branches, 0 calls
1428
1429Loop 142 in main at line 173 in region 134
1430       In parallel phase 5
1431       Dynamically scheduled
1432       Loop not pipelined: not structurally ok
1433       Loop summary: 22 instructions, 0 floating point operations
1434                0 loads, 4 stores, 4 reloads, 1 spills, 5 branches, 2 calls
1435
1436Loop 143 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1437       Expecting 1 iterations
1438       Compiler generated
1439       Loop summary: 1 loads, 1 stores, 0 floating point operations
1440                2 instructions, needs 180 streams for full utilization
1441                pipelined
1442
1443Loop 144 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1444       Expecting 1 iterations
1445       Compiler generated
1446       Loop summary: 1 loads, 1 stores, 0 floating point operations
1447                2 instructions, needs 180 streams for full utilization
1448                pipelined
1449
1450Loop 145 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1451       Expecting 1 iterations
1452       Compiler generated
1453       Loop summary: 1 loads, 1 stores, 0 floating point operations
1454                2 instructions, needs 180 streams for full utilization
1455                pipelined
1456
1457Loop 146 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 119
1458       Loop not pipelined: not structurally ok
1459       Scheduled to minimize serial time
1460       Compiler generated
1461       Loop summary: 33 instructions, 0 floating point operations
1462                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1463
1464Loop 147 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1465       Loop not pipelined: not structurally ok
1466       Scheduled to minimize serial time
1467       Compiler generated
1468       Loop summary: 33 instructions, 0 floating point operations
1469                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1470
1471Loop 148 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 122
1472       Loop not pipelined: not structurally ok
1473       Scheduled to minimize serial time
1474       Compiler generated
1475       Loop summary: 33 instructions, 0 floating point operations
1476                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1477
1478Loop 149 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>] in loop 124
1479       Loop not pipelined: not structurally ok
1480       Scheduled to minimize serial time
1481       Compiler generated
1482       Loop summary: 33 instructions, 0 floating point operations
1483                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1484
1485Parallel region 150 in main
1486       Multiple processor implementation
1487       Requesting at least 43 streams
1488
1489Loop 151 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1490       Expecting 1 iterations
1491       Compiler generated
1492       Loop summary: 1 loads, 1 stores, 0 floating point operations
1493                2 instructions, needs 180 streams for full utilization
1494                pipelined
1495
1496Loop 152 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1497       Expecting 1 iterations
1498       Compiler generated
1499       Loop summary: 1 loads, 1 stores, 0 floating point operations
1500                2 instructions, needs 180 streams for full utilization
1501                pipelined
1502
1503Loop 153 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1504       Expecting 1 iterations
1505       Compiler generated
1506       Loop summary: 1 loads, 1 stores, 0 floating point operations
1507                2 instructions, needs 180 streams for full utilization
1508                pipelined
1509
1510Loop 154 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1511       Loop not pipelined: not structurally ok
1512       Scheduled to minimize serial time
1513       Compiler generated
1514       Loop summary: 32 instructions, 0 floating point operations
1515                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1516
1517Loop 155 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1518       Loop not pipelined: not structurally ok
1519       Scheduled to minimize serial time
1520       Compiler generated
1521       Loop summary: 30 instructions, 0 floating point operations
1522                9 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1523
1524Loop 156 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1525       Loop not pipelined: not structurally ok
1526       Scheduled to minimize serial time
1527       Compiler generated
1528       Loop summary: 33 instructions, 0 floating point operations
1529                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1530
1531Loop 157 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1532       Loop not pipelined: not structurally ok
1533       Scheduled to minimize serial time
1534       Compiler generated
1535       Loop summary: 33 instructions, 0 floating point operations
1536                12 loads, 4 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1537
1538Loop 158 in main in region 150
1539       In parallel phase 6
1540       Dynamically scheduled, variable chunks, min size = 26
1541       Compiler generated
1542
1543Parallel region 159 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1544       Multiple processor implementation
1545       Requesting at least 45 streams
1546
1547Parallel region 160 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1548       Multiple processor implementation
1549       Requesting at least 45 streams
1550
1551Parallel region 161 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1552       Multiple processor implementation
1553       Requesting at least 45 streams
1554
1555Loop 162 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, const void *) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1556       Loop not pipelined: not structurally ok
1557       Scheduled to minimize serial time
1558       Compiler generated
1559       Loop summary: 32 instructions, 0 floating point operations
1560                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1561
1562Loop 163 in T2 std::num_put<T1, T2>::_Fput(T2, std::ios_base &, T1, const char *, unsigned long, unsigned long, unsigned long, unsigned long) [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1563       Loop not pipelined: not structurally ok
1564       Scheduled to minimize serial time
1565       Compiler generated
1566       Loop summary: 33 instructions, 0 floating point operations
1567                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1568
1569Loop 164 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, unsigned long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1570       Loop not pipelined: not structurally ok
1571       Scheduled to minimize serial time
1572       Compiler generated
1573       Loop summary: 32 instructions, 0 floating point operations
1574                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1575
1576Loop 165 in T2 std::num_put<T1, T2>::do_put(T2, std::ios_base &, T1, long) const [with T1=char, T2=std::ostreambuf_iterator<char, std::char_traits<char>>]
1577       Loop not pipelined: not structurally ok
1578       Scheduled to minimize serial time
1579       Compiler generated
1580       Loop summary: 32 instructions, 0 floating point operations
1581                10 loads, 3 stores, 0 reloads, 0 spills, 6 branches, 1 calls
1582
1583Loop 166 in main at line 184 in loop 158
1584       Loop summary: 1 loads, 2 stores, 0 floating point operations
1585                3 instructions, needs 44 streams for full utilization
1586                pipelined
1587
1588Loop 167 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in region 159
1589       In parallel phase 5
1590       Dynamically scheduled, variable chunks, min size = 13
1591       Compiler generated
1592
1593Loop 168 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in region 160
1594       In parallel phase 5
1595       Dynamically scheduled, variable chunks, min size = 13
1596       Compiler generated
1597
1598Loop 169 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in region 161
1599       In parallel phase 5
1600       Dynamically scheduled, variable chunks, min size = 13
1601       Compiler generated
1602
1603Parallel region 170 in main
1604       Multiple processor implementation
1605       Requesting at least 43 streams
1606
1607Loop 171 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in loop 167
1608       Compiler generated
1609       Loop summary: 1 loads, 1 stores, 0 floating point operations
1610                2 instructions, needs 45 streams for full utilization
1611                pipelined
1612
1613Loop 172 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in loop 168
1614       Compiler generated
1615       Loop summary: 1 loads, 1 stores, 0 floating point operations
1616                2 instructions, needs 45 streams for full utilization
1617                pipelined
1618
1619Loop 173 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in loop 169
1620       Compiler generated
1621       Loop summary: 1 loads, 1 stores, 0 floating point operations
1622                2 instructions, needs 45 streams for full utilization
1623                pipelined
1624
1625Loop 174 in main in region 170
1626       In parallel phase 7
1627       Dynamically scheduled, variable chunks, min size = 8
1628       Compiler generated
1629
1630Parallel region 175 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1631       Multiple processor implementation
1632       Requesting at least 45 streams
1633
1634Parallel region 176 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1635       Multiple processor implementation
1636       Requesting at least 45 streams
1637
1638Parallel region 177 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1639       Multiple processor implementation
1640       Requesting at least 45 streams
1641
1642Loop 178 in main at line 198 in loop 174
1643       Loop summary: 3 loads, 0 stores, 0 floating point operations
1644                3 instructions, needs 44 streams for full utilization
1645                pipelined
1646
1647Loop 179 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char] in region 175
1648       In parallel phase 6
1649       Block scheduled
1650       Compiler generated
1651       Loop summary: 1 loads, 1 stores, 0 floating point operations
1652                2 instructions, needs 45 streams for full utilization
1653                pipelined
1654
1655Loop 180 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char] in region 176
1656       In parallel phase 6
1657       Block scheduled
1658       Compiler generated
1659       Loop summary: 1 loads, 1 stores, 0 floating point operations
1660                2 instructions, needs 45 streams for full utilization
1661                pipelined
1662
1663Loop 181 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char] in region 177
1664       In parallel phase 6
1665       Block scheduled
1666       Compiler generated
1667       Loop summary: 1 loads, 1 stores, 0 floating point operations
1668                2 instructions, needs 45 streams for full utilization
1669                pipelined
1670
1671Parallel region 182 in main
1672       Multiple processor implementation
1673       Requesting at least 43 streams
1674
1675Loop 183 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_truename() const [with T1=char]
1676       Expecting 1 iterations
1677       Compiler generated
1678       Loop summary: 1 loads, 1 stores, 0 floating point operations
1679                2 instructions, needs 180 streams for full utilization
1680                pipelined
1681
1682Loop 184 in std::basic_string<T1, std::char_traits<T1>, std::allocator<T1>> std::numpunct<T1>::do_falsename() const [with T1=char]
1683       Expecting 1 iterations
1684       Compiler generated
1685       Loop summary: 1 loads, 1 stores, 0 floating point operations
1686                2 instructions, needs 180 streams for full utilization
1687                pipelined
1688
1689Loop 185 in std::basic_string<char, std::char_traits<char>, std::allocator<char>> std::numpunct<T1>::do_grouping() const [with T1=char]
1690       Expecting 1 iterations
1691       Compiler generated
1692       Loop summary: 1 loads, 1 stores, 0 floating point operations
1693                2 instructions, needs 180 streams for full utilization
1694                pipelined
1695
1696Loop 186 in main in region 182
1697       In parallel phase 8
1698       Dynamically scheduled, variable chunks, min size = 8
1699       Compiler generated
1700
1701Loop 187 in main at line 213 in loop 186
1702       Loop summary: 3 loads, 0 stores, 0 floating point operations
1703                3 instructions, needs 44 streams for full utilization
1704                pipelined
1705
1706Parallel region 188 in main
1707       Multiple processor implementation
1708       Requesting at least 60 streams
1709
1710Loop 189 in main in region 188
1711       In parallel phase 9
1712       Dynamically scheduled, variable chunks, min size = 1
1713       Compiler generated
1714
1715Loop 190 in main at line 225 in loop 189
1716       Loop not pipelined: not structurally ok
1717       Loop summary: 6 instructions, 0 floating point operations
1718                1 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls
1719
1720Parallel region 191 in main
1721       Multiple processor implementation
1722       Requesting at least 60 streams
1723
1724Loop 192 in main at line 241 in region 191
1725       In parallel phase 10
1726       Dynamically scheduled
1727       Loop not pipelined: not structurally ok
1728       Loop summary: 22 instructions, 0 floating point operations
1729                0 loads, 4 stores, 4 reloads, 1 spills, 5 branches, 2 calls
1730
1731Parallel region 193 in main
1732       Multiple processor implementation
1733       Requesting at least 60 streams
1734
1735Loop 194 in main at line 252 in region 193
1736       In parallel phase 11
1737       Dynamically scheduled
1738       Loop not pipelined: not structurally ok
1739       Loop summary: 22 instructions, 0 floating point operations
1740                0 loads, 4 stores, 4 reloads, 1 spills, 5 branches, 2 calls
1741
1742Parallel region 195 in main
1743       Multiple processor implementation
1744       Requesting at least 43 streams
1745
1746Loop 196 in main in region 195
1747       In parallel phase 12
1748       Dynamically scheduled, variable chunks, min size = 26
1749       Compiler generated
1750
1751Loop 197 in main at line 263 in loop 196
1752       Loop summary: 1 loads, 2 stores, 0 floating point operations
1753                3 instructions, needs 44 streams for full utilization
1754                pipelined
1755
1756Parallel region 198 in main
1757       Multiple processor implementation
1758       Requesting at least 43 streams
1759
1760Loop 199 in main in region 198
1761       In parallel phase 13
1762       Dynamically scheduled, variable chunks, min size = 8
1763       Compiler generated
1764
1765Loop 200 in main at line 277 in loop 199
1766       Loop summary: 3 loads, 0 stores, 0 floating point operations
1767                3 instructions, needs 44 streams for full utilization
1768                pipelined
1769
1770Parallel region 201 in main
1771       Multiple processor implementation
1772       Requesting at least 43 streams
1773
1774Loop 202 in main in region 201
1775       In parallel phase 14
1776       Dynamically scheduled, variable chunks, min size = 8
1777       Compiler generated
1778
1779Loop 203 in main at line 293 in loop 202
1780       Loop summary: 3 loads, 0 stores, 0 floating point operations
1781                3 instructions, needs 44 streams for full utilization
1782                pipelined
1783
1784Parallel region 204 in main
1785       Multiple processor implementation
1786       Requesting at least 43 streams
1787
1788Loop 205 in main in region 204
1789       In parallel phase 15
1790       Dynamically scheduled, variable chunks, min size = 8
1791       Compiler generated
1792
1793Loop 206 in main at line 309 in loop 205
1794       Loop summary: 3 loads, 0 stores, 0 floating point operations
1795                3 instructions, needs 44 streams for full utilization
1796                pipelined
1797
1798Parallel region 207 in main
1799       Multiple processor implementation
1800       Requesting at least 60 streams
1801
1802Loop 208 in main in region 207
1803       In parallel phase 16
1804       Dynamically scheduled, variable chunks, min size = 1
1805       Compiler generated
1806
1807Loop 209 in main at line 326 in loop 208
1808       Loop not pipelined: not structurally ok
1809       Loop summary: 6 instructions, 0 floating point operations
1810                1 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls
1811
1812Parallel region 210 in main
1813       Multiple processor implementation
1814       Requesting at least 60 streams
1815
1816Loop 211 in main in region 210
1817       In parallel phase 17
1818       Dynamically scheduled, variable chunks, min size = 1
1819       Compiler generated
1820
1821Loop 212 in main at line 342 in loop 211
1822       Loop not pipelined: not structurally ok
1823       Loop summary: 6 instructions, 0 floating point operations
1824                1 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls
1825
1826Parallel region 213 in main
1827       Multiple processor implementation
1828       Requesting at least 60 streams
1829
1830Loop 214 in main in region 213
1831       In parallel phase 18
1832       Dynamically scheduled, variable chunks, min size = 1
1833       Compiler generated
1834
1835Loop 215 in main at line 355 in loop 214
1836       Loop not pipelined: not structurally ok
1837       Loop summary: 6 instructions, 0 floating point operations
1838                1 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls
1839
1840Parallel region 216 in main
1841       Multiple processor implementation
1842       Requesting at least 60 streams
1843
1844Loop 217 in main at line 371 in region 216
1845       In parallel phase 19
1846       Dynamically scheduled
1847       Loop not pipelined: not structurally ok
1848       Loop summary: 30 instructions, 0 floating point operations
1849                0 loads, 9 stores, 7 reloads, 1 spills, 6 branches, 2 calls
1850
1851Parallel region 218 in main
1852       Multiple processor implementation
1853       Requesting at least 60 streams
1854
1855Loop 219 in main at line 382 in region 218
1856       In parallel phase 20
1857       Dynamically scheduled
1858       Loop not pipelined: not structurally ok
1859       Loop summary: 30 instructions, 0 floating point operations
1860                0 loads, 9 stores, 7 reloads, 1 spills, 6 branches, 2 calls
1861
1862Parallel region 220 in main
1863       Multiple processor implementation
1864       Requesting at least 43 streams
1865
1866Loop 221 in main in region 220
1867       In parallel phase 21
1868       Dynamically scheduled, variable chunks, min size = 26
1869       Compiler generated
1870
1871Loop 222 in main at line 393 in loop 221
1872       Loop summary: 1 loads, 2 stores, 0 floating point operations
1873                3 instructions, needs 44 streams for full utilization
1874                pipelined
1875
1876Parallel region 223 in main
1877       Multiple processor implementation
1878       Requesting at least 43 streams
1879
1880Loop 224 in main in region 223
1881       In parallel phase 22
1882       Dynamically scheduled, variable chunks, min size = 8
1883       Compiler generated
1884
1885Loop 225 in main at line 407 in loop 224
1886       Loop summary: 3 loads, 0 stores, 0 floating point operations
1887                3 instructions, needs 44 streams for full utilization
1888                pipelined
1889
1890Parallel region 226 in main
1891       Multiple processor implementation
1892       Requesting at least 60 streams
1893
1894Loop 227 in main in region 226
1895       In parallel phase 23
1896       Dynamically scheduled, variable chunks, min size = 1
1897       Compiler generated
1898
1899Loop 228 in main at line 423 in loop 227
1900       Loop not pipelined: not structurally ok
1901       Loop summary: 9 instructions, 0 floating point operations
1902                5 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls
1903
1904Parallel region 229 in main
1905       Multiple processor implementation
1906       Requesting at least 60 streams
1907
1908Loop 230 in main in region 229
1909       In parallel phase 24
1910       Dynamically scheduled, variable chunks, min size = 1
1911       Compiler generated
1912
1913Loop 231 in main at line 439 in loop 230
1914       Loop not pipelined: not structurally ok
1915       Loop summary: 9 instructions, 0 floating point operations
1916                5 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls
1917
1918Parallel region 232 in main
1919       Multiple processor implementation
1920       Requesting at least 60 streams
1921
1922Loop 233 in main in region 232
1923       In parallel phase 25
1924       Dynamically scheduled, variable chunks, min size = 1
1925       Compiler generated
1926
1927Loop 234 in main at line 455 in loop 233
1928       Loop not pipelined: not structurally ok
1929       Loop summary: 9 instructions, 0 floating point operations
1930                5 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls
1931
1932Parallel region 235 in main
1933       Multiple processor implementation
1934       Requesting at least 60 streams
1935
1936Loop 236 in main in region 235
1937       In parallel phase 26
1938       Dynamically scheduled, variable chunks, min size = 1
1939       Compiler generated
1940
1941Loop 237 in main at line 467 in loop 236
1942       Loop not pipelined: not structurally ok
1943       Loop summary: 6 instructions, 0 floating point operations
1944                1 loads, 0 stores, 0 reloads, 0 spills, 1 branches, 1 calls