1 /* { dg-do compile } */
2 /* { dg-options "-O1" } */
3 
neq(int a,int b)4 int neq (int a, int b)
5 {
6   return a != b;
7 }
8 
eq(int a,int b)9 int eq (int a, int b)
10 {
11   return a == b;
12 }
13 
lt(unsigned int a,unsigned int b)14 int lt (unsigned int a, unsigned int b)
15 {
16   return a < b;
17 }
18 
leq(unsigned int a,unsigned int b)19 int leq (unsigned int a, unsigned int b)
20 {
21   return a <= b;
22 }
23 
geq(unsigned int a,unsigned int b)24 int geq (unsigned int a, unsigned int b)
25 {
26   return a >= b;
27 }
28 
gt(unsigned int a,unsigned int b)29 int gt (unsigned int a, unsigned int b)
30 {
31   return a > b;
32 }
33 
34 /* { dg-final { scan-assembler-times "xor\t%" 2 } } */
35 /* { dg-final { scan-assembler-times "addx\t%" 3 } } */
36 /* { dg-final { scan-assembler-times "subx\t%" 3 } } */
37 /* { dg-final { scan-assembler-times "cmp\t%" 6 } } */
38 /* { dg-final { scan-assembler-not "sra\t%" { target lp64 } } } */
39