1 /* PR optimization/8746 */ 2 /* { dg-do run } */ 3 /* { dg-require-effective-target ia32 } */ 4 /* { dg-options "-O1 -mtune=i586" } */ 5 6 extern void abort (void); 7 8 unsigned char r0; 9 foo(int x)10int foo(int x) 11 { 12 unsigned char r = x&0xf0; 13 14 if (!(r&0x80)) 15 { 16 r0 = r; 17 return 0; 18 } 19 else 20 return 1; 21 } 22 main(void)23int main(void) 24 { 25 if (foo(0x80) != 1) 26 abort(); 27 28 return 0; 29 } 30