/* { dg-do compile } */ /* { dg-options "-O2" } */ /* { dg-additional-options "-march=core2 -mregparm=3" { target ia32 } } */ int foo(int x) { x--; if (x == -1) x = 16; return x; } int bar(int x) { if (x == 0) x = 16; else x--; return x; } #ifdef __x86_64__ long long fool(long long x) { x--; if (x == -1) x = 16; return x; } long long barl(long long x) { if (x == 0) x = 16; else x--; return x; } #endif short foos(short x) { x--; if (x == -1) x = 16; return x; } short bars(short x) { if (x == 0) x = 16; else x--; return x; } /* { dg-final { scan-assembler-not "lea(l|q)" } } */ /* { dg-final { scan-assembler-not "test(l|q|w)" } } */