c++: normalizing ttp constraints [PR115656]
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / pr103316.c
blob9f1ba791cc5553c0d928e32c0a5383664b79922a
1 /* { dg-do compile } */
2 /* { dg-require-effective-target power10_ok } */
3 /* { dg-require-effective-target int128 } */
4 /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
6 vector bool __int128
7 test_eq (vector signed __int128 a, vector signed __int128 b)
9 return a == b;
12 vector bool __int128
13 test_ne (vector signed __int128 a, vector signed __int128 b)
15 return a != b;
18 vector bool __int128
19 test_gt (vector signed __int128 a, vector signed __int128 b)
21 return a > b;
24 vector bool __int128
25 test_ge (vector signed __int128 a, vector signed __int128 b)
27 return a >= b;
30 vector bool __int128
31 test_lt (vector signed __int128 a, vector signed __int128 b)
33 return a < b;
36 vector bool __int128
37 test_le (vector signed __int128 a, vector signed __int128 b)
39 return a <= b;
42 vector bool __int128
43 testu_eq (vector unsigned __int128 a, vector unsigned __int128 b)
45 return a == b;
48 vector bool __int128
49 testu_ne (vector unsigned __int128 a, vector unsigned __int128 b)
51 return a != b;
54 vector bool __int128
55 testu_gt (vector unsigned __int128 a, vector unsigned __int128 b)
57 return a > b;
60 vector bool __int128
61 testu_ge (vector unsigned __int128 a, vector unsigned __int128 b)
63 return a >= b;
66 vector bool __int128
67 testu_lt (vector unsigned __int128 a, vector unsigned __int128 b)
69 return a < b;
72 vector bool __int128
73 testu_le (vector unsigned __int128 a, vector unsigned __int128 b)
75 return a <= b;
78 /* { dg-final { scan-assembler-times "vcmpequq" 4 } } */
79 /* { dg-final { scan-assembler-times "vcmpgtsq" 4 } } */
80 /* { dg-final { scan-assembler-times "vcmpgtuq" 4 } } */
81 /* { dg-final { scan-assembler-times "xxlnor" 6 } } */