| /* { dg-do compile } */ |
| /* { dg-options "-save-temps -O2" } */ |
| |
| /* Test that we emit a sub+subs sequence rather than mov+movk+cmp. */ |
| |
| int |
| foo (int x) |
| { |
| return x == 0x123456; |
| } |
| |
| long long |
| fool (long long x) |
| { |
| return x == 0x123456; |
| } |
| |
| /* { dg-final { scan-assembler-not "cmp\tw\[0-9\]*.*" } } */ |
| /* { dg-final { scan-assembler-not "cmp\tx\[0-9\]*.*" } } */ |
| /* { dg-final { scan-assembler-times "sub\tw\[0-9\]+.*" 1 } } */ |
| /* { dg-final { scan-assembler-times "sub\tx\[0-9\]+.*" 1 } } */ |
| /* { dg-final { scan-assembler-times "subs\tw\[0-9\]+.*" 1 } } */ |
| /* { dg-final { scan-assembler-times "subs\tx\[0-9\]+.*" 1 } } */ |