2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gcc.target / m68k / pr25114.c
blobbb722d9b86eb2ddee628b8e504ca3e014b64e18d
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -m68040" } */
3 /* There should be 16 logical right shift instructions. One for each function*/
4 /* { dg-final { scan-assembler-times "lsr" 16 } } */
6 unsigned int bar (void);
8 #define F(C) void foo##C (void) { unsigned int a = bar (); if (a <= C) bar (); }
9 #define G(C) void foo2##C (void) { unsigned int a = bar (); if (a > C) bar (); }
11 F(0x1)
12 F(0x3)
13 F(0x7)
14 F(0xf)
15 F(0x1f)
16 F(0x3f)
17 F(0x7f)
18 F(0xff)
19 G(0x1)
20 G(0x3)
21 G(0x7)
22 G(0xf)
23 G(0x1f)
24 G(0x3f)
25 G(0x7f)
26 G(0xff)