32 lines
492 B
C
32 lines
492 B
C
|
/* { dg-do compile } */
|
||
|
/* { dg-require-effective-target lp64 } */
|
||
|
/* { dg-options "-O2" } */
|
||
|
|
||
|
long foo1 (long a)
|
||
|
{
|
||
|
long b = a + 1;
|
||
|
if (b != 0)
|
||
|
return b;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
long foo2 (long a)
|
||
|
{
|
||
|
long b = a + 1;
|
||
|
if (b < 0)
|
||
|
return b;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
long foo3 (long a)
|
||
|
{
|
||
|
long b = a + 1;
|
||
|
if (b >= 0)
|
||
|
return b;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
/* { dg-final { scan-assembler "movre\t%" } } */
|
||
|
/* { dg-final { scan-assembler "movrgez\t%" } } */
|
||
|
/* { dg-final { scan-assembler "movrlz\t%" } } */
|