365 lines · plain
1# RUN: llvm-mc --disassemble %s -triple=armv7-apple-darwin9 -mcpu=cortex-a9 | FileCheck %s2 3# CHECK: addpl r4, pc, #76, #1040x4c 0x45 0x8f 0x525 6# CHECK: b #070x00 0x00 0x00 0xea8 9# CHECK: bl #7732100x8d 0x07 0x00 0xeb11 12# CHECK: bleq #-4130xff 0xff 0xff 0x0b14 15# CHECK: bfc r8, #0, #16160x1f 0x80 0xcf 0xe717 18# CHECK: bfi r8, r0, #16, #1190x10 0x88 0xd0 0xe720 21# CHECK: mov pc, lr220x0e 0xf0 0xa0 0xe123 24# CHECK: mov pc, #3221225535250xff 0xf1 0xa0 0xe326 27# CHECK: movw r7, #4096280x00 0x70 0x01 0xe329 30# CHECK: cmn r0, #1310x01 0x00 0x70 0xe332 33# CHECK: dmb340x5f 0xf0 0x7f 0xf535 36# CHECK: dmb nshst370x56 0xf0 0x7f 0xf538 39# CHECK: dsb400x4f 0xf0 0x7f 0xf541 42# CHECK: dsb st430x4e 0xf0 0x7f 0xf544 45# CHECK: isb460x6f 0xf0 0x7f 0xf547 48# FIXME: LDC encoding information is incorrect. Re-enable this along with more49# robust testing for other values when we get it fleshed out and working50# properly.51# CHECKx: ldclvc p5, cr15, [r8], #-052#0x00 0xf5 0x78 0x7c53 54# CHECK: ldc p13, c9, [r2, #0]!550x00 0x9d 0xb2 0xed56 57# CHECK: ldcl p1, c9, [r3, #0]!580x00 0x91 0xf3 0xed59 60# CHECK: ldr r0, [r2], #15610x0f 0x00 0x92 0xe462 63# CHECK: ldr r5, [r7, -r10, lsl #2]640x0a 0x51 0x17 0xe765 66# CHECK: ldr r4, [r5, #0]!670x00 0x40 0xb5 0xe568 69# CHECK: ldrb lr, [r10, #0]!700x00 0xe0 0xfa 0xe571 72# CHECK: ldrd r4, r5, [r0, #0]!730xd0 0x40 0xe0 0xe174 75# CHECK: ldrh r0, [r2], #0760xb0 0x00 0xd2 0xe077 78# CHECK: ldrh r0, [r2]790xb0 0x00 0xd2 0xe180 81# CHECK: ldrh lr, [sp, #0]!820xb0 0xe0 0xfd 0xe183 84# CHECK: ldrht r0, [r2], #15850xbf 0x00 0xf2 0xe086 87# CHECK: ldrsb r1, [lr, #0]!880xd0 0x10 0xfe 0xe189 90# CHECK: ldrsbtvs lr, [r2], -r9910xd9 0xe0 0x32 0x6092 93# CHECK: ldrsh r9, [r1, #0]940xf0 0x90 0xf1 0xe195 96# CHECK: lsls r0, r2, #31970x82 0x0f 0xb0 0xe198 99# CHECK: mcr2 p0, #0, r2, c1, c0, #71000xf0 0x20 0x01 0xfe101 102# CHECK: movt r8, #655351030xff 0x8f 0x4f 0xe3104 105# CHECK: mvnspl r7, #10737418851060xf5 0x71 0xf0 0x53107 108# CHECK-NOT: orr r7, r8, r7, rrx #0109# CHECK: orr r7, r8, r7, rrx1100x67 0x70 0x88 0xe1111 112# CHECK: pkhbt r8, r9, r10, lsl #41130x1a 0x82 0x89 0xe6114 115# CHECK-NOT: pkhbtls r10, r11, r11, lsl #0116# CHECK: pkhbtls r10, r11, r111170x1b 0xa0 0x8b 0x96118 119# CHECK: pkhtbmi lr, r1, r6, asr #211200xd6 0xea 0x81 0x46121 122# CHECK: pop {r0, r2, r4, r6, r8, r10}1230x55 0x05 0xbd 0xe8124 125# CHECK: push {r0, r2, r4, r6, r8, r10}1260x55 0x05 0x2d 0xe9127 128# CHECK: qsax r8, r9, r101290x5a 0x8f 0x29 0xe6130 131# CHECK: rfedb r0!1320x00 0x0a 0x30 0xf9133 134# CHECK: srsdb sp!, #191350x13 0x05 0x6d 0xf9136 137# CHECK: srsia sp, #91380x09 0x05 0xcd 0xf8139 140# CHECK-NOT: rsbeq r0, r2, r0, lsl #0141# CHECK: rsbeq r0, r2, r01420x00 0x00 0x62 0x00143 144# CHECK-NOT: rscseq r0, r0, r1, lsl #0145# CHECK: rscseq r0, r0, r11460x01 0x00 0xf0 0x00147 148# CHECK: sbcs r0, pc, #11490x01 0x00 0xdf 0xe2150 151# CHECK: sbfx r0, r1, #0, #81520x51 0x00 0xa7 0xe7153 154# CHECK: ssat r8, #1, r10, lsl #81550x1a 0x84 0xa0 0xe6156 157# CHECK-NOT: ssatmi r0, #17, r12, lsl #0158# CHECK: ssatmi r0, #17, r121590x1c 0x00 0xb0 0x46160 161# CHECK: stmdb r10!, {r4, r5, r6, r7, lr}1620xf0 0x40 0x2a 0xe9163 164# CHECK: teq r0, #311650x1f 0x00 0x30 0xe3166 167# CHECK: ubfx r0, r0, #16, #11680x50 0x08 0xe0 0xe7169 170# CHECK: usat r8, #0, r10, asr #321710x5a 0x80 0xe0 0xe6172 173# CHECK: setend be1740x00 0x02 0x01 0xf1175 176# CHECK: setend le1770x00 0x00 0x01 0xf1178 179# CHECK: cpsie aif1800xc0 0x01 0x08 0xf1181 182# CHECK: cps #151830x0f 0x00 0x02 0xf1184 185# CHECK: cpsie if, #101860xca 0x00 0x0a 0xf1187 188# CHECK: msr CPSR_fc, r01890x00 0xf0 0x29 0xe1190 191# CHECK: msrmi CPSR_c, #40433090561920xf1 0xf4 0x21 0x43193 194# CHECK: rsbs r6, r7, r81950x08 0x60 0x77 0xe0196 197# CHECK: blxeq r51980x35 0xff 0x2f 0x01199 200# CHECK: bx r122010x1c 0xff 0x2f 0xe1202 203# CHECK: bxeq r52040x15 0xff 0x2f 0x01205 206# CHECK: uqadd16mi r6, r11, r82070x18 0x6F 0x6b 0x46208 209# CHECK: str r0, [sp, #4]2100x04 0x00 0x8d 0xe5211 212# CHECK: str r1, [sp]2130x00 0x10 0x8d 0xe5214 215# CHECK: ldr r3, [pc, #144]2160x90 0x30 0x9f 0xe5217 218# CHECK: ldr r3, [r0, #-4]2190x4 0x30 0x10 0xe5220 221# CHECK: ldr r5, [sp, r0, lsl #1]!2220x80 0x50 0xbd 0xe7223 224# CHECK: ldr r5, [r7], -r0, lsr #22250x20 0x51 0x17 0xe6226 227# CHECK: strdeq r2, r3, [r0], -r82280xf8 0x20 0x00 0x00229 230# CHECK: ldrdeq r2, r3, [r0], -r122310xdc 0x24 0x00 0x00232 233# CHECK: ldrbt r3, [r4], -r5, lsl #122340x05 0x36 0x74 0xe6235 236# CHECK: vcmpe.f64 d8, #02370xc0 0x8b 0xb5 0xee238 239# CHECK: vldmdb r2!, {s7, s8, s9, s10, s11}2400x05 0x3a 0x72 0xed241 242# CHECK: vldr s23, [r2, #660]2430xa5 0xba 0xd2 0xed244 245# CHECK: strtvc r5, [r3], r0, lsr #202460x20 0x5a 0xa3 0x76247 248# CHECK: stmiblo sp, {r0, r4, r8, r11, r12, pc}2490x11 0x99 0x8d 0x39250 251# CHECK: ldmdb sp, {r0, r4, r8, r11, r12, pc}2520x11 0x99 0x1d 0xe9253 254# CHECK: swpge r3, r2, [r6]2550x92 0x30 0x06 0xa1256 257# CHECK: umull r1, r2, r3, r42580x93 0x14 0x82 0xe0259 260# CHECK: pldw [pc, #-0]2610x00 0xf0 0x1f 0xf5262 263# CHECK: pli [pc, #-0]2640x00 0xf0 0x5f 0xf4265 266# CHECK: pli [r3, r1, lsl #2]2670x01 0xf1 0xd3 0xf6268 269# CHECK: stc p2, c4, [r9], {157}2700x9d 0x42 0x89 0xec271 272# CHECK: stc p15, c0, [r3, #0]!2730x00 0x0f 0xa3 0xed274 275# CHECK: stc2 p2, c4, [r9], {157}2760x9d 0x42 0x89 0xfc277 278# CHECK: stcl p13, c12, [r9, #0]!2790x00 0xcd 0xe9 0xed280 281# CHECK: str pc, [r11, #0]!2820x00 0xf0 0xab 0xe5283 284# CHECK: strb r9, [r10, #0]!2850x00 0x90 0xea 0xe5286 287# CHECK: strd r12, sp, [r6, #0]!2880xf0 0xc0 0xe6 0xe1289 290# CHECK: strh r7, [r9, #0]!2910xb0 0x70 0xe9 0xe1292 293# CHECK: bne #-242940xfa 0xff 0xff 0x1a295 296# CHECK: blx #602970x0f 0x00 0x00 0xfa298 299# CHECK-NOT: adcs r10, r8, r0, asr #6300# CHECK: adcshi r10, r8, r0, asr #63010x40 0xa3 0xb8 0x80302 303# CHECK: adcshi r10, r8, r0, asr r33040x50 0xa3 0xb8 0x80305 306# CHECK: streq r1, [sp], #-15673070x1f 0x16 0xd 0x4308 309# CHECK: mrchs p2, #3, r11, c13, c6, #63100xd6 0xb2 0x7d 0x2e311 312# CHECK: smlsldx r4, r12, r11, r43130x7b 0x44 0x4c 0xe7314 315# CHECK: lsl r3, r2, r13160x12 0x31 0xa0 0xe1317 318# CHECK: sxtab r9, r8, r53190x75 0x90 0xa8 0xe6320 321# CHECK: sxtb r9, r5, ror #83220x75 0x94 0xaf 0xe6323 324# CHECK: bfc r5, #0, #163250x1f 0x50 0xcf 0xe7326 327# CHECK: bfi r5, r6, #0, #163280x16 0x50 0xcf 0xe7329 330# CHECK: sbfx r5, r6, #8, #83310x56 0x54 0xa7 0xe7332 333# CHECK: rsb pc, r5, r03340x00 0xf0 0x65 0xe0335 336# CHECK: uqadd8 r5, r6, r73370x97 0x5f 0x66 0xe6338 339# CHECK: uqsax r5, r6, r73400x57 0x5f 0x66 0xe6341 342# CHECK: smmlareq r0, r0, r0, r03430x30 0x00 0x50 0x07344 345# CHECK: nop3460x00 0xf0 0x20 0xe3347 348# CHECK: andeq r0, r0, r0, lsr #323490x20 0x00 0x00 0x00350 351# CHECK: strb r3, [r2], #13520x01 0x30 0xc2 0xe4353 354# CHECK: strheq r0, [r0, -r0]3550xb0 0x00 0x00 0x01356 357# CHECK: rfedb r2!3580x14 0x0 0x32 0xf9359 360# CHECK: stc2l p0, c0, [r2], #-963610x18 0x0 0x62 0xfc362 363# CHECK: ldmgt sp!, {r9}3640x00 0x02 0xbd 0xc8365