| /* Check that eliminable compare-instructions are eliminated. */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2" } */ |
| /* { dg-final { scan-assembler-not "\tcmp|\ttest" } } */ |
| /* For the f2, we want an andq, not and.w. */ |
| /* { dg-final { scan-assembler "\tandq 20," } } */ |
| /* { dg-final { scan-assembler-not "\tand.w 20," } } */ |
| /* We don't want a move.w that sets condition codes, but it happens for |
| cc0, as the "andq" that is the last insn before the branch, is for an |
| alternative that matches -32..31 and thus marked as clobbering |
| condition codes. */ |
| /* { dg-final { scan-assembler-not "\tmove.w" { xfail cc0 } } } */ |
| |
| #define op & |
| #include "pr93372-16.c" |
| |
| #undef op |
| #define op & 20 & |
| #define f f2 |
| #define g g2 |
| #include "pr93372-16.c" |