/* { 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) " } } */