1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 /* { dg-require-effective-target lp64 } */
4
foo1(long a)5 long foo1 (long a)
6 {
7 long b = a + 1;
8 if (b != 0)
9 return b;
10 return 1;
11 }
12
foo2(long a)13 long foo2 (long a)
14 {
15 long b = a + 1;
16 if (b < 0)
17 return b;
18 return 1;
19 }
20
foo3(long a)21 long foo3 (long a)
22 {
23 long b = a + 1;
24 if (b >= 0)
25 return b;
26 return 1;
27 }
28
29 /* { dg-final { scan-assembler "movre\t%" } } */
30 /* { dg-final { scan-assembler "movrgez\t%" } } */
31 /* { dg-final { scan-assembler "movrlz\t%" } } */
32