]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/whilege_b32.c
[AArch64] Add support for the SVE2 ACLE
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / aarch64 / sve2 / acle / asm / whilege_b32.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
2
3 #include "test_sve_acle.h"
4
5 /*
6 ** whilege_rr_b32_s32:
7 ** whilege p0\.s, w0, w1
8 ** ret
9 */
10 TEST_COMPARE_S (whilege_rr_b32_s32, int32_t,
11 p0 = svwhilege_b32_s32 (x0, x1),
12 p0 = svwhilege_b32 (x0, x1))
13
14 /*
15 ** whilege_0r_b32_s32:
16 ** whilege p0\.s, wzr, w1
17 ** ret
18 */
19 TEST_COMPARE_S (whilege_0r_b32_s32, int32_t,
20 p0 = svwhilege_b32_s32 (0, x1),
21 p0 = svwhilege_b32 (0, x1))
22
23 /*
24 ** whilege_5r_b32_s32:
25 ** mov (w[0-9]+), #?5
26 ** whilege p0\.s, \1, w1
27 ** ret
28 */
29 TEST_COMPARE_S (whilege_5r_b32_s32, int32_t,
30 p0 = svwhilege_b32_s32 (5, x1),
31 p0 = svwhilege_b32 (5, x1))
32
33 /*
34 ** whilege_r0_b32_s32:
35 ** whilege p0\.s, w0, wzr
36 ** ret
37 */
38 TEST_COMPARE_S (whilege_r0_b32_s32, int32_t,
39 p0 = svwhilege_b32_s32 (x0, 0),
40 p0 = svwhilege_b32 (x0, 0))
41
42 /*
43 ** whilege_r5_b32_s32:
44 ** mov (w[0-9]+), #?5
45 ** whilege p0\.s, w0, \1
46 ** ret
47 */
48 TEST_COMPARE_S (whilege_r5_b32_s32, int32_t,
49 p0 = svwhilege_b32_s32 (x0, 5),
50 p0 = svwhilege_b32 (x0, 5))
51
52 /*
53 ** whilege_rr_b32_s64:
54 ** whilege p0\.s, x0, x1
55 ** ret
56 */
57 TEST_COMPARE_S (whilege_rr_b32_s64, int64_t,
58 p0 = svwhilege_b32_s64 (x0, x1),
59 p0 = svwhilege_b32 (x0, x1))
60
61 /*
62 ** whilege_0r_b32_s64:
63 ** whilege p0\.s, xzr, x1
64 ** ret
65 */
66 TEST_COMPARE_S (whilege_0r_b32_s64, int64_t,
67 p0 = svwhilege_b32_s64 (0, x1),
68 p0 = svwhilege_b32 ((int64_t) 0, x1))
69
70 /*
71 ** whilege_5r_b32_s64:
72 ** mov (x[0-9]+), #?5
73 ** whilege p0\.s, \1, x1
74 ** ret
75 */
76 TEST_COMPARE_S (whilege_5r_b32_s64, int64_t,
77 p0 = svwhilege_b32_s64 (5, x1),
78 p0 = svwhilege_b32 ((int64_t) 5, x1))
79
80 /*
81 ** whilege_r0_b32_s64:
82 ** whilege p0\.s, x0, xzr
83 ** ret
84 */
85 TEST_COMPARE_S (whilege_r0_b32_s64, int64_t,
86 p0 = svwhilege_b32_s64 (x0, 0),
87 p0 = svwhilege_b32 (x0, (int64_t) 0))
88
89 /*
90 ** whilege_r5_b32_s64:
91 ** mov (x[0-9]+), #?5
92 ** whilege p0\.s, x0, \1
93 ** ret
94 */
95 TEST_COMPARE_S (whilege_r5_b32_s64, int64_t,
96 p0 = svwhilege_b32_s64 (x0, 5),
97 p0 = svwhilege_b32 (x0, (int64_t) 5))
98
99 /*
100 ** whilege_rr_b32_u32:
101 ** whilehs p0\.s, w0, w1
102 ** ret
103 */
104 TEST_COMPARE_S (whilege_rr_b32_u32, uint32_t,
105 p0 = svwhilege_b32_u32 (x0, x1),
106 p0 = svwhilege_b32 (x0, x1))
107
108 /*
109 ** whilege_0r_b32_u32:
110 ** whilehs p0\.s, wzr, w1
111 ** ret
112 */
113 TEST_COMPARE_S (whilege_0r_b32_u32, uint32_t,
114 p0 = svwhilege_b32_u32 (0, x1),
115 p0 = svwhilege_b32 ((uint32_t) 0, x1))
116
117 /*
118 ** whilege_5r_b32_u32:
119 ** mov (w[0-9]+), #?5
120 ** whilehs p0\.s, \1, w1
121 ** ret
122 */
123 TEST_COMPARE_S (whilege_5r_b32_u32, uint32_t,
124 p0 = svwhilege_b32_u32 (5, x1),
125 p0 = svwhilege_b32 ((uint32_t) 5, x1))
126
127 /*
128 ** whilege_r5_b32_u32:
129 ** mov (w[0-9]+), #?5
130 ** whilehs p0\.s, w0, \1
131 ** ret
132 */
133 TEST_COMPARE_S (whilege_r5_b32_u32, uint32_t,
134 p0 = svwhilege_b32_u32 (x0, 5),
135 p0 = svwhilege_b32 (x0, (uint32_t) 5))
136
137 /*
138 ** whilege_rr_b32_u64:
139 ** whilehs p0\.s, x0, x1
140 ** ret
141 */
142 TEST_COMPARE_S (whilege_rr_b32_u64, uint64_t,
143 p0 = svwhilege_b32_u64 (x0, x1),
144 p0 = svwhilege_b32 (x0, x1))
145
146 /*
147 ** whilege_0r_b32_u64:
148 ** whilehs p0\.s, xzr, x1
149 ** ret
150 */
151 TEST_COMPARE_S (whilege_0r_b32_u64, uint64_t,
152 p0 = svwhilege_b32_u64 (0, x1),
153 p0 = svwhilege_b32 ((uint64_t) 0, x1))
154
155 /*
156 ** whilege_5r_b32_u64:
157 ** mov (x[0-9]+), #?5
158 ** whilehs p0\.s, \1, x1
159 ** ret
160 */
161 TEST_COMPARE_S (whilege_5r_b32_u64, uint64_t,
162 p0 = svwhilege_b32_u64 (5, x1),
163 p0 = svwhilege_b32 ((uint64_t) 5, x1))
164
165 /*
166 ** whilege_r5_b32_u64:
167 ** mov (x[0-9]+), #?5
168 ** whilehs p0\.s, x0, \1
169 ** ret
170 */
171 TEST_COMPARE_S (whilege_r5_b32_u64, uint64_t,
172 p0 = svwhilege_b32_u64 (x0, 5),
173 p0 = svwhilege_b32 (x0, (uint64_t) 5))