]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rhadd_u16.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
10 TEST_UNIFORM_Z (rhadd_u16_m_tied1
, svuint16_t
,
11 z0
= svrhadd_u16_m (p0
, z0
, z1
),
12 z0
= svrhadd_m (p0
, z0
, z1
))
16 ** mov (z[0-9]+)\.d, z0\.d
18 ** urhadd z0\.h, p0/m, z0\.h, \1\.h
21 TEST_UNIFORM_Z (rhadd_u16_m_tied2
, svuint16_t
,
22 z0
= svrhadd_u16_m (p0
, z1
, z0
),
23 z0
= svrhadd_m (p0
, z1
, z0
))
26 ** rhadd_u16_m_untied:
28 ** urhadd z0\.h, p0/m, z0\.h, z2\.h
31 TEST_UNIFORM_Z (rhadd_u16_m_untied
, svuint16_t
,
32 z0
= svrhadd_u16_m (p0
, z1
, z2
),
33 z0
= svrhadd_m (p0
, z1
, z2
))
36 ** rhadd_w0_u16_m_tied1:
37 ** mov (z[0-9]+\.h), w0
38 ** urhadd z0\.h, p0/m, z0\.h, \1
41 TEST_UNIFORM_ZX (rhadd_w0_u16_m_tied1
, svuint16_t
, uint16_t,
42 z0
= svrhadd_n_u16_m (p0
, z0
, x0
),
43 z0
= svrhadd_m (p0
, z0
, x0
))
46 ** rhadd_w0_u16_m_untied:: { xfail *-*-*}
47 ** mov (z[0-9]+\.h), w0
49 ** urhadd z0\.h, p0/m, z0\.h, \1
52 TEST_UNIFORM_ZX (rhadd_w0_u16_m_untied
, svuint16_t
, uint16_t,
53 z0
= svrhadd_n_u16_m (p0
, z1
, x0
),
54 z0
= svrhadd_m (p0
, z1
, x0
))
57 ** rhadd_11_u16_m_tied1:
58 ** mov (z[0-9]+\.h), #11
59 ** urhadd z0\.h, p0/m, z0\.h, \1
62 TEST_UNIFORM_Z (rhadd_11_u16_m_tied1
, svuint16_t
,
63 z0
= svrhadd_n_u16_m (p0
, z0
, 11),
64 z0
= svrhadd_m (p0
, z0
, 11))
67 ** rhadd_11_u16_m_untied:: { xfail *-*-*}
68 ** mov (z[0-9]+\.h), #11
70 ** urhadd z0\.h, p0/m, z0\.h, \1
73 TEST_UNIFORM_Z (rhadd_11_u16_m_untied
, svuint16_t
,
74 z0
= svrhadd_n_u16_m (p0
, z1
, 11),
75 z0
= svrhadd_m (p0
, z1
, 11))
79 ** movprfx z0\.h, p0/z, z0\.h
80 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
83 TEST_UNIFORM_Z (rhadd_u16_z_tied1
, svuint16_t
,
84 z0
= svrhadd_u16_z (p0
, z0
, z1
),
85 z0
= svrhadd_z (p0
, z0
, z1
))
89 ** movprfx z0\.h, p0/z, z0\.h
90 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
93 TEST_UNIFORM_Z (rhadd_u16_z_tied2
, svuint16_t
,
94 z0
= svrhadd_u16_z (p0
, z1
, z0
),
95 z0
= svrhadd_z (p0
, z1
, z0
))
98 ** rhadd_u16_z_untied:
100 ** movprfx z0\.h, p0/z, z1\.h
101 ** urhadd z0\.h, p0/m, z0\.h, z2\.h
103 ** movprfx z0\.h, p0/z, z2\.h
104 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
108 TEST_UNIFORM_Z (rhadd_u16_z_untied
, svuint16_t
,
109 z0
= svrhadd_u16_z (p0
, z1
, z2
),
110 z0
= svrhadd_z (p0
, z1
, z2
))
113 ** rhadd_w0_u16_z_tied1:
114 ** mov (z[0-9]+\.h), w0
115 ** movprfx z0\.h, p0/z, z0\.h
116 ** urhadd z0\.h, p0/m, z0\.h, \1
119 TEST_UNIFORM_ZX (rhadd_w0_u16_z_tied1
, svuint16_t
, uint16_t,
120 z0
= svrhadd_n_u16_z (p0
, z0
, x0
),
121 z0
= svrhadd_z (p0
, z0
, x0
))
124 ** rhadd_w0_u16_z_untied:
125 ** mov (z[0-9]+\.h), w0
127 ** movprfx z0\.h, p0/z, z1\.h
128 ** urhadd z0\.h, p0/m, z0\.h, \1
130 ** movprfx z0\.h, p0/z, \1
131 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
135 TEST_UNIFORM_ZX (rhadd_w0_u16_z_untied
, svuint16_t
, uint16_t,
136 z0
= svrhadd_n_u16_z (p0
, z1
, x0
),
137 z0
= svrhadd_z (p0
, z1
, x0
))
140 ** rhadd_11_u16_z_tied1:
141 ** mov (z[0-9]+\.h), #11
142 ** movprfx z0\.h, p0/z, z0\.h
143 ** urhadd z0\.h, p0/m, z0\.h, \1
146 TEST_UNIFORM_Z (rhadd_11_u16_z_tied1
, svuint16_t
,
147 z0
= svrhadd_n_u16_z (p0
, z0
, 11),
148 z0
= svrhadd_z (p0
, z0
, 11))
151 ** rhadd_11_u16_z_untied:
152 ** mov (z[0-9]+\.h), #11
154 ** movprfx z0\.h, p0/z, z1\.h
155 ** urhadd z0\.h, p0/m, z0\.h, \1
157 ** movprfx z0\.h, p0/z, \1
158 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
162 TEST_UNIFORM_Z (rhadd_11_u16_z_untied
, svuint16_t
,
163 z0
= svrhadd_n_u16_z (p0
, z1
, 11),
164 z0
= svrhadd_z (p0
, z1
, 11))
167 ** rhadd_u16_x_tied1:
168 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
171 TEST_UNIFORM_Z (rhadd_u16_x_tied1
, svuint16_t
,
172 z0
= svrhadd_u16_x (p0
, z0
, z1
),
173 z0
= svrhadd_x (p0
, z0
, z1
))
176 ** rhadd_u16_x_tied2:
177 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
180 TEST_UNIFORM_Z (rhadd_u16_x_tied2
, svuint16_t
,
181 z0
= svrhadd_u16_x (p0
, z1
, z0
),
182 z0
= svrhadd_x (p0
, z1
, z0
))
185 ** rhadd_u16_x_untied:
188 ** urhadd z0\.h, p0/m, z0\.h, z2\.h
191 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
195 TEST_UNIFORM_Z (rhadd_u16_x_untied
, svuint16_t
,
196 z0
= svrhadd_u16_x (p0
, z1
, z2
),
197 z0
= svrhadd_x (p0
, z1
, z2
))
200 ** rhadd_w0_u16_x_tied1:
201 ** mov (z[0-9]+\.h), w0
202 ** urhadd z0\.h, p0/m, z0\.h, \1
205 TEST_UNIFORM_ZX (rhadd_w0_u16_x_tied1
, svuint16_t
, uint16_t,
206 z0
= svrhadd_n_u16_x (p0
, z0
, x0
),
207 z0
= svrhadd_x (p0
, z0
, x0
))
210 ** rhadd_w0_u16_x_untied:
212 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
215 TEST_UNIFORM_ZX (rhadd_w0_u16_x_untied
, svuint16_t
, uint16_t,
216 z0
= svrhadd_n_u16_x (p0
, z1
, x0
),
217 z0
= svrhadd_x (p0
, z1
, x0
))
220 ** rhadd_11_u16_x_tied1:
221 ** mov (z[0-9]+\.h), #11
222 ** urhadd z0\.h, p0/m, z0\.h, \1
225 TEST_UNIFORM_Z (rhadd_11_u16_x_tied1
, svuint16_t
,
226 z0
= svrhadd_n_u16_x (p0
, z0
, 11),
227 z0
= svrhadd_x (p0
, z0
, 11))
230 ** rhadd_11_u16_x_untied:
232 ** urhadd z0\.h, p0/m, z0\.h, z1\.h
235 TEST_UNIFORM_Z (rhadd_11_u16_x_untied
, svuint16_t
,
236 z0
= svrhadd_n_u16_x (p0
, z1
, 11),
237 z0
= svrhadd_x (p0
, z1
, 11))