1 /* PR tree-optimization/46491 */ 2 /* { dg-do run } */ 3 /* { dg-options "-O2" } */ 4 5 extern void abort (void); 6 7 __attribute__((noinline)) int foo(int * p)8foo (int *p) 9 { 10 int r; 11 asm ("movl $6, (%1)\n\txorl %0, %0" : "=r" (r) : "r" (p) : "memory"); 12 return r; 13 } 14 15 int main(void)16main (void) 17 { 18 int p = 8; 19 if ((foo (&p) ? : p) != 6) 20 abort (); 21 return 0; 22 } 23