| /* PR tree-optimization/109393 */ | |
| /* { dg-do compile } */ | |
| /* { dg-options "-O2 -fdump-tree-optimized" } */ | |
| int foo(int *a, int j) | |
| { | |
| int k = j - 1; | |
| return a[j - 1] == a[k]; | |
| } | |
| int foo2(int *a, int j) | |
| { | |
| int k = j - 5; | |
| return a[j - 5] == a[k]; | |
| } | |
| int bar(int *a, int j) | |
| { | |
| int k = j - 1; | |
| return (&a[j + 1] - 2) == &a[k]; | |
| } | |
| /* The pattern is not applied on ilp32 targets (PR116845). */ | |
| /* { dg-final { scan-tree-dump-times "return 1;" 3 "optimized" { xfail { ilp32 } } } } */ |