318 lines · plain
1# RUN: llvm-mc --disassemble --show-encoding %s -triple=thumbv7-apple-darwin9 -mcpu=cortex-a9 | FileCheck %s2 3# CHECK: add r5, sp, #6840x11 0xad5 6# CHECK: adcs r0, r0, #170x50 0xf1 0x01 0x008 9# CHECK: b #30100x0f 0xe011 12# CHECK: bgt.w #-16130x3f 0xf7 0xf8 0xaf14 15# CHECK: bfc r0, #10, #10160x6f 0xf3 0x93 0x2017 18# CHECK: bfi r2, r10, #0, #1190x6a 0xf3 0x00 0x0220 21# CHECK: cbnz r7, #20220x57 0xb923 24# CHECK: cmp r3, r4250xa3 0x4226 27# CHECK: cmn.w r0, #31280x10 0xf1 0x1f 0x0f29 30# CHECK: ldm r0!, {r1}310x02 0xc832 33# CHECK: ldr r5, [pc, #432]340x6c 0x4d35 36# CHECK: str r0, [r3]370x18 0x6038 39# CHECK: str r0, [r3, #4]400x58 0x6041 42# CHECK: str r2, [r5, r3]430xea 0x5044 45# CHECK: ldrb.w r8, [pc, #-24]460x1f 0xf8 0x18 0x8047 48# CHECK: ldrd r0, r1, [r7, #64]!490xf7 0xe9 0x10 0x0150 51# CHECK: lsls.w r0, r5, #1520x5f 0xea 0x45 0x0053 54# CHECK: mov r11, r7550xbb 0x4656 57# CHECK: pkhtb r2, r4, r6, asr #16580xc4 0xea 0x26 0x4259 60# CHECK-NOT: pkhbt r2, r4, r6, lsl #061# CHECK: pkhbt r2, r4, r6620xc4 0xea 0x06 0x0263 64# CHECK: pop.w {r2, r4, r6, r8, r10, r12}650xbd 0xe8 0x54 0x1566 67# CHECK: push.w {r2, r4, r6, r8, r10, r12}680x2d 0xe9 0x54 0x1569 70# CHECK: rsbs r0, r0, #0710x40 0x4272 73# CHECK-NOT: rsb r0, r2, r0, lsl #074# CHECK: rsb r0, r2, r0750xc2 0xeb 0x00 0x0076 77# CHECK-NOT: ssat r0, #17, r12, lsl #078# CHECK: ssat r0, #17, r12790x0c 0xf3 0x10 0x0080 81# CHECK: strd r0, r1, [r7, #64]820xc7 0xe9 0x10 0x0183 84# CHECK: sub sp, #60850x8f 0xb086 87# CHECK: adr.w r0, #-1880xaf 0xf2 0x01 0x0089 90# CHECK: subw r0, pc, #0910xaf 0xf2 0x00 0x0092 93# CHECK: subw r0, sp, #835940xad 0xf2 0x43 0x3095 96# CHECK: uqadd16 r3, r4, r5970x94 0xfa 0x55 0xf398 99# CHECK: usada8 r5, r4, r3, r21000x74 0xfb 0x03 0x25101 102# CHECK: uxtab16 r1, r2, r3, ror #81030x32 0xfa 0x93 0xf1104 105# IT block begin106# CHECK: ittte eq1070x03 0xbf108 109# CHECK: moveq r3, #31100x03 0x23111 112# CHECK: asreq r1, r0, #51130x41 0x11114 115# CHECK: lsleq r1, r0, #281160x01 0x07117 118# CHECK: stmne r0!, {r1, r2, r3}1190x0e 0xc0120 121# IT block end122# CHECK: rsbs r1, r2, #01230x51 0x42124 125# CHECK: cpsid.w f1260xaf 0xf3 0x20 0x86127 128# CHECK: cps #151290xaf 0xf3 0x0f 0x81130 131# CHECK: cpsie if, #101320xaf 0xf3 0x6a 0x85133 134# CHECK: cpsie aif1350x67 0xb6136 137# CHECK: msr CPSR_fc, r01380x80 0xf3 0x00 0x89139 140# CHECK: blx #-41410xff 0xf7 0xfe 0xef142 143# CHECK: vpush {d8, d9, d10}1440x2d 0xed 0x06 0x8b145 146# CHECK: vcmpe.f64 d8, #01470xb5 0xee 0xc0 0x8b148 149# CHECK: stmdb sp, {r0, r2, r3, r8, r11, lr}1500x0d 0xe9 0x0d 0x49151 152# CHECK: stm r5!, {r0, r1, r2, r3, r4}1530x1f 0xc5154 155# CHECK: ldm r5, {r0, r1, r2, r3, r4, r5}1560x3f 0xcd157 158# CHECK: ldm r5!, {r0, r1, r2, r3, r4}1590x1f 0xcd160 161# CHECK: adr.w r0, #10501620x0f 0xf2 0x1a 0x40163 164# CHECK: ldrd r3, r8, [r11, #-60]1650x5b 0xe9 0x0f 0x38166 167# CHECK: ldrex r8, [r2]1680x52 0xe8 0x00 0x8f169 170# CHECK: ldrexd r8, r9, [r2]1710xd2 0xe8 0x7f 0x89172 173# CHECK: strexd r1, r7, r8, [r2]1740xc2 0xe8 0x71 0x78175 176# CHECK: tbh [r5, r4, lsl #1]1770xd5 0xe8 0x14 0xf0178 179# CHECK: tbb [r5, r4]1800xd5 0xe8 0x04 0xf0181 182# CHECK: ldr.w r4, [sp, r4, lsl #3]1830x5d 0xf8 0x34 0x40184 185# CHECK: ldr.w r5, [r6, #30]1860xd6 0xf8 0x1e 0x50187 188# CHECK: ldrh.w r5, [r6, #30]1890xb6 0xf8 0x1e 0x50190 191# CHECK: ldrt r5, [r6, #30]1920x56 0xf8 0x1e 0x5e193 194# CHECK: ldr r5, [r6, #-30]1950x56 0xf8 0x1e 0x5c196 197# CHECK: sel r7, r3, r51980xa3 0xfa 0x85 0xf7199 200# CHECK: lsl.w r7, r3, r52010x03 0xfa 0x05 0xf7202 203# CHECK: adds.w r7, r3, r52040x13 0xeb 0x05 0x07205 206# CHECK: smlabt r4, r3, r2, r12070x13 0xfb 0x12 0x14208 209# CHECK: smmulr r7, r8, r92100x58 0xfb 0x19 0xf7211 212# CHECK: umull r1, r2, r3, r42130xa3 0xfb 0x04 0x12214 215# CHECK: pld [r5, r0, lsl #1]2160x15 0xf8 0x10 0xf0217 218# CHECK: pld [pc, #-16]2190x1f 0xf8 0x10 0xf0220 221# CHECK: pld [r5, #30]2220x95 0xf8 0x1e 0xf0223 224# CHECK: stc2 p12, c15, [r9], {137}2250x89 0xfc 0x89 0xfc226 227# CHECK: stc2 p0, c0, [r0, #0]!2280xa0 0xfd 0x00 0x00229 230# CHECK: vmov r1, r0, d112310x50 0xec 0x1b 0x1b232 233# CHECK: dsb nsh2340xbf 0xf3 0x47 0x8f235 236# CHECK: isb2370xbf 0xf3 0x6f 0x8f238 239# CHECK: asrs r1, r0, #322400x1 0x10241 242# CHECK: lsr.w r10, r0, #322430x4f 0xea 0x10 0x0a244 245# CHECK: blx sp2460xe8 0x47247 248# CHECK: bx lr2490x70 0x47250 251# CHECK: bx pc2520x78 0x47253 254# CHECK: svc #2302550xe6 0xdf256 257# CHECK: rfedb lr2580x1e 0xe8 0x00 0xc0259 260# CHECK: mov.w r3, #42949672952610x4f 0xf0 0xff 0x33262 263# CHECK: mov pc, sp2640xef 0x46265 266# CHECK: nop2670x00 0xbf268 269# CHECK: nop.w2700xaf 0xf3 0x00 0x80271 272# CHECK: bne #242730x0c 0xd1274 275# CHECK: vadd.f32 q0, q1, q22760x02 0xef 0x44 0x0d277 278# CHECK: ldrsb r1, [r0, r0]2790x01 0x56280 281# CHECK: ldrsh r1, [r0, r0]2820x01 0x5E283 284# CHECK: and.w r5, r1, r10, ror #72850x1 0xea 0xfa 0x95286 287# CHECK: ldrsh r6, [sp], #812880x3d 0xf9 0x51 0x6b289 290# CHECK: usat16 r4, #10, r12910xa1 0xf3 0x0a 0x04292 293# CHECK: smlad r5, r12, r8, r112940x2c 0xfb 0x8 0xb5295 296# CHECK: teq.w r0, r112970x90 0xea 0xb 0x8f298 299# CHECK: uxtb16 r9, r12, ror #163000x3f 0xfa 0xec 0xf9301 302# CHECK: pldw [r11, r12, lsl #2]3030x3b 0xf8 0x2c 0xf0304 305# CHECK: msr CPSR_fc, r03060x80 0xf3 0x00 0x89307 308# CHECK: mrs r0, apsr3090xef 0xf3 0x00 0x80310 311# rdar://11313994312# CHECK: blx #23132443130x34 0xf2 0x0e 0xee314 315# rdar://11324693316# CHECK: bl #-123031963170x44 0xf4 0x52 0xda318