| /* PR tree-optimization/64277 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O3 -Wall -Werror -fdump-tree-cunroll-details" } */ |
| /* { dg-final { scan-tree-dump "loop with 4 iterations completely unrolled" "cunroll" } } */ |
| /* { dg-final { scan-tree-dump "loop with 5 iterations completely unrolled" "cunroll" } } */ |
| |
| #if __SIZEOF_INT__ < 4 |
| __extension__ typedef __INT32_TYPE__ int32_t; |
| #else |
| typedef int int32_t; |
| #endif |
| |
| int32_t f1[10]; |
| void test1 (short a[], short m, unsigned short l) |
| { |
| int32_t i = l; |
| for (i = i + 5; i < m; i++) |
| f1[i] = a[i]++; |
| } |
| |
| void test2 (short a[], short m, short l) |
| { |
| int32_t i; |
| if (m > 5) |
| m = 5; |
| for (i = m; i > l; i--) |
| f1[i] = a[i]++; |
| } |