blob: 9fbccc36f8291f0074d0253c22b72d57513ff8ac [file] [log] [blame]
/* { 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)" } } */