1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple armv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker0xa0 0x0b 0x71 0xee 4*9880d681SAndroid Build Coastguard Worker# CHECK: vadd.f64 d16, d17, d16 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker0x80 0x0a 0x30 0xee 7*9880d681SAndroid Build Coastguard Worker# CHECK: vadd.f32 s0, s1, s0 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker0xe0 0x0b 0x71 0xee 10*9880d681SAndroid Build Coastguard Worker# CHECK: vsub.f64 d16, d17, d16 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0x30 0xee 13*9880d681SAndroid Build Coastguard Worker# CHECK: vsub.f32 s0, s1, s0 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker0xa0 0x0b 0xc1 0xee 16*9880d681SAndroid Build Coastguard Worker# CHECK: vdiv.f64 d16, d17, d16 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker0x80 0x0a 0x80 0xee 19*9880d681SAndroid Build Coastguard Worker# CHECK: vdiv.f32 s0, s1, s0 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker0xa0 0x0b 0x61 0xee 22*9880d681SAndroid Build Coastguard Worker# CHECK: vmul.f64 d16, d17, d16 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Worker0x80 0x0a 0x20 0xee 25*9880d681SAndroid Build Coastguard Worker# CHECK: vmul.f32 s0, s1, s0 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Worker0xe0 0x0b 0x61 0xee 28*9880d681SAndroid Build Coastguard Worker# CHECK: vnmul.f64 d16, d17, d16 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0x20 0xee 31*9880d681SAndroid Build Coastguard Worker# CHECK: vnmul.f32 s0, s1, s0 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker0xe0 0x1b 0xf4 0xee 34*9880d681SAndroid Build Coastguard Worker# CHECK: vcmpe.f64 d17, d16 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0xf4 0xee 37*9880d681SAndroid Build Coastguard Worker# CHECK: vcmpe.f32 s1, s0 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker0xe0 0x0b 0xf0 0xee 40*9880d681SAndroid Build Coastguard Worker# CHECK: vabs.f64 d16, d16 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0xb0 0xee 43*9880d681SAndroid Build Coastguard Worker# CHECK: vabs.f32 s0, s0 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker0xe0 0x0b 0xb7 0xee 46*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.f32.f64 s0, d16 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0xf7 0xee 49*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.f64.f32 d16, s0 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker0x60 0x0b 0xf1 0xee 52*9880d681SAndroid Build Coastguard Worker# CHECK: vneg.f64 d16, d16 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Worker0x40 0x0a 0xb1 0xee 55*9880d681SAndroid Build Coastguard Worker# CHECK: vneg.f32 s0, s0 56*9880d681SAndroid Build Coastguard Worker 57*9880d681SAndroid Build Coastguard Worker0xe0 0x0b 0xf1 0xee 58*9880d681SAndroid Build Coastguard Worker# CHECK: vsqrt.f64 d16, d16 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0xb1 0xee 61*9880d681SAndroid Build Coastguard Worker# CHECK: vsqrt.f32 s0, s0 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker0xc0 0x0b 0xf8 0xee 64*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.f64.s32 d16, s0 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0xb8 0xee 67*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.f32.s32 s0, s0 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Worker0x40 0x0b 0xf8 0xee 70*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.f64.u32 d16, s0 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Worker0x40 0x0a 0xb8 0xee 73*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.f32.u32 s0, s0 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker0xe0 0x0b 0xbd 0xee 76*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.s32.f64 s0, d16 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0xbd 0xee 79*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.s32.f32 s0, s0 80*9880d681SAndroid Build Coastguard Worker 81*9880d681SAndroid Build Coastguard Worker0xe0 0x0b 0xbc 0xee 82*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.u32.f64 s0, d16 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker0xc0 0x0a 0xbc 0xee 85*9880d681SAndroid Build Coastguard Worker# CHECK: vcvt.u32.f32 s0, s0 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Worker0xa1 0x0b 0x42 0xee 88*9880d681SAndroid Build Coastguard Worker# CHECK: vmla.f64 d16, d18, d17 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Worker0x00 0x0a 0x41 0xee 91*9880d681SAndroid Build Coastguard Worker# CHECK: vmla.f32 s1, s2, s0 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Worker0xe1 0x0b 0x42 0xee 94*9880d681SAndroid Build Coastguard Worker# CHECK: vmls.f64 d16, d18, d17 95*9880d681SAndroid Build Coastguard Worker 96*9880d681SAndroid Build Coastguard Worker0x40 0x0a 0x41 0xee 97*9880d681SAndroid Build Coastguard Worker# CHECK: vmls.f32 s1, s2, s0 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker0xe1 0x0b 0x52 0xee 100*9880d681SAndroid Build Coastguard Worker# CHECK: vnmla.f64 d16, d18, d17 101*9880d681SAndroid Build Coastguard Worker 102*9880d681SAndroid Build Coastguard Worker0x40 0x0a 0x51 0xee 103*9880d681SAndroid Build Coastguard Worker# CHECK: vnmla.f32 s1, s2, s0 104*9880d681SAndroid Build Coastguard Worker 105*9880d681SAndroid Build Coastguard Worker0xa1 0x0b 0x52 0xee 106*9880d681SAndroid Build Coastguard Worker# CHECK: vnmls.f64 d16, d18, d17 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Worker0x00 0x0a 0x51 0xee 109*9880d681SAndroid Build Coastguard Worker# CHECK: vnmls.f32 s1, s2, s0 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Worker0x60 0x0b 0xf1 0x1e 112*9880d681SAndroid Build Coastguard Worker# CHECK: vnegne.f64 d16, d16 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0x00 0x1e 115*9880d681SAndroid Build Coastguard Worker0x10 0x1a 0x00 0x0e 116*9880d681SAndroid Build Coastguard Worker# CHECK: vmovne s0, r0 117*9880d681SAndroid Build Coastguard Worker# CHECK: vmoveq s0, r1 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0xf1 0xee 120*9880d681SAndroid Build Coastguard Worker# CHECK: vmrs r0, fpscr 121*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0xf8 0xee 122*9880d681SAndroid Build Coastguard Worker# CHECK: vmrs r0, fpexc 123*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0xf0 0xee 124*9880d681SAndroid Build Coastguard Worker# CHECK: vmrs r0, fpsid 125*9880d681SAndroid Build Coastguard Worker0x10 0x1a 0xf9 0xee 126*9880d681SAndroid Build Coastguard Worker# CHECK: vmrs r1, fpinst 127*9880d681SAndroid Build Coastguard Worker0x10 0x8a 0xfa 0xee 128*9880d681SAndroid Build Coastguard Worker# CHECK: vmrs r8, fpinst2 129*9880d681SAndroid Build Coastguard Worker 130*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0xe1 0xee 131*9880d681SAndroid Build Coastguard Worker# CHECK: vmsr fpscr, r0 132*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0xe8 0xee 133*9880d681SAndroid Build Coastguard Worker# CHECK: vmsr fpexc, r0 134*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0xe0 0xee 135*9880d681SAndroid Build Coastguard Worker# CHECK: vmsr fpsid, r0 136*9880d681SAndroid Build Coastguard Worker0x10 0x3a 0xe9 0xee 137*9880d681SAndroid Build Coastguard Worker# CHECK: vmsr fpinst, r3 138*9880d681SAndroid Build Coastguard Worker0x10 0x4a 0xea 0xee 139*9880d681SAndroid Build Coastguard Worker# CHECK: vmsr fpinst2, r4 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0x00 0xee 142*9880d681SAndroid Build Coastguard Worker0x90 0x1a 0x00 0xee 143*9880d681SAndroid Build Coastguard Worker0x10 0x2a 0x01 0xee 144*9880d681SAndroid Build Coastguard Worker0x90 0x3a 0x01 0xee 145*9880d681SAndroid Build Coastguard Worker# CHECK: vmov s0, r0 146*9880d681SAndroid Build Coastguard Worker# CHECK: vmov s1, r1 147*9880d681SAndroid Build Coastguard Worker# CHECK: vmov s2, r2 148*9880d681SAndroid Build Coastguard Worker# CHECK: vmov s3, r3 149*9880d681SAndroid Build Coastguard Worker 150*9880d681SAndroid Build Coastguard Worker0x10 0x0a 0x10 0xee 151*9880d681SAndroid Build Coastguard Worker0x90 0x1a 0x10 0xee 152*9880d681SAndroid Build Coastguard Worker0x10 0x2a 0x11 0xee 153*9880d681SAndroid Build Coastguard Worker0x90 0x3a 0x11 0xee 154*9880d681SAndroid Build Coastguard Worker# CHECK: vmov r0, s0 155*9880d681SAndroid Build Coastguard Worker# CHECK: vmov r1, s1 156*9880d681SAndroid Build Coastguard Worker# CHECK: vmov r2, s2 157*9880d681SAndroid Build Coastguard Worker# CHECK: vmov r3, s3 158*9880d681SAndroid Build Coastguard Worker 159*9880d681SAndroid Build Coastguard Worker0x30 0x0b 0x51 0xec 160*9880d681SAndroid Build Coastguard Worker# CHECK: vmov r0, r1, d16 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Worker0x00 0x1b 0xd0 0xed 163*9880d681SAndroid Build Coastguard Worker# CHECK: vldr d17, [r0] 164*9880d681SAndroid Build Coastguard Worker 165*9880d681SAndroid Build Coastguard Worker0x08 0x1b 0x92 0xed 166*9880d681SAndroid Build Coastguard Worker0x08 0x1b 0x12 0xed 167*9880d681SAndroid Build Coastguard Worker# CHECK: vldr d1, [r2, #32] 168*9880d681SAndroid Build Coastguard Worker# CHECK: vldr d1, [r2, #-32] 169*9880d681SAndroid Build Coastguard Worker 170*9880d681SAndroid Build Coastguard Worker0x00 0x2b 0x93 0xed 171*9880d681SAndroid Build Coastguard Worker# CHECK: vldr d2, [r3] 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Worker0x00 0x3b 0x9f 0xed 174*9880d681SAndroid Build Coastguard Worker# CHECK: vldr d3, [pc] 175*9880d681SAndroid Build Coastguard Worker 176*9880d681SAndroid Build Coastguard Worker0x00 0x6a 0xd0 0xed 177*9880d681SAndroid Build Coastguard Worker# CHECK: vldr s13, [r0] 178*9880d681SAndroid Build Coastguard Worker 179*9880d681SAndroid Build Coastguard Worker0x08 0x0a 0xd2 0xed 180*9880d681SAndroid Build Coastguard Worker0x08 0x0a 0x52 0xed 181*9880d681SAndroid Build Coastguard Worker# CHECK: vldr s1, [r2, #32] 182*9880d681SAndroid Build Coastguard Worker# CHECK: vldr s1, [r2, #-32] 183*9880d681SAndroid Build Coastguard Worker 184*9880d681SAndroid Build Coastguard Worker0x00 0x1a 0x93 0xed 185*9880d681SAndroid Build Coastguard Worker# CHECK: vldr s2, [r3] 186*9880d681SAndroid Build Coastguard Worker 187*9880d681SAndroid Build Coastguard Worker0x00 0x2a 0xdf 0xed 188*9880d681SAndroid Build Coastguard Worker# CHECK: vldr s5, [pc] 189*9880d681SAndroid Build Coastguard Worker 190*9880d681SAndroid Build Coastguard Worker0x00 0x4b 0x81 0xed 191*9880d681SAndroid Build Coastguard Worker0x06 0x4b 0x81 0xed 192*9880d681SAndroid Build Coastguard Worker0x06 0x4b 0x01 0xed 193*9880d681SAndroid Build Coastguard Worker# CHECK: vstr d4, [r1] 194*9880d681SAndroid Build Coastguard Worker# CHECK: vstr d4, [r1, #24] 195*9880d681SAndroid Build Coastguard Worker# CHECK: vstr d4, [r1, #-24] 196*9880d681SAndroid Build Coastguard Worker 197*9880d681SAndroid Build Coastguard Worker0x00 0x2a 0x81 0xed 198*9880d681SAndroid Build Coastguard Worker0x06 0x2a 0x81 0xed 199*9880d681SAndroid Build Coastguard Worker0x06 0x2a 0x01 0xed 200*9880d681SAndroid Build Coastguard Worker# CHECK: vstr s4, [r1] 201*9880d681SAndroid Build Coastguard Worker# CHECK: vstr s4, [r1, #24] 202*9880d681SAndroid Build Coastguard Worker# CHECK: vstr s4, [r1, #-24] 203*9880d681SAndroid Build Coastguard Worker 204*9880d681SAndroid Build Coastguard Worker0x0c 0x2b 0x91 0xec 205*9880d681SAndroid Build Coastguard Worker0x06 0x1a 0x91 0xec 206*9880d681SAndroid Build Coastguard Worker# CHECK: vldmia r1, {d2, d3, d4, d5, d6, d7} 207*9880d681SAndroid Build Coastguard Worker# CHECK: vldmia r1, {s2, s3, s4, s5, s6, s7} 208*9880d681SAndroid Build Coastguard Worker 209*9880d681SAndroid Build Coastguard Worker0x0c 0x2b 0x81 0xec 210*9880d681SAndroid Build Coastguard Worker0x06 0x1a 0x81 0xec 211*9880d681SAndroid Build Coastguard Worker# CHECK: vstmia r1, {d2, d3, d4, d5, d6, d7} 212*9880d681SAndroid Build Coastguard Worker# CHECK: vstmia r1, {s2, s3, s4, s5, s6, s7} 213*9880d681SAndroid Build Coastguard Worker 214*9880d681SAndroid Build Coastguard Worker0x05 0x9a 0xc0 0x0c 215*9880d681SAndroid Build Coastguard Worker0x0c 0x0b 0xc7 0x0c 216*9880d681SAndroid Build Coastguard Worker0x06 0x9a 0x93 0x0c 217*9880d681SAndroid Build Coastguard Worker0x0a 0x5b 0xd2 0x0c 218*9880d681SAndroid Build Coastguard Worker# CHECK: vstmiaeq r0, {s19, s20, s21, s22, s23} 219*9880d681SAndroid Build Coastguard Worker# CHECK: vstmiaeq r7, {d16, d17, d18, d19, d20, d21} 220*9880d681SAndroid Build Coastguard Worker# CHECK: vldmiaeq r3, {s18, s19, s20, s21, s22, s23} 221*9880d681SAndroid Build Coastguard Worker# CHECK: vldmiaeq r2, {d21, d22, d23, d24, d25} 222*9880d681SAndroid Build Coastguard Worker 223*9880d681SAndroid Build Coastguard Worker0x04 0xca 0x6c 0x0d 224*9880d681SAndroid Build Coastguard Worker0x06 0x1b 0x69 0x0d 225*9880d681SAndroid Build Coastguard Worker0x03 0xaa 0x75 0x0d 226*9880d681SAndroid Build Coastguard Worker0x08 0xeb 0x37 0x0d 227*9880d681SAndroid Build Coastguard Worker# CHECK: vstmdbeq r12!, {s25, s26, s27, s28} 228*9880d681SAndroid Build Coastguard Worker# CHECK: vstmdbeq r9!, {d17, d18, d19} 229*9880d681SAndroid Build Coastguard Worker# CHECK: vldmdbeq r5!, {s21, s22, s23} 230*9880d681SAndroid Build Coastguard Worker# CHECK: vldmdbeq r7!, {d14, d15, d16, d17} 231*9880d681SAndroid Build Coastguard Worker 232*9880d681SAndroid Build Coastguard Worker0x0d 0x4b 0x96 0x0c 233*9880d681SAndroid Build Coastguard Worker0x0f 0x3b 0xb7 0x0c 234*9880d681SAndroid Build Coastguard Worker0x09 0x1b 0x38 0xed 235*9880d681SAndroid Build Coastguard Worker# CHECK: fldmiaxeq r6, {d4, d5, d6, d7, d8, d9} 236*9880d681SAndroid Build Coastguard Worker# CHECK: fldmiaxeq r7!, {d3, d4, d5, d6, d7, d8, d9} 237*9880d681SAndroid Build Coastguard Worker# CHECK: fldmdbx r8!, {d1, d2, d3, d4} 238*9880d681SAndroid Build Coastguard Worker 239*9880d681SAndroid Build Coastguard Worker0x07 0x2b 0x83 0xec 240*9880d681SAndroid Build Coastguard Worker0x05 0x5b 0xa3 0x0c 241*9880d681SAndroid Build Coastguard Worker0x0f 0x3b 0x20 0x1d 242*9880d681SAndroid Build Coastguard Worker# CHECK: fstmiax r3, {d2, d3, d4} 243*9880d681SAndroid Build Coastguard Worker# CHECK: fstmiaxeq r3!, {d5, d6} 244*9880d681SAndroid Build Coastguard Worker# CHECK: fstmdbxne r0!, {d3, d4, d5, d6, d7, d8, d9} 245*9880d681SAndroid Build Coastguard Worker 246*9880d681SAndroid Build Coastguard Worker0x04 0x7a 0xa6 0x0c 247*9880d681SAndroid Build Coastguard Worker0x0c 0xfb 0xa4 0x0c 248*9880d681SAndroid Build Coastguard Worker0x03 0xaa 0xf8 0x0c 249*9880d681SAndroid Build Coastguard Worker0x0a 0x3b 0xfb 0x0c 250*9880d681SAndroid Build Coastguard Worker# CHECK: vstmiaeq r6!, {s14, s15, s16, s17} 251*9880d681SAndroid Build Coastguard Worker# CHECK: vstmiaeq r4!, {d15, d16, d17, d18, d19, d20} 252*9880d681SAndroid Build Coastguard Worker# CHECK: vldmiaeq r8!, {s21, s22, s23} 253*9880d681SAndroid Build Coastguard Worker# CHECK: vldmiaeq r11!, {d19, d20, d21, d22, d23} 254*9880d681SAndroid Build Coastguard Worker 255*9880d681SAndroid Build Coastguard Worker0x40 0x0b 0xbd 0xee 256*9880d681SAndroid Build Coastguard Worker0x60 0x0a 0xbd 0xee 257*9880d681SAndroid Build Coastguard Worker0x40 0x0b 0xbc 0xee 258*9880d681SAndroid Build Coastguard Worker0x60 0x0a 0xbc 0xee 259*9880d681SAndroid Build Coastguard Worker# CHECK: vcvtr.s32.f64 s0, d0 260*9880d681SAndroid Build Coastguard Worker# CHECK: vcvtr.s32.f32 s0, s1 261*9880d681SAndroid Build Coastguard Worker# CHECK: vcvtr.u32.f64 s0, d0 262*9880d681SAndroid Build Coastguard Worker# CHECK: vcvtr.u32.f32 s0, s1 263