1# RUN: llvm-mc -triple armv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s 2 30xa0 0x0b 0x71 0xee 4# CHECK: vadd.f64 d16, d17, d16 5 60x80 0x0a 0x30 0xee 7# CHECK: vadd.f32 s0, s1, s0 8 90xe0 0x0b 0x71 0xee 10# CHECK: vsub.f64 d16, d17, d16 11 120xc0 0x0a 0x30 0xee 13# CHECK: vsub.f32 s0, s1, s0 14 150xa0 0x0b 0xc1 0xee 16# CHECK: vdiv.f64 d16, d17, d16 17 180x80 0x0a 0x80 0xee 19# CHECK: vdiv.f32 s0, s1, s0 20 210xa0 0x0b 0x61 0xee 22# CHECK: vmul.f64 d16, d17, d16 23 240x80 0x0a 0x20 0xee 25# CHECK: vmul.f32 s0, s1, s0 26 270xe0 0x0b 0x61 0xee 28# CHECK: vnmul.f64 d16, d17, d16 29 300x41 0x0b 0x20 0xee 31# CHECK: vnmul.f64 d0, d0, d1 32 330xc0 0x0a 0x20 0xee 34# CHECK: vnmul.f32 s0, s1, s0 35 360x60 0x0a 0x20 0xee 37# CHECK: vnmul.f32 s0, s0, s1 38 390xe0 0x1b 0xf4 0xee 40# CHECK: vcmpe.f64 d17, d16 41 420xc0 0x0a 0xf4 0xee 43# CHECK: vcmpe.f32 s1, s0 44 450xe0 0x0b 0xf0 0xee 46# CHECK: vabs.f64 d16, d16 47 480xc0 0x0a 0xb0 0xee 49# CHECK: vabs.f32 s0, s0 50 510xe0 0x0b 0xb7 0xee 52# CHECK: vcvt.f32.f64 s0, d16 53 540xc0 0x0a 0xf7 0xee 55# CHECK: vcvt.f64.f32 d16, s0 56 570x60 0x0b 0xf1 0xee 58# CHECK: vneg.f64 d16, d16 59 600x40 0x0a 0xb1 0xee 61# CHECK: vneg.f32 s0, s0 62 630xe0 0x0b 0xf1 0xee 64# CHECK: vsqrt.f64 d16, d16 65 660xc0 0x0a 0xb1 0xee 67# CHECK: vsqrt.f32 s0, s0 68 690xc0 0x0b 0xf8 0xee 70# CHECK: vcvt.f64.s32 d16, s0 71 720xc0 0x0a 0xb8 0xee 73# CHECK: vcvt.f32.s32 s0, s0 74 750x40 0x0b 0xf8 0xee 76# CHECK: vcvt.f64.u32 d16, s0 77 780x40 0x0a 0xb8 0xee 79# CHECK: vcvt.f32.u32 s0, s0 80 810xe0 0x0b 0xbd 0xee 82# CHECK: vcvt.s32.f64 s0, d16 83 840xc0 0x0a 0xbd 0xee 85# CHECK: vcvt.s32.f32 s0, s0 86 870xe0 0x0b 0xbc 0xee 88# CHECK: vcvt.u32.f64 s0, d16 89 900xc0 0x0a 0xbc 0xee 91# CHECK: vcvt.u32.f32 s0, s0 92 930xa1 0x0b 0x42 0xee 94# CHECK: vmla.f64 d16, d18, d17 95 960x00 0x0a 0x41 0xee 97# CHECK: vmla.f32 s1, s2, s0 98 990xe1 0x0b 0x42 0xee 100# CHECK: vmls.f64 d16, d18, d17 101 1020x40 0x0a 0x41 0xee 103# CHECK: vmls.f32 s1, s2, s0 104 1050xe1 0x0b 0x52 0xee 106# CHECK: vnmla.f64 d16, d18, d17 107 1080x40 0x0a 0x51 0xee 109# CHECK: vnmla.f32 s1, s2, s0 110 1110xa1 0x0b 0x52 0xee 112# CHECK: vnmls.f64 d16, d18, d17 113 1140x00 0x0a 0x51 0xee 115# CHECK: vnmls.f32 s1, s2, s0 116 1170x60 0x0b 0xf1 0x1e 118# CHECK: vnegne.f64 d16, d16 119 1200x10 0x0a 0x00 0x1e 1210x10 0x1a 0x00 0x0e 122# CHECK: vmovne s0, r0 123# CHECK: vmoveq s0, r1 124 1250x10 0x0a 0xf1 0xee 126# CHECK: vmrs r0, fpscr 1270x10 0x0a 0xf8 0xee 128# CHECK: vmrs r0, fpexc 1290x10 0x0a 0xf0 0xee 130# CHECK: vmrs r0, fpsid 1310x10 0x1a 0xf9 0xee 132# CHECK: vmrs r1, fpinst 1330x10 0x8a 0xfa 0xee 134# CHECK: vmrs r8, fpinst2 135 1360x10 0x0a 0xe1 0xee 137# CHECK: vmsr fpscr, r0 1380x10 0x0a 0xe8 0xee 139# CHECK: vmsr fpexc, r0 1400x10 0x0a 0xe0 0xee 141# CHECK: vmsr fpsid, r0 1420x10 0x3a 0xe9 0xee 143# CHECK: vmsr fpinst, r3 1440x10 0x4a 0xea 0xee 145# CHECK: vmsr fpinst2, r4 146 1470x10 0x0a 0x00 0xee 1480x90 0x1a 0x00 0xee 1490x10 0x2a 0x01 0xee 1500x90 0x3a 0x01 0xee 151# CHECK: vmov s0, r0 152# CHECK: vmov s1, r1 153# CHECK: vmov s2, r2 154# CHECK: vmov s3, r3 155 1560x10 0x0a 0x10 0xee 1570x90 0x1a 0x10 0xee 1580x10 0x2a 0x11 0xee 1590x90 0x3a 0x11 0xee 160# CHECK: vmov r0, s0 161# CHECK: vmov r1, s1 162# CHECK: vmov r2, s2 163# CHECK: vmov r3, s3 164 1650x30 0x0b 0x51 0xec 166# CHECK: vmov r0, r1, d16 167 1680x00 0x1b 0xd0 0xed 169# CHECK: vldr d17, [r0] 170 1710x08 0x1b 0x92 0xed 1720x08 0x1b 0x12 0xed 173# CHECK: vldr d1, [r2, #32] 174# CHECK: vldr d1, [r2, #-32] 175 1760x00 0x2b 0x93 0xed 177# CHECK: vldr d2, [r3] 178 1790x00 0x3b 0x9f 0xed 180# CHECK: vldr d3, [pc] 181 1820x00 0x6a 0xd0 0xed 183# CHECK: vldr s13, [r0] 184 1850x08 0x0a 0xd2 0xed 1860x08 0x0a 0x52 0xed 187# CHECK: vldr s1, [r2, #32] 188# CHECK: vldr s1, [r2, #-32] 189 1900x00 0x1a 0x93 0xed 191# CHECK: vldr s2, [r3] 192 1930x00 0x2a 0xdf 0xed 194# CHECK: vldr s5, [pc] 195 1960x00 0x4b 0x81 0xed 1970x06 0x4b 0x81 0xed 1980x06 0x4b 0x01 0xed 199# CHECK: vstr d4, [r1] 200# CHECK: vstr d4, [r1, #24] 201# CHECK: vstr d4, [r1, #-24] 202 2030x00 0x2a 0x81 0xed 2040x06 0x2a 0x81 0xed 2050x06 0x2a 0x01 0xed 206# CHECK: vstr s4, [r1] 207# CHECK: vstr s4, [r1, #24] 208# CHECK: vstr s4, [r1, #-24] 209 2100x0c 0x2b 0x91 0xec 2110x06 0x1a 0x91 0xec 212# CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} 213# CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} 214 2150x0c 0x2b 0x81 0xec 2160x06 0x1a 0x81 0xec 217# CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} 218# CHECK: vstmia r1, {s2, s3, s4, s5, s6, s7} 219 2200x05 0x9a 0xc0 0x0c 2210x0c 0x0b 0xc7 0x0c 2220x06 0x9a 0x93 0x0c 2230x0a 0x5b 0xd2 0x0c 224# CHECK: vstmiaeq r0, {s19, s20, s21, s22, s23} 225# CHECK: vstmiaeq r7, {d16, d17, d18, d19, d20, d21} 226# CHECK: vldmiaeq r3, {s18, s19, s20, s21, s22, s23} 227# CHECK: vldmiaeq r2, {d21, d22, d23, d24, d25} 228 2290x04 0xca 0x6c 0x0d 2300x06 0x1b 0x69 0x0d 2310x03 0xaa 0x75 0x0d 2320x08 0xeb 0x37 0x0d 233# CHECK: vstmdbeq r12!, {s25, s26, s27, s28} 234# CHECK: vstmdbeq r9!, {d17, d18, d19} 235# CHECK: vldmdbeq r5!, {s21, s22, s23} 236# CHECK: vldmdbeq r7!, {d14, d15, d16, d17} 237 2380x0d 0x4b 0x96 0x0c 2390x0f 0x3b 0xb7 0x0c 2400x09 0x1b 0x38 0xed 241# CHECK: fldmiaxeq r6, {d4, d5, d6, d7, d8, d9} 242# CHECK: fldmiaxeq r7!, {d3, d4, d5, d6, d7, d8, d9} 243# CHECK: fldmdbx r8!, {d1, d2, d3, d4} 244 2450x07 0x2b 0x83 0xec 2460x05 0x5b 0xa3 0x0c 2470x0f 0x3b 0x20 0x1d 248# CHECK: fstmiax r3, {d2, d3, d4} 249# CHECK: fstmiaxeq r3!, {d5, d6} 250# CHECK: fstmdbxne r0!, {d3, d4, d5, d6, d7, d8, d9} 251 2520x04 0x7a 0xa6 0x0c 2530x0c 0xfb 0xa4 0x0c 2540x03 0xaa 0xf8 0x0c 2550x0a 0x3b 0xfb 0x0c 256# CHECK: vstmiaeq r6!, {s14, s15, s16, s17} 257# CHECK: vstmiaeq r4!, {d15, d16, d17, d18, d19, d20} 258# CHECK: vldmiaeq r8!, {s21, s22, s23} 259# CHECK: vldmiaeq r11!, {d19, d20, d21, d22, d23} 260 2610x40 0x0b 0xbd 0xee 2620x60 0x0a 0xbd 0xee 2630x40 0x0b 0xbc 0xee 2640x60 0x0a 0xbc 0xee 265# CHECK: vcvtr.s32.f64 s0, d0 266# CHECK: vcvtr.s32.f32 s0, s1 267# CHECK: vcvtr.u32.f64 s0, d0 268# CHECK: vcvtr.u32.f32 s0, s1 269