1@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s 2 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] 7 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] 12 13 vdiv.f64 d16, d17, d16 14 vdiv.f32 s0, s1, s0 15 vdiv.f32 s5, s7 16 vdiv.f64 d5, d7 17 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, d16 25 vmul.f64 d20, d17 26 vmul.f32 s0, s1, s0 27 vmul.f32 s11, s21 28 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, d16 36 vnmul.f32 s0, s1, s0 37 38@ CHECK: vnmul.f64 d16, d17, d16 @ encoding: [0xe0,0x0b,0x61,0xee] 39@ CHECK: vnmul.f32 s0, s1, s0 @ encoding: [0xc0,0x0a,0x20,0xee] 40 41 vcmp.f64 d17, d16 42 vcmp.f32 s1, s0 43 44@ CHECK: vcmp.f64 d17, d16 @ encoding: [0x60,0x1b,0xf4,0xee] 45@ CHECK: vcmp.f32 s1, s0 @ encoding: [0x40,0x0a,0xf4,0xee] 46 47 vcmp.f64 d17, #0.0 48 vcmp.f32 s1, #0.0 49 50@ CHECK: vcmp.f64 d17, #0 @ encoding: [0x40,0x1b,0xf5,0xee] 51@ CHECK: vcmp.f32 s1, #0 @ encoding: [0x40,0x0a,0xf5,0xee] 52 53 vcmpe.f64 d17, d16 54 vcmpe.f32 s1, s0 55 56@ CHECK: vcmpe.f64 d17, d16 @ encoding: [0xe0,0x1b,0xf4,0xee] 57@ CHECK: vcmpe.f32 s1, s0 @ encoding: [0xc0,0x0a,0xf4,0xee] 58 59 vcmpe.f64 d16, #0 60 vcmpe.f32 s0, #0 61 62@ CHECK: vcmpe.f64 d16, #0 @ encoding: [0xc0,0x0b,0xf5,0xee] 63@ CHECK: vcmpe.f32 s0, #0 @ encoding: [0xc0,0x0a,0xb5,0xee] 64 65 vabs.f64 d16, d16 66 vabs.f32 s0, s0 67 68@ CHECK: vabs.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf0,0xee] 69@ CHECK: vabs.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb0,0xee] 70 71 vcvt.f32.f64 s0, d16 72 vcvt.f64.f32 d16, s0 73 74@ CHECK: vcvt.f32.f64 s0, d16 @ encoding: [0xe0,0x0b,0xb7,0xee] 75@ CHECK: vcvt.f64.f32 d16, s0 @ encoding: [0xc0,0x0a,0xf7,0xee] 76 77 vneg.f64 d16, d16 78 vneg.f32 s0, s0 79 80@ CHECK: vneg.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0xee] 81@ CHECK: vneg.f32 s0, s0 @ encoding: [0x40,0x0a,0xb1,0xee] 82 83 vsqrt.f64 d16, d16 84 vsqrt.f32 s0, s0 85 86@ CHECK: vsqrt.f64 d16, d16 @ encoding: [0xe0,0x0b,0xf1,0xee] 87@ CHECK: vsqrt.f32 s0, s0 @ encoding: [0xc0,0x0a,0xb1,0xee] 88 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 97 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] 106 107 108 vmla.f64 d16, d18, d17 109 vmla.f32 s1, s2, s0 110 111@ CHECK: vmla.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x42,0xee] 112@ CHECK: vmla.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x41,0xee] 113 114 vmls.f64 d16, d18, d17 115 vmls.f32 s1, s2, s0 116 117@ CHECK: vmls.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x42,0xee] 118@ CHECK: vmls.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x41,0xee] 119 120 vnmla.f64 d16, d18, d17 121 vnmla.f32 s1, s2, s0 122 123@ CHECK: vnmla.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0x52,0xee] 124@ CHECK: vnmla.f32 s1, s2, s0 @ encoding: [0x40,0x0a,0x51,0xee] 125 126 vnmls.f64 d16, d18, d17 127 vnmls.f32 s1, s2, s0 128 129@ CHECK: vnmls.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0x52,0xee] 130@ CHECK: vnmls.f32 s1, s2, s0 @ encoding: [0x00,0x0a,0x51,0xee] 131 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 139 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] 147 148@ CHECK: vnegne.f64 d16, d16 @ encoding: [0x60,0x0b,0xf1,0x1e] 149 vnegne.f64 d16, d16 150 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 155 156 vmov.f32 r1, s2 157 vmov.f32 s4, r3 158 vmov.f64 r1, r5, d2 159 vmov.f64 d4, r3, r9 160 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] 165 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 176 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 187 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 192 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] 197 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 206 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 215 216@ CHECK: vmov r0, r1, d16 @ encoding: [0x30,0x0b,0x51,0xec] 217 vmov r0, r1, d16 218 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] 228 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] 238 239 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] 243 244 vldr.64 d17, [r0] 245 vldr.i32 s0, [lr] 246 vldr.d d0, [lr] 247 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] 252 253@ CHECK: vldr d2, [r3] @ encoding: [0x00,0x2b,0x93,0xed] 254 vldr.64 d2, [r3] 255 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] 262 263@ CHECK: vldr s13, [r0] @ encoding: [0x00,0x6a,0xd0,0xed] 264 vldr.32 s13, [r0] 265 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] 270 271@ CHECK: vldr s2, [r3] @ encoding: [0x00,0x1a,0x93,0xed] 272 vldr.32 s2, [r3] 273 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] 280 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] 286 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] 292 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] 299 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} 304 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} 311 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] 318 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] 325 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 334 335@ CHECK: vmovne s25, s26, r2, r5 336 vmovne s25, s26, r2, r5 @ encoding: [0x39,0x2a,0x45,0x1c] 337 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 345 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 352 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] 365 366 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 384 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] 393 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] 402 403 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 407 408@ CHECK: vmov.i32 d4, #0x0 @ encoding: [0x10,0x40,0x80,0xf2] 409@ CHECK: vmov.i32 d4, #0x42000000 @ encoding: [0x12,0x46,0x84,0xf2] 410 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 417 418 vmov.f64 d6, #1.0 419 vmov.f64 d6, #0.125 420 vmov.f64 d6, #-1.875 421 vmov.f64 d6, #-0.59375 422 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 428 429 vmov.f32 q8, #1.0 430 vmov.f32 q8, #0.125 431 vmov.f32 q8, #-1.875 432 vmov.f32 q8, #-0.59375 433 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] 438 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] 443 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] 448 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] 453