1 /* PR tree-optimization/56962 */
2 
3 extern void abort (void);
4 long long v[144];
5 
6 __attribute__((noinline, noclone)) void
bar(long long * x)7 bar (long long *x)
8 {
9   if (x != &v[29])
10     abort ();
11 }
12 
13 __attribute__((noinline, noclone)) void
foo(long long * x,long y,long z)14 foo (long long *x, long y, long z)
15 {
16   long long a, b, c;
17   a = x[z * 4 + y * 3];
18   b = x[z * 5 + y * 3];
19   c = x[z * 5 + y * 4];
20   x[y * 4] = a;
21   bar (&x[z * 5 + y]);
22   x[z * 5 + y * 5] = b + c;
23 }
24 
25 int
main()26 main ()
27 {
28   foo (v, 24, 1);
29   return 0;
30 }
31