PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / pr47148.c
blob8363631a9fa0d2d3b31f92424dfdb1ccd266733b
1 /* PR tree-optimization/47148 */
3 static inline unsigned
4 bar (unsigned x, unsigned y)
6 if (y >= 32)
7 return x;
8 else
9 return x >> y;
12 static unsigned a = 1, b = 1;
14 static inline void
15 foo (unsigned char x, unsigned y)
17 if (!y)
18 return;
19 unsigned c = (0x7000U / (x - 2)) ^ a;
20 unsigned d = bar (a, a);
21 b &= ((a - d) && (a - 1)) + c;
24 int
25 main (void)
27 foo (1, 1);
28 foo (-1, 1);
29 if (b && ((unsigned char) -1) == 255)
30 __builtin_abort ();
31 return 0;