1 /* { dg-options "-O1" } */
2
3 extern void fn1 (void);
4
5 int a[2], b;
6
7 static void
8 foo (int p)
9 {
10 b = 1 ^ a[(b ^ 1) & 1];
11 b = 1 ^ a[b & 1];
12 if (p)
13 __builtin_abort ();
14 }
15
16 int
17 main ()
18 {
19 foo (0);
20 b = 0;
21 foo (0);
22
23 if (b != 1)
24 __builtin_abort ();
25
26 return 0;
27 }