[obj2yaml] - Fix a comment. NFC.
[llvm-complete.git] / test / MC / ARM / simple-fp-encoding.s
blob74babf9a699a6154f2bbdee6d4b151728a2bc834
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
3 vadd.f64 d16, d17, d16
4 vadd.f32 s0, s1, s0
5 @ CHECK: vadd.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0x71,0xee]
6 @ CHECK: vadd.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x30,0xee]
8 vsub.f64 d16, d17, d16
9 vsub.f32 s0, s1, s0
10 @ CHECK: vsub.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x71,0xee]
11 @ CHECK: vsub.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x30,0xee]
13 vdiv.f64 d16, d17, d16
14 vdiv.f32 s0, s1, s0
15 vdiv.f32 s5, s7
16 vdiv.f64 d5, d7
18 @ CHECK: vdiv.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0xc1,0xee]
19 @ CHECK: vdiv.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x80,0xee]
20 @ CHECK: vdiv.f32 s5, s5, s7 @ encoding: [0xa3,0x2a,0xc2,0xee]
21 @ CHECK: vdiv.f64 d5, d5, d7 @ encoding: [0x07,0x5b,0x85,0xee]
24 vmul.f64 d16, d17, d16
25 vmul.f64 d20, d17
26 vmul.f32 s0, s1, s0
27 vmul.f32 s11, s21
30 @ CHECK: vmul.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0x61,0xee]
31 @ CHECK: vmul.f64 d20, d20, d17 @ encoding: [0xa1,0x4b,0x64,0xee]
32 @ CHECK: vmul.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x20,0xee]
33 @ CHECK: vmul.f32 s11, s11, s21 @ encoding: [0xaa,0x5a,0x65,0xee]
35 vnmul.f64 d16, d17, d16
36 vnmul.f32 s0, s1, s0
38 @ CHECK: vnmul.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x61,0xee]
39 @ CHECK: vnmul.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x20,0xee]
41 vcmp.f64 d17, d16
42 vcmp.f32 s1, s0
44 @ CHECK: vcmp.f64 d17, d16 @ encoding: [0x60,0x1b,0xf4,0xee]
45 @ CHECK: vcmp.f32 s1, s0 @ encoding: [0x40,0x0a,0xf4,0xee]
47 vcmp.f64 d17, #0.0
48 vcmp.f32 s1, #0.0
50 @ CHECK: vcmp.f64 d17, #0 @ encoding: [0x40,0x1b,0xf5,0xee]
51 @ CHECK: vcmp.f32 s1, #0 @ encoding: [0x40,0x0a,0xf5,0xee]
53 vcmpe.f64 d17, d16
54 vcmpe.f32 s1, s0
56 @ CHECK: vcmpe.f64 d17, d16 @ encoding: [0xe0,0x1b,0xf4,0xee]
57 @ CHECK: vcmpe.f32 s1, s0 @ encoding: [0xc0,0x0a,0xf4,0xee]
59 vcmpe.f64 d16, #0
60 vcmpe.f32 s0, #0
62 @ CHECK: vcmpe.f64 d16, #0 @ encoding: [0xc0,0x0b,0xf5,0xee]
63 @ CHECK: vcmpe.f32 s0, #0 @ encoding: [0xc0,0x0a,0xb5,0xee]
65 vabs.f64 d16, d16
66 vabs.f32 s0, s0
68 @ CHECK: vabs.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf0,0xee]
69 @ CHECK: vabs.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb0,0xee]
71 vcvt.f32.f64 s0, d16
72 vcvt.f64.f32 d16, s0
74 @ CHECK: vcvt.f32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xb7,0xee]
75 @ CHECK: vcvt.f64.f32 d16, s0 @ encoding: [0xc0,0x0a,0xf7,0xee]
77 vneg.f64 d16, d16
78 vneg.f32 s0, s0
80 @ CHECK: vneg.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0xee]
81 @ CHECK: vneg.f32 s0, s0 @ encoding: [0x40,0x0a,0xb1,0xee]
83 vsqrt.f64 d16, d16
84 vsqrt.f32 s0, s0
86 @ CHECK: vsqrt.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf1,0xee]
87 @ CHECK: vsqrt.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb1,0xee]
89 vcvt.f64.s32 d16, s0
90 vcvt.f32.s32 s0, s0
91 vcvt.f64.u32 d16, s0
92 vcvt.f32.u32 s0, s0
93 vcvt.s32.f64 s0, d16
94 vcvt.s32.f32 s0, s0
95 vcvt.u32.f64 s0, d16
96 vcvt.u32.f32 s0, s0
98 @ CHECK: vcvt.f64.s32 d16, s0 @ encoding: [0xc0,0x0b,0xf8,0xee]
99 @ CHECK: vcvt.f32.s32 s0, s0 @ encoding: [0xc0,0x0a,0xb8,0xee]
100 @ CHECK: vcvt.f64.u32 d16, s0 @ encoding: [0x40,0x0b,0xf8,0xee]
101 @ CHECK: vcvt.f32.u32 s0, s0 @ encoding: [0x40,0x0a,0xb8,0xee]
102 @ CHECK: vcvt.s32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbd,0xee]
103 @ CHECK: vcvt.s32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbd,0xee]
104 @ CHECK: vcvt.u32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbc,0xee]
105 @ CHECK: vcvt.u32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbc,0xee]
108 vmla.f64 d16, d18, d17
109 vmla.f32 s1, s2, s0
111 @ CHECK: vmla.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x42,0xee]
112 @ CHECK: vmla.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x41,0xee]
114 vmls.f64 d16, d18, d17
115 vmls.f32 s1, s2, s0
117 @ CHECK: vmls.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x42,0xee]
118 @ CHECK: vmls.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x41,0xee]
120 vnmla.f64 d16, d18, d17
121 vnmla.f32 s1, s2, s0
123 @ CHECK: vnmla.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x52,0xee]
124 @ CHECK: vnmla.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x51,0xee]
126 vnmls.f64 d16, d18, d17
127 vnmls.f32 s1, s2, s0
129 @ CHECK: vnmls.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x52,0xee]
130 @ CHECK: vnmls.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x51,0xee]
132 vmrs APSR_nzcv, fpscr
133 vmrs apsr_nzcv, fpscr
134 fmstat
135 vmrs r2, fpsid
136 vmrs r3, FPSID
137 vmrs r4, mvfr0
138 vmrs r5, MVFR1
140 @ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
141 @ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
142 @ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]
143 @ CHECK: vmrs r2, fpsid @ encoding: [0x10,0x2a,0xf0,0xee]
144 @ CHECK: vmrs r3, fpsid @ encoding: [0x10,0x3a,0xf0,0xee]
145 @ CHECK: vmrs r4, mvfr0 @ encoding: [0x10,0x4a,0xf7,0xee]
146 @ CHECK: vmrs r5, mvfr1 @ encoding: [0x10,0x5a,0xf6,0xee]
148 @ CHECK: vnegne.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0x1e]
149 vnegne.f64 d16, d16
151 @ CHECK: vmovne s0, r0 @ encoding: [0x10,0x0a,0x00,0x1e]
152 @ CHECK: vmoveq s0, r1 @ encoding: [0x10,0x1a,0x00,0x0e]
153 vmovne s0, r0
154 vmoveq s0, r1
156 vmov.f32 r1, s2
157 vmov.f32 s4, r3
158 vmov.f64 r1, r5, d2
159 vmov.f64 d4, r3, r9
161 @ CHECK: vmov r1, s2 @ encoding: [0x10,0x1a,0x11,0xee]
162 @ CHECK: vmov s4, r3 @ encoding: [0x10,0x3a,0x02,0xee]
163 @ CHECK: vmov r1, r5, d2 @ encoding: [0x12,0x1b,0x55,0xec]
164 @ CHECK: vmov d4, r3, r9 @ encoding: [0x14,0x3b,0x49,0xec]
166 @ CHECK: vmrs r0, fpscr @ encoding: [0x10,0x0a,0xf1,0xee]
167 vmrs r0, fpscr
168 @ CHECK: vmrs r0, fpexc @ encoding: [0x10,0x0a,0xf8,0xee]
169 vmrs r0, fpexc
170 @ CHECK: vmrs r0, fpsid @ encoding: [0x10,0x0a,0xf0,0xee]
171 vmrs r0, fpsid
172 @ CHECK: vmrs r1, fpinst @ encoding: [0x10,0x1a,0xf9,0xee]
173 vmrs r1, fpinst
174 @ CHECK: vmrs r8, fpinst2 @ encoding: [0x10,0x8a,0xfa,0xee]
175 vmrs r8, fpinst2
177 @ CHECK: vmsr fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xee]
178 vmsr fpscr, r0
179 @ CHECK: vmsr fpexc, r0 @ encoding: [0x10,0x0a,0xe8,0xee]
180 vmsr fpexc, r0
181 @ CHECK: vmsr fpsid, r0 @ encoding: [0x10,0x0a,0xe0,0xee]
182 vmsr fpsid, r0
183 @ CHECK: vmsr fpinst, r3 @ encoding: [0x10,0x3a,0xe9,0xee]
184 vmsr fpinst, r3
185 @ CHECK: vmsr fpinst2, r4 @ encoding: [0x10,0x4a,0xea,0xee]
186 vmsr fpinst2, r4
188 vmov.f64 d16, #3.000000e+00
189 vmov.f32 s0, #3.000000e+00
190 vmov.f64 d16, #-3.000000e+00
191 vmov.f32 s0, #-3.000000e+00
193 @ CHECK: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee]
194 @ CHECK: vmov.f32 s0, #3.000000e+00 @ encoding: [0x08,0x0a,0xb0,0xee]
195 @ CHECK: vmov.f64 d16, #-3.000000e+00 @ encoding: [0x08,0x0b,0xf8,0xee]
196 @ CHECK: vmov.f32 s0, #-3.000000e+00 @ encoding: [0x08,0x0a,0xb8,0xee]
198 @ CHECK: vmov s0, r0 @ encoding: [0x10,0x0a,0x00,0xee]
199 @ CHECK: vmov s1, r1 @ encoding: [0x90,0x1a,0x00,0xee]
200 @ CHECK: vmov s2, r2 @ encoding: [0x10,0x2a,0x01,0xee]
201 @ CHECK: vmov s3, r3 @ encoding: [0x90,0x3a,0x01,0xee]
202 vmov s0, r0
203 vmov s1, r1
204 vmov s2, r2
205 vmov s3, r3
207 @ CHECK: vmov r0, s0 @ encoding: [0x10,0x0a,0x10,0xee]
208 @ CHECK: vmov r1, s1 @ encoding: [0x90,0x1a,0x10,0xee]
209 @ CHECK: vmov r2, s2 @ encoding: [0x10,0x2a,0x11,0xee]
210 @ CHECK: vmov r3, s3 @ encoding: [0x90,0x3a,0x11,0xee]
211 vmov r0, s0
212 vmov r1, s1
213 vmov r2, s2
214 vmov r3, s3
216 @ CHECK: vmov r0, r1, d16 @ encoding: [0x30,0x0b,0x51,0xec]
217 vmov r0, r1, d16
219 @ Between two single precision registers and two core registers
220 vmov s3, s4, r1, r2
221 vmov s2, s3, r1, r2
222 vmov r1, r2, s3, s4
223 vmov r1, r2, s2, s3
224 @ CHECK: vmov s3, s4, r1, r2 @ encoding: [0x31,0x1a,0x42,0xec]
225 @ CHECK: vmov s2, s3, r1, r2 @ encoding: [0x11,0x1a,0x42,0xec]
226 @ CHECK: vmov r1, r2, s3, s4 @ encoding: [0x31,0x1a,0x52,0xec]
227 @ CHECK: vmov r1, r2, s2, s3 @ encoding: [0x11,0x1a,0x52,0xec]
229 @ Between one double precision register and two core registers
230 vmov d15, r1, r2
231 vmov d16, r1, r2
232 vmov r1, r2, d15
233 vmov r1, r2, d16
234 @ CHECK: vmov d15, r1, r2 @ encoding: [0x1f,0x1b,0x42,0xec]
235 @ CHECK: vmov d16, r1, r2 @ encoding: [0x30,0x1b,0x42,0xec]
236 @ CHECK: vmov r1, r2, d15 @ encoding: [0x1f,0x1b,0x52,0xec]
237 @ CHECK: vmov r1, r2, d16 @ encoding: [0x30,0x1b,0x52,0xec]
240 @ CHECK: vldr d17, [r0] @ encoding: [0x00,0x1b,0xd0,0xed]
241 @ CHECK: vldr s0, [lr] @ encoding: [0x00,0x0a,0x9e,0xed]
242 @ CHECK: vldr d0, [lr] @ encoding: [0x00,0x0b,0x9e,0xed]
244 vldr.64 d17, [r0]
245 vldr.i32 s0, [lr]
246 vldr.d d0, [lr]
248 @ CHECK: vldr d1, [r2, #32] @ encoding: [0x08,0x1b,0x92,0xed]
249 @ CHECK: vldr d1, [r2, #-32] @ encoding: [0x08,0x1b,0x12,0xed]
250 vldr.64 d1, [r2, #32]
251 vldr.f64 d1, [r2, #-32]
253 @ CHECK: vldr d2, [r3] @ encoding: [0x00,0x2b,0x93,0xed]
254 vldr.64 d2, [r3]
256 @ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]
257 @ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]
258 @ CHECK: vldr d3, [pc, #-0] @ encoding: [0x00,0x3b,0x1f,0xed]
259 vldr.64 d3, [pc]
260 vldr.64 d3, [pc,#0]
261 vldr.64 d3, [pc,#-0]
263 @ CHECK: vldr s13, [r0] @ encoding: [0x00,0x6a,0xd0,0xed]
264 vldr.32 s13, [r0]
266 @ CHECK: vldr s1, [r2, #32] @ encoding: [0x08,0x0a,0xd2,0xed]
267 @ CHECK: vldr s1, [r2, #-32] @ encoding: [0x08,0x0a,0x52,0xed]
268 vldr.32 s1, [r2, #32]
269 vldr.32 s1, [r2, #-32]
271 @ CHECK: vldr s2, [r3] @ encoding: [0x00,0x1a,0x93,0xed]
272 vldr.32 s2, [r3]
274 @ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]
275 @ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]
276 @ CHECK: vldr s5, [pc, #-0] @ encoding: [0x00,0x2a,0x5f,0xed]
277 vldr.32 s5, [pc]
278 vldr.32 s5, [pc,#0]
279 vldr.32 s5, [pc,#-0]
281 @ CHECK: vstr d4, [r1] @ encoding: [0x00,0x4b,0x81,0xed]
282 @ CHECK: vstr d4, [r1, #24] @ encoding: [0x06,0x4b,0x81,0xed]
283 @ CHECK: vstr d4, [r1, #-24] @ encoding: [0x06,0x4b,0x01,0xed]
284 @ CHECK: vstr s0, [lr] @ encoding: [0x00,0x0a,0x8e,0xed]
285 @ CHECK: vstr d0, [lr] @ encoding: [0x00,0x0b,0x8e,0xed]
287 vstr.64 d4, [r1]
288 vstr.64 d4, [r1, #24]
289 vstr.64 d4, [r1, #-24]
290 vstr s0, [lr]
291 vstr d0, [lr]
293 @ CHECK: vstr s4, [r1] @ encoding: [0x00,0x2a,0x81,0xed]
294 @ CHECK: vstr s4, [r1, #24] @ encoding: [0x06,0x2a,0x81,0xed]
295 @ CHECK: vstr s4, [r1, #-24] @ encoding: [0x06,0x2a,0x01,0xed]
296 vstr.32 s4, [r1]
297 vstr.32 s4, [r1, #24]
298 vstr.32 s4, [r1, #-24]
300 @ CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x91,0xec]
301 @ CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x91,0xec]
302 vldmia r1, {d2,d3-d6,d7}
303 vldmia r1, {s2,s3-s6,s7}
305 @ CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x81,0xec]
306 @ CHECK: vstmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x81,0xec]
307 @ CHECK: vpush {d8, d9, d10, d11, d12, d13, d14, d15} @ encoding: [0x10,0x8b,0x2d,0xed]
308 vstmia r1, {d2,d3-d6,d7}
309 vstmia r1, {s2,s3-s6,s7}
310 vstmdb sp!, {q4-q7}
312 fldmiax r5!, {d0-d2}
313 fldmiaxeq r0, {d4,d5}
314 fldmdbxne r5!, {d4,d5,d6}
315 @ CHECK: fldmiax r5!, {d0, d1, d2} @ encoding: [0x07,0x0b,0xb5,0xec]
316 @ CHECK: fldmiaxeq r0, {d4, d5} @ encoding: [0x05,0x4b,0x90,0x0c]
317 @ CHECK: fldmdbxne r5!, {d4, d5, d6} @ encoding: [0x07,0x4b,0x35,0x1d]
319 fstmiax r5!, {d0-d7}
320 fstmiaxeq r4, {d8,d9}
321 fstmdbxne r7!, {d2-d4}
322 @ CHECK: fstmiax r5!, {d0, d1, d2, d3, d4, d5, d6, d7} @ encoding: [0x11,0x0b,0xa5,0xec]
323 @ CHECK: fstmiaxeq r4, {d8, d9} @ encoding: [0x05,0x8b,0x84,0x0c]
324 @ CHECK: fstmdbxne r7!, {d2, d3, d4} @ encoding: [0x07,0x2b,0x27,0x1d]
326 @ CHECK: vcvtr.s32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbd,0xee]
327 @ CHECK: vcvtr.s32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbd,0xee]
328 @ CHECK: vcvtr.u32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbc,0xee]
329 @ CHECK: vcvtr.u32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbc,0xee]
330 vcvtr.s32.f64 s0, d0
331 vcvtr.s32.f32 s0, s1
332 vcvtr.u32.f64 s0, d0
333 vcvtr.u32.f32 s0, s1
335 @ CHECK: vmovne s25, s26, r2, r5
336 vmovne s25, s26, r2, r5 @ encoding: [0x39,0x2a,0x45,0x1c]
338 @ VMOV w/ optional data type suffix.
339 vmov.32 s1, r8
340 vmov.s16 s2, r4
341 vmov.16 s3, r6
342 vmov.u32 s4, r1
343 vmov.p8 s5, r2
344 vmov.8 s6, r3
346 vmov.32 r1, s8
347 vmov.s16 r2, s4
348 vmov.16 r3, s6
349 vmov.u32 r4, s1
350 vmov.p8 r5, s2
351 vmov.8 r6, s3
353 @ CHECK: vmov s1, r8 @ encoding: [0x90,0x8a,0x00,0xee]
354 @ CHECK: vmov s2, r4 @ encoding: [0x10,0x4a,0x01,0xee]
355 @ CHECK: vmov s3, r6 @ encoding: [0x90,0x6a,0x01,0xee]
356 @ CHECK: vmov s4, r1 @ encoding: [0x10,0x1a,0x02,0xee]
357 @ CHECK: vmov s5, r2 @ encoding: [0x90,0x2a,0x02,0xee]
358 @ CHECK: vmov s6, r3 @ encoding: [0x10,0x3a,0x03,0xee]
359 @ CHECK: vmov r1, s8 @ encoding: [0x10,0x1a,0x14,0xee]
360 @ CHECK: vmov r2, s4 @ encoding: [0x10,0x2a,0x12,0xee]
361 @ CHECK: vmov r3, s6 @ encoding: [0x10,0x3a,0x13,0xee]
362 @ CHECK: vmov r4, s1 @ encoding: [0x90,0x4a,0x10,0xee]
363 @ CHECK: vmov r5, s2 @ encoding: [0x10,0x5a,0x11,0xee]
364 @ CHECK: vmov r6, s3 @ encoding: [0x90,0x6a,0x11,0xee]
367 @ VCVT (between floating-point and fixed-point)
368 vcvt.f32.u32 s0, s0, #20
369 vcvt.f64.s32 d0, d0, #32
370 vcvt.f32.u16 s0, s0, #1
371 vcvt.f64.s16 d0, d0, #16
372 vcvt.f32.s32 s1, s1, #20
373 vcvt.f64.u32 d20, d20, #32
374 vcvt.f32.s16 s17, s17, #1
375 vcvt.f64.u16 d23, d23, #16
376 vcvt.u32.f32 s12, s12, #20
377 vcvt.s32.f64 d2, d2, #32
378 vcvt.u16.f32 s28, s28, #1
379 vcvt.s16.f64 d15, d15, #16
380 vcvt.s32.f32 s1, s1, #20
381 vcvt.u32.f64 d20, d20, #32
382 vcvt.s16.f32 s17, s17, #1
383 vcvt.u16.f64 d23, d23, #16
385 @ CHECK: vcvt.f32.u32 s0, s0, #20 @ encoding: [0xc6,0x0a,0xbb,0xee]
386 @ CHECK: vcvt.f64.s32 d0, d0, #32 @ encoding: [0xc0,0x0b,0xba,0xee]
387 @ CHECK: vcvt.f32.u16 s0, s0, #1 @ encoding: [0x67,0x0a,0xbb,0xee]
388 @ CHECK: vcvt.f64.s16 d0, d0, #16 @ encoding: [0x40,0x0b,0xba,0xee]
389 @ CHECK: vcvt.f32.s32 s1, s1, #20 @ encoding: [0xc6,0x0a,0xfa,0xee]
390 @ CHECK: vcvt.f64.u32 d20, d20, #32 @ encoding: [0xc0,0x4b,0xfb,0xee]
391 @ CHECK: vcvt.f32.s16 s17, s17, #1 @ encoding: [0x67,0x8a,0xfa,0xee]
392 @ CHECK: vcvt.f64.u16 d23, d23, #16 @ encoding: [0x40,0x7b,0xfb,0xee]
394 @ CHECK: vcvt.u32.f32 s12, s12, #20 @ encoding: [0xc6,0x6a,0xbf,0xee]
395 @ CHECK: vcvt.s32.f64 d2, d2, #32 @ encoding: [0xc0,0x2b,0xbe,0xee]
396 @ CHECK: vcvt.u16.f32 s28, s28, #1 @ encoding: [0x67,0xea,0xbf,0xee]
397 @ CHECK: vcvt.s16.f64 d15, d15, #16 @ encoding: [0x40,0xfb,0xbe,0xee]
398 @ CHECK: vcvt.s32.f32 s1, s1, #20 @ encoding: [0xc6,0x0a,0xfe,0xee]
399 @ CHECK: vcvt.u32.f64 d20, d20, #32 @ encoding: [0xc0,0x4b,0xff,0xee]
400 @ CHECK: vcvt.s16.f32 s17, s17, #1 @ encoding: [0x67,0x8a,0xfe,0xee]
401 @ CHECK: vcvt.u16.f64 d23, d23, #16 @ encoding: [0x40,0x7b,0xff,0xee]
404 @ Use NEON to load some f32 immediates that don't fit the f8 representation.
405 vmov.f32 d4, #0.0
406 vmov.f32 d4, #32.0
408 @ CHECK: vmov.i32 d4, #0x0 @ encoding: [0x10,0x40,0x80,0xf2]
409 @ CHECK: vmov.i32 d4, #0x42000000 @ encoding: [0x12,0x46,0x84,0xf2]
411 @ Test encoding of floating point constants for vmov functions
412 @ vfp3
413 vmov.f32 s5, #1.0
414 vmov.f32 s5, #0.125
415 vmov.f32 s5, #-1.875
416 vmov.f32 s5, #-0.59375
418 vmov.f64 d6, #1.0
419 vmov.f64 d6, #0.125
420 vmov.f64 d6, #-1.875
421 vmov.f64 d6, #-0.59375
423 @ neon
424 vmov.f32 d7, #1.0
425 vmov.f32 d7, #0.125
426 vmov.f32 d7, #-1.875
427 vmov.f32 d7, #-0.59375
429 vmov.f32 q8, #1.0
430 vmov.f32 q8, #0.125
431 vmov.f32 q8, #-1.875
432 vmov.f32 q8, #-0.59375
434 @ CHECK: vmov.f32 s5, #1.000000e+00 @ encoding: [0x00,0x2a,0xf7,0xee]
435 @ CHECK: vmov.f32 s5, #1.250000e-01 @ encoding: [0x00,0x2a,0xf4,0xee]
436 @ CHECK: vmov.f32 s5, #-1.875000e+00 @ encoding: [0x0e,0x2a,0xff,0xee]
437 @ CHECK: vmov.f32 s5, #-5.937500e-01 @ encoding: [0x03,0x2a,0xfe,0xee]
439 @ CHECK: vmov.f64 d6, #1.000000e+00 @ encoding: [0x00,0x6b,0xb7,0xee]
440 @ CHECK: vmov.f64 d6, #1.250000e-01 @ encoding: [0x00,0x6b,0xb4,0xee]
441 @ CHECK: vmov.f64 d6, #-1.875000e+00 @ encoding: [0x0e,0x6b,0xbf,0xee]
442 @ CHECK: vmov.f64 d6, #-5.937500e-01 @ encoding: [0x03,0x6b,0xbe,0xee]
444 @ CHECK: vmov.f32 d7, #1.000000e+00 @ encoding: [0x10,0x7f,0x87,0xf2]
445 @ CHECK: vmov.f32 d7, #1.250000e-01 @ encoding: [0x10,0x7f,0x84,0xf2]
446 @ CHECK: vmov.f32 d7, #-1.875000e+00 @ encoding: [0x1e,0x7f,0x87,0xf3]
447 @ CHECK: vmov.f32 d7, #-5.937500e-01 @ encoding: [0x13,0x7f,0x86,0xf3]
449 @ CHECK: vmov.f32 q8, #1.000000e+00 @ encoding: [0x50,0x0f,0xc7,0xf2]
450 @ CHECK: vmov.f32 q8, #1.250000e-01 @ encoding: [0x50,0x0f,0xc4,0xf2]
451 @ CHECK: vmov.f32 q8, #-1.875000e+00 @ encoding: [0x5e,0x0f,0xc7,0xf3]
452 @ CHECK: vmov.f32 q8, #-5.937500e-01 @ encoding: [0x53,0x0f,0xc6,0xf3]