1# RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 | FileCheck %s 2 3# CHECK: addpl r4, pc, #318767104 40x4c 0x45 0x8f 0x52 5 6# CHECK: b #0 70x00 0x00 0x00 0xea 8 9# CHECK: bl #7732 100x8d 0x07 0x00 0xeb 11 12# CHECK: bleq #-4 130xff 0xff 0xff 0x0b 14 15# CHECK: bfc r8, #0, #16 160x1f 0x80 0xcf 0xe7 17 18# CHECK: bfi r8, r0, #16, #1 190x10 0x88 0xd0 0xe7 20 21# CHECK: mov pc, lr 220x0e 0xf0 0xa0 0xe1 23 24# CHECK: mov pc, #3221225535 250xff 0xf1 0xa0 0xe3 26 27# CHECK: movw r7, #4096 280x00 0x70 0x01 0xe3 29 30# CHECK: cmn r0, #1 310x01 0x00 0x70 0xe3 32 33# CHECK: dmb 340x5f 0xf0 0x7f 0xf5 35 36# CHECK: dmb nshst 370x56 0xf0 0x7f 0xf5 38 39# CHECK: dsb 400x4f 0xf0 0x7f 0xf5 41 42# CHECK: dsb st 430x4e 0xf0 0x7f 0xf5 44 45# CHECK: isb 460x6f 0xf0 0x7f 0xf5 47 48# CHECK: ldclvc p5, cr15, [r8], #-0 490x00 0xf5 0x78 0x7c 50 51# CHECK: ldr r0, [r2], #15 520x0f 0x00 0x92 0xe4 53 54# CHECK: ldr r5, [r7, -r10, lsl #2] 550x0a 0x51 0x17 0xe7 56 57# CHECK: ldrh r0, [r2], #0 580xb0 0x00 0xd2 0xe0 59 60# CHECK: ldrht r0, [r2], #15 610xbf 0x00 0xf2 0xe0 62 63# CHECK: ldrsbtvs lr, [r2], -r9 640xd9 0xe9 0x32 0x60 65 66# CHECK: lsls r0, r2, #31 670x82 0x0f 0xb0 0xe1 68 69# CHECK: mcr2 p0, #0, r2, c1, c0, #7 700xf0 0x20 0x01 0xfe 71 72# CHECK: movt r8, #65535 730xff 0x8f 0x4f 0xe3 74 75# CHECK: mvnspl r7, #1073741885 760xf5 0x71 0xf0 0x53 77 78# CHECK-NOT: orr r7, r8, r7, rrx #0 79# CHECK: orr r7, r8, r7, rrx 800x67 0x70 0x88 0xe1 81 82# CHECK: pkhbt r8, r9, r10, lsl #4 830x1a 0x82 0x89 0xe6 84 85# CHECK-NOT: pkhbtls r10, r11, r11, lsl #0 86# CHECK: pkhbtls r10, r11, r11 870x1b 0xa0 0x8b 0x96 88 89# CHECK: pkhtbmi lr, r1, r6, asr #21 900xd6 0xea 0x81 0x46 91 92# CHECK: pop {r0, r2, r4, r6, r8, r10} 930x55 0x05 0xbd 0xe8 94 95# CHECK: push {r0, r2, r4, r6, r8, r10} 960x55 0x05 0x2d 0xe9 97 98# CHECK: qsax r8, r9, r10 990x5a 0x8f 0x29 0xe6 100 101# CHECK: rfedb r0! 1020x00 0x0a 0x30 0xf9 103 104# CHECK-NOT: rsbeq r0, r2, r0, lsl #0 105# CHECK: rsbeq r0, r2, r0 1060x00 0x00 0x62 0x00 107 108# CHECK-NOT: rscseq r0, r0, r1, lsl #0 109# CHECK: rscseq r0, r0, r1 1100x01 0x00 0xf0 0x00 111 112# CHECK: sbcs r0, pc, #1 1130x01 0x00 0xdf 0xe2 114 115# CHECK: sbfx r0, r1, #0, #8 1160x51 0x00 0xa7 0xe7 117 118# CHECK: ssat r8, #1, r10, lsl #8 1190x1a 0x84 0xa0 0xe6 120 121# CHECK-NOT: ssatmi r0, #17, r12, lsl #0 122# CHECK: ssatmi r0, #17, r12 1230x1c 0x00 0xb0 0x46 124 125# CHECK: stmdb r10!, {r4, r5, r6, r7, lr} 1260xf0 0x40 0x2a 0xe9 127 128# CHECK: teq r0, #31 1290x1f 0x00 0x30 0xe3 130 131# CHECK: ubfx r0, r0, #16, #1 1320x50 0x08 0xe0 0xe7 133 134# CHECK: usat r8, #0, r10, asr #32 1350x5a 0x80 0xe0 0xe6 136 137# CHECK: setend be 1380x00 0x02 0x01 0xf1 139 140# CHECK: setend le 1410x00 0x00 0x01 0xf1 142 143# CHECK: cpsie aif 1440xc0 0x01 0x08 0xf1 145 146# CHECK: cps #15 1470x0f 0x00 0x02 0xf1 148 149# CHECK: cpsie if, #10 1500xca 0x00 0x0a 0xf1 151 152# CHECK: msr CPSR_fc, r0 1530x00 0xf0 0x29 0xe1 154 155# CHECK: msrmi CPSR_c, #4043309056 1560xf1 0xf4 0x21 0x43 157 158# CHECK: rsbs r6, r7, r8 1590x08 0x60 0x77 0xe0 160 161# CHECK: blxeq r5 1620x35 0xff 0x2f 0x01 163 164# CHECK: bx r12 1650x1c 0xff 0x2f 0xe1 166 167# CHECK: bxeq r5 1680x15 0xff 0x2f 0x01 169 170# CHECK: uqadd16mi r6, r11, r8 1710x18 0x60 0x6b 0x46 172 173# CHECK: str r0, [sp, #4] 1740x04 0x00 0x8d 0xe5 175 176# CHECK: str r1, [sp] 1770x00 0x10 0x8d 0xe5 178 179# CHECK: ldr r3, [pc, #144] 1800x90 0x30 0x9f 0xe5 181 182# CHECK: ldr r3, [r0, #-4] 1830x4 0x30 0x10 0xe5 184 185# CHECK: ldr r5, [sp, r0, lsl #1]! 1860x80 0x50 0xbd 0xe7 187 188# CHECK: ldr r5, [r7], -r0, lsr #2 1890x20 0x51 0x17 0xe6 190 191# CHECK: strdeq r2, r3, [r0], -r8 1920xf8 0x24 0x00 0x00 193 194# CHECK: ldrdeq r2, r3, [r0], -r12 1950xdc 0x24 0x00 0x00 196 197# CHECK: ldrbt r3, [r4], -r5, lsl #12 1980x05 0x36 0x74 0xe6 199 200# CHECK: vcmpe.f64 d8, #0 2010xc0 0x8b 0xb5 0xee 202 203# CHECK: vldmdb r2!, {s7, s8, s9, s10, s11} 2040x05 0x3a 0x72 0xed 205 206# CHECK: vldr.32 s23, [r2, #660] 2070xa5 0xba 0xd2 0xed 208 209# CHECK: strtvc r5, [r3], r0, lsr #20 2100x20 0x5a 0xa3 0x76 211 212# CHECK: stmiblo sp, {r0, r4, r8, r11, r12, pc} 2130x11 0x99 0x8d 0x39 214 215# CHECK: ldmdb sp, {r0, r4, r8, r11, r12, pc} 2160x11 0x99 0x1d 0xe9 217 218# CHECK: swpge r3, r2, [r6] 2190x92 0x30 0x06 0xa1 220 221# CHECK: umull r1, r2, r3, r4 2220x93 0x14 0x82 0xe0 223 224# CHECK: pld [pc, #-0] 2250x00 0xf0 0x1f 0xf5 226 227# CHECK: pli [pc, #-0] 2280x00 0xf0 0x5f 0xf4 229 230# CHECK: pli [r3, r1, lsl #2] 2310x01 0xf1 0xd3 0xf6 232 233# CHECK: stc p2, cr4, [r9], {157} 2340x9d 0x42 0x89 0xec 235 236# CHECK: stc2 p2, cr4, [r9], {157} 2370x9d 0x42 0x89 0xfc 238 239# CHECK: blx #60 2400x0f 0x00 0x00 0xfa 241 242# CHECK-NOT: adcs r10, r8, r0, asr #6 243# CHECK: adcshi r10, r8, r0, asr #6 2440x40 0xa3 0xb8 0x80 245 246# CHECK: adcshi r10, r8, r0, asr r3 2470x50 0xa3 0xb8 0x80 248 249# CHECK: streq r1, [sp], #-1567 2500x1f 0x16 0xd 0x4 251 252# CHECK: mrchs p2, #3, r11, c13, c6, #6 2530xd6 0xb2 0x7d 0x2e 254 255# CHECK: smlsldx r4, r12, r11, r4 2560x7b 0x44 0x4c 0xe7 257 258# CHECK: lsl r3, r2, r1 2590x12 0x31 0xa0 0xe1 260 261# CHECK: sxtab r9, r8, r5 2620x75 0x90 0xa8 0xe6 263 264# CHECK: sxtb r9, r5, ror #8 2650x75 0x94 0xaf 0xe6 266 267# CHECK: bfc r5, #0, #16 2680x1f 0x50 0xcf 0xe7 269 270# CHECK: bfi r5, r6, #0, #16 2710x16 0x50 0xcf 0xe7 272 273# CHECK: sbfx r5, r6, #8, #8 2740x56 0x54 0xa7 0xe7 275 276# CHECK: rsb pc, r5, r0 2770x00 0xf0 0x65 0xe0 278 279# CHECK: uqadd8 r5, r6, r7 2800x97 0x5f 0x66 0xe6 281 282# CHECK: uqsax r5, r6, r7 2830x57 0x5f 0x66 0xe6 284 285# CHECK: smmlareq r0, r0, r0, r0 2860x30 0x00 0x50 0x07 287 288# CHECK: nop 2890x00 0xf0 0x20 0xe3 290