1 /* { dg-do compile } */
2 /* { dg-require-effective-target lp64 } */
3 /* { dg-options "-O1 -mno-vis3 -mno-vis4" } */
4
neq(long a,long b)5 long neq (long a, long b)
6 {
7 return a != b;
8 }
9
eq(long a,long b)10 long eq (long a, long b)
11 {
12 return a == b;
13 }
14
lt(unsigned long a,unsigned long b)15 long lt (unsigned long a, unsigned long b)
16 {
17 return a < b;
18 }
19
leq(unsigned long a,unsigned long b)20 long leq (unsigned long a, unsigned long b)
21 {
22 return a <= b;
23 }
24
geq(unsigned long a,unsigned long b)25 long geq (unsigned long a, unsigned long b)
26 {
27 return a >= b;
28 }
29
gt(unsigned long a,unsigned long b)30 long gt (unsigned long a, unsigned long b)
31 {
32 return a > b;
33 }
34
35 /* { dg-final { scan-assembler-times "xor\t%" 2 } } */
36 /* { dg-final { scan-assembler-times "cmp\t%" 4 } } */
37 /* { dg-final { scan-assembler-times "movrne\t%" 1 } } */
38 /* { dg-final { scan-assembler-times "movre\t%" 1 } } */
39 /* { dg-final { scan-assembler-times "movlu\t%" 1 } } */
40 /* { dg-final { scan-assembler-times "movleu\t%" 1 } } */
41 /* { dg-final { scan-assembler-times "movgeu\t%" 1 } } */
42 /* { dg-final { scan-assembler-times "movgu\t%" 1 } } */
43 /* { dg-final { scan-assembler-not "sra\t%" } } */
44 /* { dg-final { scan-assembler-not "and\t%" } } */
45