| /* { dg-do compile { target size32plus } } */ |
| /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */ |
| |
| void bar(char *s); |
| int foo1(unsigned short l) |
| { |
| char c[10000] = {}; |
| unsigned short nchar = 9999; |
| |
| while(nchar-- != l) |
| { |
| c[nchar] = 'A'; |
| } |
| |
| bar (c); |
| return 0; |
| } |
| |
| int foo2() |
| { |
| char c[100000] = {}; |
| unsigned short nchar; |
| |
| for (nchar = 0; nchar != 1000; --nchar) |
| { |
| c[nchar] = 'A'; |
| } |
| |
| bar (c); |
| return 0; |
| } |
| |
| int foo3() |
| { |
| char c[100000] = {}; |
| unsigned short nchar; |
| |
| for (nchar = 0; nchar != 1000; nchar += 3) |
| { |
| c[nchar] = 'A'; |
| } |
| |
| bar (c); |
| return 0; |
| } |
| |
| /* { dg-final { scan-tree-dump-times "failed: evolution of offset is not affine" 3 "ldist" } } */ |