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