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