1 /* PR tree-optimization/67916 */ 2 /* { dg-do run } */ 3 4 int a[6], b = 1, d, e; 5 long long c; 6 static int f = 1; 7 8 void fn1(int p1)9fn1 (int p1) 10 { 11 b = (b >> 1) & (1 ^ a[(1 ^ p1) & 5]); 12 } 13 14 void fn2()15fn2 () 16 { 17 b = (b >> 1) & (1 ^ a[(b ^ 1) & 1]); 18 fn1 (c >> 1 & 5); 19 fn1 (c >> 2 & 5); 20 fn1 (c >> 4 & 5); 21 fn1 (c >> 8 & 5); 22 } 23 24 int main()25main () 26 { 27 int i, j; 28 for (; d;) 29 { 30 for (; e;) 31 fn2 (); 32 f = 0; 33 } 34 for (i = 0; i < 8; i++) 35 { 36 if (f) 37 i = 9; 38 for (j = 0; j < 7; j++) 39 fn2 (); 40 } 41 42 if (b != 0) 43 __builtin_abort (); 44 45 return 0; 46 } 47