| /* { dg-do compile } */ |
| /* { dg-options "-O2" } */ |
| |
| /* { dg-final { scan-assembler-times "addq" 16 } } */ |
| /* { dg-final { scan-assembler-times "subq" 16 } } */ |
| /* { dg-final { scan-assembler-times "moveq" 4 } } */ |
| extern int bar (void); |
| |
| #define FOO(x) \ |
| void foo##x (void) { int a = bar (); if (a == x) bar (); } \ |
| void bar##x (void) { int a = bar (); if (a == -x) bar (); } \ |
| void foon##x (void) { int a = bar (); if (a != x) bar (); } \ |
| void barn##x (void) { int a = bar (); if (a != -x) bar (); } \ |
| |
| |
| FOO (1) |
| FOO (2) |
| FOO (3) |
| FOO (4) |
| FOO (5) |
| FOO (6) |
| FOO (7) |
| FOO (8) |
| FOO (9) |
| |
| |