1 @ RUN
: not llvm-mc
-triple armv8a-none-eabi
-mattr
=-fullfp16
,+neon
-show-encoding
< %s
2>&1 | FileCheck
%s
2 @ RUN
: not llvm-mc
-triple armv8a-none-eabi
-mattr
=+fullfp16
,-neon
-show-encoding
< %s
2>&1 | FileCheck
%s
3 @ RUN
: not llvm-mc
-triple thumbv8a-none-eabi
-mattr
=-fullfp16
,+neon
-show-encoding
< %s
2>&1 | FileCheck
%s
4 @ RUN
: not llvm-mc
-triple thumbv8a-none-eabi
-mattr
=+fullfp16
,-neon
-show-encoding
< %s
2>&1 | FileCheck
%s
8 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
9 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
13 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
14 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
18 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
19 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
21 vmul.
f16 d1
, d2
, d3
[2]
22 vmul.
f16 q4
, q5
, d6
[3]
23 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
24 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
28 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
29 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
31 vmla.
f16 d5
, d6
, d7
[2]
32 vmla.
f16 q5
, q6
, d7
[3]
33 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
34 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
38 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
39 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
41 vmls.
f16 d5
, d6
, d7
[2]
42 vmls.
f16 q5
, q6
, d7
[3]
43 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
44 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
48 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
49 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
53 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
54 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
58 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
59 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
63 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
64 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
68 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
69 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
73 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
74 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
78 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
79 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
83 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
84 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
88 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
89 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
93 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
94 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
98 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
99 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
103 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
104 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
108 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
109 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
113 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
114 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
118 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
119 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
123 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
124 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
128 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
129 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
133 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
134 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
138 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
139 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
143 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
144 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
146 vmaxnm.
f16 d0
, d1
, d2
147 vmaxnm.
f16 q0
, q1
, q2
148 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
149 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
151 vminnm.
f16 d0
, d1
, d2
152 vminnm.
f16 q0
, q1
, q2
153 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
154 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
157 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
160 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
163 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
167 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
168 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
170 vrecps.
f16 d0
, d1
, d2
171 vrecps.
f16 q0
, q1
, q2
172 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
173 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
177 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
178 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
180 vrsqrts.
f16 d0
, d1
, d2
181 vrsqrts.
f16 q0
, q1
, q2
182 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
183 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
187 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
188 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
198 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
199 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
200 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
201 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
202 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
203 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
204 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
205 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
211 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
212 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
213 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
214 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
220 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
221 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
222 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
223 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
229 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
230 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
231 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
232 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
238 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
239 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
240 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
241 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
244 vcvt.s16.
f16 d0
, d1
, #1
245 vcvt.u16.
f16 d0
, d1
, #2
246 vcvt.f16.s16 d0
, d1
, #3
247 vcvt.f16.u16 d0
, d1
, #4
248 vcvt.s16.
f16 q0
, q1
, #5
249 vcvt.u16.
f16 q0
, q1
, #6
250 vcvt.f16.s16 q0
, q1
, #7
251 vcvt.f16.u16 q0
, q1
, #8
252 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
253 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
254 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
255 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
256 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
257 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
258 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
259 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
261 vrinta.f16.
f16 d0
, d1
262 vrinta.f16.
f16 q0
, q1
263 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
264 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
266 vrintm.f16.
f16 d0
, d1
267 vrintm.f16.
f16 q0
, q1
268 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
269 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
271 vrintn.f16.
f16 d0
, d1
272 vrintn.f16.
f16 q0
, q1
273 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
274 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
276 vrintp.f16.
f16 d0
, d1
277 vrintp.f16.
f16 q0
, q1
278 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
279 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
281 vrintx.f16.
f16 d0
, d1
282 vrintx.f16.
f16 q0
, q1
283 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
284 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
286 vrintz.f16.
f16 d0
, d1
287 vrintz.f16.
f16 q0
, q1
288 @ CHECK
: instruction requires
: {{full half-float|NEON
}}
289 @ CHECK
: instruction requires
: {{full half-float|NEON
}}