457 lines · plain
1@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s2 3 vadd.f64 d16, d17, d164 vadd.f32 s0, s1, s05@ CHECK: vadd.f64 d16, d17, d16 @ encoding: [0xa0,0x0b,0x71,0xee]6@ CHECK: vadd.f32 s0, s1, s0 @ encoding: [0x80,0x0a,0x30,0xee]7 8 vsub.f64 d16, d17, d169 vsub.f32 s0, s1, s010@ CHECK: vsub.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x71,0xee]11@ CHECK: vsub.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x30,0xee]12 13 vdiv.f64 d16, d17, d1614 vdiv.f32 s0, s1, s015 vdiv.f32 s5, s716 vdiv.f64 d5, d717 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]22 23 24 vmul.f64 d16, d17, d1625 vmul.f64 d20, d1726 vmul.f32 s0, s1, s027 vmul.f32 s11, s2128 29 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]34 35 vnmul.f64 d16, d17, d1636 vnmul.f32 s0, s1, s037 vnmul.f64 d0, d138 vnmul.f32 s0, s139 40@ CHECK: vnmul.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x61,0xee]41@ CHECK: vnmul.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x20,0xee]42@ CHECK: vnmul.f64 d0, d0, d1 @ encoding: [0x41,0x0b,0x20,0xee]43@ CHECK: vnmul.f32 s0, s0, s1 @ encoding: [0x60,0x0a,0x20,0xee]44 45 vcmp.f64 d17, d1646 vcmp.f32 s1, s047 48@ CHECK: vcmp.f64 d17, d16 @ encoding: [0x60,0x1b,0xf4,0xee]49@ CHECK: vcmp.f32 s1, s0 @ encoding: [0x40,0x0a,0xf4,0xee]50 51 vcmp.f64 d17, #0.052 vcmp.f32 s1, #0.053 54@ CHECK: vcmp.f64 d17, #0 @ encoding: [0x40,0x1b,0xf5,0xee]55@ CHECK: vcmp.f32 s1, #0 @ encoding: [0x40,0x0a,0xf5,0xee]56 57 vcmpe.f64 d17, d1658 vcmpe.f32 s1, s059 60@ CHECK: vcmpe.f64 d17, d16 @ encoding: [0xe0,0x1b,0xf4,0xee]61@ CHECK: vcmpe.f32 s1, s0 @ encoding: [0xc0,0x0a,0xf4,0xee]62 63 vcmpe.f64 d16, #064 vcmpe.f32 s0, #065 66@ CHECK: vcmpe.f64 d16, #0 @ encoding: [0xc0,0x0b,0xf5,0xee]67@ CHECK: vcmpe.f32 s0, #0 @ encoding: [0xc0,0x0a,0xb5,0xee]68 69 vabs.f64 d16, d1670 vabs.f32 s0, s071 72@ CHECK: vabs.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf0,0xee]73@ CHECK: vabs.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb0,0xee]74 75 vcvt.f32.f64 s0, d1676 vcvt.f64.f32 d16, s077 78@ CHECK: vcvt.f32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xb7,0xee]79@ CHECK: vcvt.f64.f32 d16, s0 @ encoding: [0xc0,0x0a,0xf7,0xee]80 81 vneg.f64 d16, d1682 vneg.f32 s0, s083 84@ CHECK: vneg.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0xee]85@ CHECK: vneg.f32 s0, s0 @ encoding: [0x40,0x0a,0xb1,0xee]86 87 vsqrt.f64 d16, d1688 vsqrt.f32 s0, s089 90@ CHECK: vsqrt.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf1,0xee]91@ CHECK: vsqrt.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb1,0xee]92 93 vcvt.f64.s32 d16, s094 vcvt.f32.s32 s0, s095 vcvt.f64.u32 d16, s096 vcvt.f32.u32 s0, s097 vcvt.s32.f64 s0, d1698 vcvt.s32.f32 s0, s099 vcvt.u32.f64 s0, d16100 vcvt.u32.f32 s0, s0101 102@ CHECK: vcvt.f64.s32 d16, s0 @ encoding: [0xc0,0x0b,0xf8,0xee]103@ CHECK: vcvt.f32.s32 s0, s0 @ encoding: [0xc0,0x0a,0xb8,0xee]104@ CHECK: vcvt.f64.u32 d16, s0 @ encoding: [0x40,0x0b,0xf8,0xee]105@ CHECK: vcvt.f32.u32 s0, s0 @ encoding: [0x40,0x0a,0xb8,0xee]106@ CHECK: vcvt.s32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbd,0xee]107@ CHECK: vcvt.s32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbd,0xee]108@ CHECK: vcvt.u32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xbc,0xee]109@ CHECK: vcvt.u32.f32 s0, s0 @ encoding: [0xc0,0x0a,0xbc,0xee]110 111 112 vmla.f64 d16, d18, d17113 vmla.f32 s1, s2, s0114 115@ CHECK: vmla.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x42,0xee]116@ CHECK: vmla.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x41,0xee]117 118 vmls.f64 d16, d18, d17119 vmls.f32 s1, s2, s0120 121@ CHECK: vmls.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x42,0xee]122@ CHECK: vmls.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x41,0xee]123 124 vnmla.f64 d16, d18, d17125 vnmla.f32 s1, s2, s0126 127@ CHECK: vnmla.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x52,0xee]128@ CHECK: vnmla.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x51,0xee]129 130 vnmls.f64 d16, d18, d17131 vnmls.f32 s1, s2, s0132 133@ CHECK: vnmls.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x52,0xee]134@ CHECK: vnmls.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x51,0xee]135 136 vmrs APSR_nzcv, fpscr137 vmrs apsr_nzcv, fpscr138 fmstat139 vmrs r2, fpsid140 vmrs r3, FPSID141 vmrs r4, mvfr0142 vmrs r5, MVFR1143 144@ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]145@ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]146@ CHECK: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]147@ CHECK: vmrs r2, fpsid @ encoding: [0x10,0x2a,0xf0,0xee]148@ CHECK: vmrs r3, fpsid @ encoding: [0x10,0x3a,0xf0,0xee]149@ CHECK: vmrs r4, mvfr0 @ encoding: [0x10,0x4a,0xf7,0xee]150@ CHECK: vmrs r5, mvfr1 @ encoding: [0x10,0x5a,0xf6,0xee]151 152@ CHECK: vnegne.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0x1e]153 vnegne.f64 d16, d16154 155@ CHECK: vmovne s0, r0 @ encoding: [0x10,0x0a,0x00,0x1e]156@ CHECK: vmoveq s0, r1 @ encoding: [0x10,0x1a,0x00,0x0e]157 vmovne s0, r0158 vmoveq s0, r1159 160 vmov.f32 r1, s2161 vmov.f32 s4, r3162 vmov.f64 r1, r5, d2163 vmov.f64 d4, r3, r9164 165@ CHECK: vmov r1, s2 @ encoding: [0x10,0x1a,0x11,0xee]166@ CHECK: vmov s4, r3 @ encoding: [0x10,0x3a,0x02,0xee]167@ CHECK: vmov r1, r5, d2 @ encoding: [0x12,0x1b,0x55,0xec]168@ CHECK: vmov d4, r3, r9 @ encoding: [0x14,0x3b,0x49,0xec]169 170@ CHECK: vmrs r0, fpscr @ encoding: [0x10,0x0a,0xf1,0xee]171 vmrs r0, fpscr172@ CHECK: vmrs r0, fpexc @ encoding: [0x10,0x0a,0xf8,0xee]173 vmrs r0, fpexc174@ CHECK: vmrs r0, fpsid @ encoding: [0x10,0x0a,0xf0,0xee]175 vmrs r0, fpsid176@ CHECK: vmrs r1, fpinst @ encoding: [0x10,0x1a,0xf9,0xee]177 vmrs r1, fpinst178@ CHECK: vmrs r8, fpinst2 @ encoding: [0x10,0x8a,0xfa,0xee]179 vmrs r8, fpinst2180 181@ CHECK: vmsr fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xee]182 vmsr fpscr, r0183@ CHECK: vmsr fpexc, r0 @ encoding: [0x10,0x0a,0xe8,0xee]184 vmsr fpexc, r0185@ CHECK: vmsr fpsid, r0 @ encoding: [0x10,0x0a,0xe0,0xee]186 vmsr fpsid, r0187@ CHECK: vmsr fpinst, r3 @ encoding: [0x10,0x3a,0xe9,0xee]188 vmsr fpinst, r3 189@ CHECK: vmsr fpinst2, r4 @ encoding: [0x10,0x4a,0xea,0xee]190 vmsr fpinst2, r4191 192 vmov.f64 d16, #3.000000e+00193 vmov.f32 s0, #3.000000e+00194 vmov.f64 d16, #-3.000000e+00195 vmov.f32 s0, #-3.000000e+00196 197@ CHECK: vmov.f64 d16, #3.000000e+00 @ encoding: [0x08,0x0b,0xf0,0xee]198@ CHECK: vmov.f32 s0, #3.000000e+00 @ encoding: [0x08,0x0a,0xb0,0xee]199@ CHECK: vmov.f64 d16, #-3.000000e+00 @ encoding: [0x08,0x0b,0xf8,0xee]200@ CHECK: vmov.f32 s0, #-3.000000e+00 @ encoding: [0x08,0x0a,0xb8,0xee]201 202@ CHECK: vmov s0, r0 @ encoding: [0x10,0x0a,0x00,0xee]203@ CHECK: vmov s1, r1 @ encoding: [0x90,0x1a,0x00,0xee]204@ CHECK: vmov s2, r2 @ encoding: [0x10,0x2a,0x01,0xee]205@ CHECK: vmov s3, r3 @ encoding: [0x90,0x3a,0x01,0xee]206 vmov s0, r0207 vmov s1, r1208 vmov s2, r2209 vmov s3, r3210 211@ CHECK: vmov r0, s0 @ encoding: [0x10,0x0a,0x10,0xee]212@ CHECK: vmov r1, s1 @ encoding: [0x90,0x1a,0x10,0xee]213@ CHECK: vmov r2, s2 @ encoding: [0x10,0x2a,0x11,0xee]214@ CHECK: vmov r3, s3 @ encoding: [0x90,0x3a,0x11,0xee]215 vmov r0, s0216 vmov r1, s1217 vmov r2, s2218 vmov r3, s3219 220@ CHECK: vmov r0, r1, d16 @ encoding: [0x30,0x0b,0x51,0xec]221 vmov r0, r1, d16222 223@ Between two single precision registers and two core registers224 vmov s3, s4, r1, r2225 vmov s2, s3, r1, r2226 vmov r1, r2, s3, s4227 vmov r1, r2, s2, s3228@ CHECK: vmov s3, s4, r1, r2 @ encoding: [0x31,0x1a,0x42,0xec]229@ CHECK: vmov s2, s3, r1, r2 @ encoding: [0x11,0x1a,0x42,0xec]230@ CHECK: vmov r1, r2, s3, s4 @ encoding: [0x31,0x1a,0x52,0xec]231@ CHECK: vmov r1, r2, s2, s3 @ encoding: [0x11,0x1a,0x52,0xec]232 233@ Between one double precision register and two core registers234 vmov d15, r1, r2 235 vmov d16, r1, r2236 vmov r1, r2, d15237 vmov r1, r2, d16238@ CHECK: vmov d15, r1, r2 @ encoding: [0x1f,0x1b,0x42,0xec]239@ CHECK: vmov d16, r1, r2 @ encoding: [0x30,0x1b,0x42,0xec]240@ CHECK: vmov r1, r2, d15 @ encoding: [0x1f,0x1b,0x52,0xec]241@ CHECK: vmov r1, r2, d16 @ encoding: [0x30,0x1b,0x52,0xec]242 243 244@ CHECK: vldr d17, [r0] @ encoding: [0x00,0x1b,0xd0,0xed]245@ CHECK: vldr s0, [lr] @ encoding: [0x00,0x0a,0x9e,0xed]246@ CHECK: vldr d0, [lr] @ encoding: [0x00,0x0b,0x9e,0xed]247 248 vldr.64 d17, [r0]249 vldr.i32 s0, [lr]250 vldr.d d0, [lr]251 252@ CHECK: vldr d1, [r2, #32] @ encoding: [0x08,0x1b,0x92,0xed]253@ CHECK: vldr d1, [r2, #-32] @ encoding: [0x08,0x1b,0x12,0xed]254 vldr.64 d1, [r2, #32]255 vldr.f64 d1, [r2, #-32]256 257@ CHECK: vldr d2, [r3] @ encoding: [0x00,0x2b,0x93,0xed]258 vldr.64 d2, [r3]259 260@ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]261@ CHECK: vldr d3, [pc] @ encoding: [0x00,0x3b,0x9f,0xed]262@ CHECK: vldr d3, [pc, #-0] @ encoding: [0x00,0x3b,0x1f,0xed]263 vldr.64 d3, [pc]264 vldr.64 d3, [pc,#0]265 vldr.64 d3, [pc,#-0]266 267@ CHECK: vldr s13, [r0] @ encoding: [0x00,0x6a,0xd0,0xed]268 vldr.32 s13, [r0]269 270@ CHECK: vldr s1, [r2, #32] @ encoding: [0x08,0x0a,0xd2,0xed]271@ CHECK: vldr s1, [r2, #-32] @ encoding: [0x08,0x0a,0x52,0xed]272 vldr.32 s1, [r2, #32]273 vldr.32 s1, [r2, #-32]274 275@ CHECK: vldr s2, [r3] @ encoding: [0x00,0x1a,0x93,0xed]276 vldr.32 s2, [r3]277 278@ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]279@ CHECK: vldr s5, [pc] @ encoding: [0x00,0x2a,0xdf,0xed]280@ CHECK: vldr s5, [pc, #-0] @ encoding: [0x00,0x2a,0x5f,0xed]281 vldr.32 s5, [pc]282 vldr.32 s5, [pc,#0]283 vldr.32 s5, [pc,#-0]284 285@ CHECK: vstr d4, [r1] @ encoding: [0x00,0x4b,0x81,0xed]286@ CHECK: vstr d4, [r1, #24] @ encoding: [0x06,0x4b,0x81,0xed]287@ CHECK: vstr d4, [r1, #-24] @ encoding: [0x06,0x4b,0x01,0xed]288@ CHECK: vstr s0, [lr] @ encoding: [0x00,0x0a,0x8e,0xed]289@ CHECK: vstr d0, [lr] @ encoding: [0x00,0x0b,0x8e,0xed]290 291 vstr.64 d4, [r1]292 vstr.64 d4, [r1, #24]293 vstr.64 d4, [r1, #-24]294 vstr s0, [lr]295 vstr d0, [lr]296 297@ CHECK: vstr s4, [r1] @ encoding: [0x00,0x2a,0x81,0xed]298@ CHECK: vstr s4, [r1, #24] @ encoding: [0x06,0x2a,0x81,0xed]299@ CHECK: vstr s4, [r1, #-24] @ encoding: [0x06,0x2a,0x01,0xed]300 vstr.32 s4, [r1]301 vstr.32 s4, [r1, #24]302 vstr.32 s4, [r1, #-24]303 304@ CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x91,0xec]305@ CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x91,0xec]306 vldmia r1, {d2,d3-d6,d7}307 vldmia r1, {s2,s3-s6,s7}308 309@ CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} @ encoding: [0x0c,0x2b,0x81,0xec]310@ CHECK: vstmia r1, {s2, s3, s4, s5, s6, s7} @ encoding: [0x06,0x1a,0x81,0xec]311@ CHECK: vpush {d8, d9, d10, d11, d12, d13, d14, d15} @ encoding: [0x10,0x8b,0x2d,0xed]312 vstmia r1, {d2,d3-d6,d7}313 vstmia r1, {s2,s3-s6,s7}314 vstmdb sp!, {q4-q7}315 316 fldmiax r5!, {d0-d2}317 fldmiaxeq r0, {d4,d5}318 fldmdbxne r5!, {d4,d5,d6}319@ CHECK: fldmiax r5!, {d0, d1, d2} @ encoding: [0x07,0x0b,0xb5,0xec]320@ CHECK: fldmiaxeq r0, {d4, d5} @ encoding: [0x05,0x4b,0x90,0x0c]321@ CHECK: fldmdbxne r5!, {d4, d5, d6} @ encoding: [0x07,0x4b,0x35,0x1d]322 323 fstmiax r5!, {d0-d7}324 fstmiaxeq r4, {d8,d9}325 fstmdbxne r7!, {d2-d4}326@ CHECK: fstmiax r5!, {d0, d1, d2, d3, d4, d5, d6, d7} @ encoding: [0x11,0x0b,0xa5,0xec]327@ CHECK: fstmiaxeq r4, {d8, d9} @ encoding: [0x05,0x8b,0x84,0x0c]328@ CHECK: fstmdbxne r7!, {d2, d3, d4} @ encoding: [0x07,0x2b,0x27,0x1d]329 330@ CHECK: vcvtr.s32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbd,0xee]331@ CHECK: vcvtr.s32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbd,0xee]332@ CHECK: vcvtr.u32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbc,0xee]333@ CHECK: vcvtr.u32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbc,0xee]334 vcvtr.s32.f64 s0, d0335 vcvtr.s32.f32 s0, s1336 vcvtr.u32.f64 s0, d0337 vcvtr.u32.f32 s0, s1338 339@ CHECK: vmovne s25, s26, r2, r5340 vmovne s25, s26, r2, r5 @ encoding: [0x39,0x2a,0x45,0x1c]341 342@ VMOV w/ optional data type suffix.343 vmov.32 s1, r8344 vmov.s16 s2, r4345 vmov.16 s3, r6346 vmov.u32 s4, r1347 vmov.p8 s5, r2348 vmov.8 s6, r3349 350 vmov.32 r1, s8351 vmov.s16 r2, s4352 vmov.16 r3, s6353 vmov.u32 r4, s1354 vmov.p8 r5, s2355 vmov.8 r6, s3356 357@ CHECK: vmov s1, r8 @ encoding: [0x90,0x8a,0x00,0xee]358@ CHECK: vmov s2, r4 @ encoding: [0x10,0x4a,0x01,0xee]359@ CHECK: vmov s3, r6 @ encoding: [0x90,0x6a,0x01,0xee]360@ CHECK: vmov s4, r1 @ encoding: [0x10,0x1a,0x02,0xee]361@ CHECK: vmov s5, r2 @ encoding: [0x90,0x2a,0x02,0xee]362@ CHECK: vmov s6, r3 @ encoding: [0x10,0x3a,0x03,0xee]363@ CHECK: vmov r1, s8 @ encoding: [0x10,0x1a,0x14,0xee]364@ CHECK: vmov r2, s4 @ encoding: [0x10,0x2a,0x12,0xee]365@ CHECK: vmov r3, s6 @ encoding: [0x10,0x3a,0x13,0xee]366@ CHECK: vmov r4, s1 @ encoding: [0x90,0x4a,0x10,0xee]367@ CHECK: vmov r5, s2 @ encoding: [0x10,0x5a,0x11,0xee]368@ CHECK: vmov r6, s3 @ encoding: [0x90,0x6a,0x11,0xee]369 370 371@ VCVT (between floating-point and fixed-point)372 vcvt.f32.u32 s0, s0, #20373 vcvt.f64.s32 d0, d0, #32374 vcvt.f32.u16 s0, s0, #1375 vcvt.f64.s16 d0, d0, #16376 vcvt.f32.s32 s1, s1, #20377 vcvt.f64.u32 d20, d20, #32378 vcvt.f32.s16 s17, s17, #1379 vcvt.f64.u16 d23, d23, #16380 vcvt.u32.f32 s12, s12, #20 381 vcvt.s32.f64 d2, d2, #32382 vcvt.u16.f32 s28, s28, #1383 vcvt.s16.f64 d15, d15, #16384 vcvt.s32.f32 s1, s1, #20385 vcvt.u32.f64 d20, d20, #32386 vcvt.s16.f32 s17, s17, #1387 vcvt.u16.f64 d23, d23, #16388 389@ CHECK: vcvt.f32.u32 s0, s0, #20 @ encoding: [0xc6,0x0a,0xbb,0xee]390@ CHECK: vcvt.f64.s32 d0, d0, #32 @ encoding: [0xc0,0x0b,0xba,0xee]391@ CHECK: vcvt.f32.u16 s0, s0, #1 @ encoding: [0x67,0x0a,0xbb,0xee]392@ CHECK: vcvt.f64.s16 d0, d0, #16 @ encoding: [0x40,0x0b,0xba,0xee]393@ CHECK: vcvt.f32.s32 s1, s1, #20 @ encoding: [0xc6,0x0a,0xfa,0xee]394@ CHECK: vcvt.f64.u32 d20, d20, #32 @ encoding: [0xc0,0x4b,0xfb,0xee]395@ CHECK: vcvt.f32.s16 s17, s17, #1 @ encoding: [0x67,0x8a,0xfa,0xee]396@ CHECK: vcvt.f64.u16 d23, d23, #16 @ encoding: [0x40,0x7b,0xfb,0xee]397 398@ CHECK: vcvt.u32.f32 s12, s12, #20 @ encoding: [0xc6,0x6a,0xbf,0xee]399@ CHECK: vcvt.s32.f64 d2, d2, #32 @ encoding: [0xc0,0x2b,0xbe,0xee]400@ CHECK: vcvt.u16.f32 s28, s28, #1 @ encoding: [0x67,0xea,0xbf,0xee]401@ CHECK: vcvt.s16.f64 d15, d15, #16 @ encoding: [0x40,0xfb,0xbe,0xee]402@ CHECK: vcvt.s32.f32 s1, s1, #20 @ encoding: [0xc6,0x0a,0xfe,0xee]403@ CHECK: vcvt.u32.f64 d20, d20, #32 @ encoding: [0xc0,0x4b,0xff,0xee]404@ CHECK: vcvt.s16.f32 s17, s17, #1 @ encoding: [0x67,0x8a,0xfe,0xee]405@ CHECK: vcvt.u16.f64 d23, d23, #16 @ encoding: [0x40,0x7b,0xff,0xee]406 407 408@ Use NEON to load some f32 immediates that don't fit the f8 representation.409 vmov.f32 d4, #0.0410 vmov.f32 d4, #32.0411 412@ CHECK: vmov.i32 d4, #0x0 @ encoding: [0x10,0x40,0x80,0xf2]413@ CHECK: vmov.i32 d4, #0x42000000 @ encoding: [0x12,0x46,0x84,0xf2]414 415@ Test encoding of floating point constants for vmov functions416@ vfp3417 vmov.f32 s5, #1.0418 vmov.f32 s5, #0.125419 vmov.f32 s5, #-1.875420 vmov.f32 s5, #-0.59375421 422 vmov.f64 d6, #1.0423 vmov.f64 d6, #0.125424 vmov.f64 d6, #-1.875425 vmov.f64 d6, #-0.59375426 427@ neon428 vmov.f32 d7, #1.0429 vmov.f32 d7, #0.125430 vmov.f32 d7, #-1.875431 vmov.f32 d7, #-0.59375432 433 vmov.f32 q8, #1.0434 vmov.f32 q8, #0.125435 vmov.f32 q8, #-1.875436 vmov.f32 q8, #-0.59375437 438@ CHECK: vmov.f32 s5, #1.000000e+00 @ encoding: [0x00,0x2a,0xf7,0xee]439@ CHECK: vmov.f32 s5, #1.250000e-01 @ encoding: [0x00,0x2a,0xf4,0xee]440@ CHECK: vmov.f32 s5, #-1.875000e+00 @ encoding: [0x0e,0x2a,0xff,0xee]441@ CHECK: vmov.f32 s5, #-5.937500e-01 @ encoding: [0x03,0x2a,0xfe,0xee]442 443@ CHECK: vmov.f64 d6, #1.000000e+00 @ encoding: [0x00,0x6b,0xb7,0xee]444@ CHECK: vmov.f64 d6, #1.250000e-01 @ encoding: [0x00,0x6b,0xb4,0xee]445@ CHECK: vmov.f64 d6, #-1.875000e+00 @ encoding: [0x0e,0x6b,0xbf,0xee]446@ CHECK: vmov.f64 d6, #-5.937500e-01 @ encoding: [0x03,0x6b,0xbe,0xee]447 448@ CHECK: vmov.f32 d7, #1.000000e+00 @ encoding: [0x10,0x7f,0x87,0xf2]449@ CHECK: vmov.f32 d7, #1.250000e-01 @ encoding: [0x10,0x7f,0x84,0xf2]450@ CHECK: vmov.f32 d7, #-1.875000e+00 @ encoding: [0x1e,0x7f,0x87,0xf3]451@ CHECK: vmov.f32 d7, #-5.937500e-01 @ encoding: [0x13,0x7f,0x86,0xf3]452 453@ CHECK: vmov.f32 q8, #1.000000e+00 @ encoding: [0x50,0x0f,0xc7,0xf2]454@ CHECK: vmov.f32 q8, #1.250000e-01 @ encoding: [0x50,0x0f,0xc4,0xf2]455@ CHECK: vmov.f32 q8, #-1.875000e+00 @ encoding: [0x5e,0x0f,0xc7,0xf3]456@ CHECK: vmov.f32 q8, #-5.937500e-01 @ encoding: [0x53,0x0f,0xc6,0xf3]457