1/* PR tree-optimization/46309 */ 2 3extern void abort (void); 4 5unsigned int *q; 6 7__attribute__((noinline, noclone)) void 8bar (unsigned int *p) 9{ 10 if (*p != 2 && *p != 3) 11 (!(!(*q & 263) || *p != 1)) ? abort () : 0; 12} 13 14int 15main () 16{ 17 unsigned int x, y; 18 asm volatile ("" : : : "memory"); 19 x = 2; 20 bar (&x); 21 x = 3; 22 bar (&x); 23 y = 1; 24 x = 0; 25 q = &y; 26 bar (&x); 27 y = 0; 28 x = 1; 29 bar (&x); 30 return 0; 31} 32