Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/c-c++-common/unroll-2.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* { dg-do compile } */ | |
2 /* { dg-options "-O -fdump-tree-cunroll-details -fdump-rtl-loop2_unroll-details" } */ | |
3 | |
4 extern void bar (int); | |
5 | |
6 int j; | |
7 | |
8 void test (void) | |
9 { | |
10 #pragma GCC unroll 8 | |
11 for (unsigned long i = 1; i <= 8; ++i) | |
12 bar(i); | |
13 /* { dg-final { scan-tree-dump "11:.*: loop with 7 iterations completely unrolled" "cunroll" } } */ | |
14 | |
15 #pragma GCC unroll 8 | |
16 for (unsigned long i = 1; i <= 7; ++i) | |
17 bar(i); | |
18 /* { dg-final { scan-tree-dump "16:.*: loop with 6 iterations completely unrolled" "cunroll" } } */ | |
19 | |
20 #pragma GCC unroll 8 | |
21 for (unsigned long i = 1; i <= 15; ++i) | |
22 bar(i); | |
23 /* { dg-final { scan-rtl-dump "21:.*: optimized: loop unrolled 7 times" "loop2_unroll" } } */ | |
24 | |
25 #pragma GCC unroll 8 | |
26 for (unsigned long i = 1; i <= j; ++i) | |
27 bar(i); | |
28 /* { dg-final { scan-rtl-dump "26:.*: optimized: loop unrolled 7 times" "loop2_unroll" } } */ | |
29 | |
30 #pragma GCC unroll 7 | |
31 for (unsigned long i = 1; i <= j; ++i) | |
32 bar(i); | |
33 /* { dg-final { scan-rtl-dump "31:.*: optimized: loop unrolled 3 times" "loop2_unroll" } } */ | |
34 | |
35 unsigned long i = 0; | |
36 #pragma GCC unroll 3 | |
37 do { | |
38 bar(i); | |
39 } while (++i < 9); | |
40 /* { dg-final { scan-rtl-dump "3\[79\]:.*: optimized: loop unrolled 2 times" "loop2_unroll" } } */ | |
41 } |