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 volatile int j;
9 
f0()10 void f0() { j=0; }
f1()11 void f1() { j=1; }
12 
foo(int x)13 int foo(int x)
14 {
15   if ((short int)(x&0x8000) > (short int)0)
16   {
17     f0();
18     return 0;
19   }
20   else
21   {
22     f1();
23     return 1;
24   }
25 }
26 
main(void)27 int main(void)
28 {
29   if (foo(0x8000) != 1)
30     abort();
31 
32    return 0;
33 }
34