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