28 lines
482 B
C
28 lines
482 B
C
|
/* { dg-do compile } */
|
||
|
/* { dg-options "" } */
|
||
|
|
||
|
int
|
||
|
compare_add (int x, int y)
|
||
|
{
|
||
|
int z;
|
||
|
|
||
|
z = x + y;
|
||
|
if (z < 0)
|
||
|
return z;
|
||
|
else
|
||
|
return z + 2;
|
||
|
}
|
||
|
|
||
|
/* Expect assembly like:
|
||
|
|
||
|
addl3 4(%ap),8(%ap),%r0
|
||
|
jlss .L1
|
||
|
addl2 $2,%r0
|
||
|
.L1:
|
||
|
|
||
|
A reverse branch may be used at some optimization levels. */
|
||
|
|
||
|
/* Make sure the comparison is made against 0 rather than -1. */
|
||
|
/* { dg-final { scan-assembler-not "\tj(gtr|leq) " } } */
|
||
|
/* { dg-final { scan-assembler "\tj(geq|lss) " } } */
|