/* PR tree-optimization/56962 */ extern void abort (void); long long v[144]; __attribute__((noinline, noclone)) void bar (long long *x) { if (x != &v[29]) abort (); } __attribute__((noinline, noclone)) void foo (long long *x, long y, long z) { long long a, b, c; a = x[z * 4 + y * 3]; b = x[z * 5 + y * 3]; c = x[z * 5 + y * 4]; x[y * 4] = a; bar (&x[z * 5 + y]); x[z * 5 + y * 5] = b + c; } int main () { foo (v, 24, 1); return 0; }