xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.dg/i386-signbit-3.c (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1 /* PR optimization/8746 */
2 /* { dg-do run { target i?86-*-* } } */
3 /* { dg-options "-O1 -mcpu=i586" } */
4 
5 extern void abort (void);
6 
7 volatile int j;
8 
9 void f0() { j=0; }
10 void f1() { j=1; }
11 
12 int foo(int x)
13 {
14   if ((short int)(x&0x8000) > (short int)0)
15   {
16     f0();
17     return 0;
18   }
19   else
20   {
21     f1();
22     return 1;
23   }
24 }
25 
26 int main(void)
27 {
28   if (foo(0x8000) != 1)
29     abort();
30 
31    return 0;
32 }
33