1/* PR optimization/8746 */
2/* { dg-do run } */
3/* { dg-require-effective-target ilp32 } */
4/* { dg-options "-O1 -mtune=i586" } */
5
6extern void abort (void);
7
8volatile int j;
9
10void f0() { j=0; }
11void f1() { j=1; }
12
13int 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
27int main(void)
28{
29  if (foo(0x8000) != 1)
30    abort();
31
32   return 0;
33}
34