Add execution + assembler tests of AArch64 TRN Intrinsics.
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / cmp.c
blobee57dd283bf36e1ded718aa16a75f3a5efec234b
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 int
5 cmp_si_test1 (int a, int b, int c)
7 if (a > b)
8 return a + c;
9 else
10 return a + b + c;
13 int
14 cmp_si_test2 (int a, int b, int c)
16 if ((a >> 3) > b)
17 return a + c;
18 else
19 return a + b + c;
22 typedef long long s64;
24 s64
25 cmp_di_test1 (s64 a, s64 b, s64 c)
27 if (a > b)
28 return a + c;
29 else
30 return a + b + c;
33 s64
34 cmp_di_test2 (s64 a, s64 b, s64 c)
36 if ((a >> 3) > b)
37 return a + c;
38 else
39 return a + b + c;
42 int
43 cmp_di_test3 (int a, s64 b, s64 c)
45 if (a > b)
46 return a + c;
47 else
48 return a + b + c;
51 int
52 cmp_di_test4 (int a, s64 b, s64 c)
54 if (((s64)a << 3) > b)
55 return a + c;
56 else
57 return a + b + c;
60 /* { dg-final { scan-assembler-times "cmp\tw\[0-9\]+, w\[0-9\]+" 2 } } */
61 /* { dg-final { scan-assembler-times "cmp\tx\[0-9\]+, x\[0-9\]+" 4 } } */