1 # RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 | FileCheck %s 2 3 # CHECK: addpl r4, pc, #318767104 4 0x4c 0x45 0x8f 0x52 5 6 # CHECK: b #0 7 0x00 0x00 0x00 0xea 8 9 # CHECK: bl #7732 10 0x8d 0x07 0x00 0xeb 11 12 # CHECK: bleq #-4 13 0xff 0xff 0xff 0x0b 14 15 # CHECK: bfc r8, #0, #16 16 0x1f 0x80 0xcf 0xe7 17 18 # CHECK: bfi r8, r0, #16, #1 19 0x10 0x88 0xd0 0xe7 20 21 # CHECK: mov pc, lr 22 0x0e 0xf0 0xa0 0xe1 23 24 # CHECK: mov pc, #3221225535 25 0xff 0xf1 0xa0 0xe3 26 27 # CHECK: movw r7, #4096 28 0x00 0x70 0x01 0xe3 29 30 # CHECK: cmn r0, #1 31 0x01 0x00 0x70 0xe3 32 33 # CHECK: dmb 34 0x5f 0xf0 0x7f 0xf5 35 36 # CHECK: dmb nshst 37 0x56 0xf0 0x7f 0xf5 38 39 # CHECK: dsb 40 0x4f 0xf0 0x7f 0xf5 41 42 # CHECK: dsb st 43 0x4e 0xf0 0x7f 0xf5 44 45 # CHECK: isb 46 0x6f 0xf0 0x7f 0xf5 47 48 # CHECK: ldclvc p5, cr15, [r8], #-0 49 0x00 0xf5 0x78 0x7c 50 51 # CHECK: ldr r0, [r2], #15 52 0x0f 0x00 0x92 0xe4 53 54 # CHECK: ldr r5, [r7, -r10, lsl #2] 55 0x0a 0x51 0x17 0xe7 56 57 # CHECK: ldrh r0, [r2], #0 58 0xb0 0x00 0xd2 0xe0 59 60 # CHECK: ldrht r0, [r2], #15 61 0xbf 0x00 0xf2 0xe0 62 63 # CHECK: ldrsbtvs lr, [r2], -r9 64 0xd9 0xe9 0x32 0x60 65 66 # CHECK: lsls r0, r2, #31 67 0x82 0x0f 0xb0 0xe1 68 69 # CHECK: mcr2 p0, #0, r2, c1, c0, #7 70 0xf0 0x20 0x01 0xfe 71 72 # CHECK: movt r8, #65535 73 0xff 0x8f 0x4f 0xe3 74 75 # CHECK: mvnspl r7, #1073741885 76 0xf5 0x71 0xf0 0x53 77 78 # CHECK-NOT: orr r7, r8, r7, rrx #0 79 # CHECK: orr r7, r8, r7, rrx 80 0x67 0x70 0x88 0xe1 81 82 # CHECK: pkhbt r8, r9, r10, lsl #4 83 0x1a 0x82 0x89 0xe6 84 85 # CHECK-NOT: pkhbtls r10, r11, r11, lsl #0 86 # CHECK: pkhbtls r10, r11, r11 87 0x1b 0xa0 0x8b 0x96 88 89 # CHECK: pkhtbmi lr, r1, r6, asr #21 90 0xd6 0xea 0x81 0x46 91 92 # CHECK: pop {r0, r2, r4, r6, r8, r10} 93 0x55 0x05 0xbd 0xe8 94 95 # CHECK: push {r0, r2, r4, r6, r8, r10} 96 0x55 0x05 0x2d 0xe9 97 98 # CHECK: qsax r8, r9, r10 99 0x5a 0x8f 0x29 0xe6 100 101 # CHECK: rfedb r0! 102 0x00 0x0a 0x30 0xf9 103 104 # CHECK-NOT: rsbeq r0, r2, r0, lsl #0 105 # CHECK: rsbeq r0, r2, r0 106 0x00 0x00 0x62 0x00 107 108 # CHECK-NOT: rscseq r0, r0, r1, lsl #0 109 # CHECK: rscseq r0, r0, r1 110 0x01 0x00 0xf0 0x00 111 112 # CHECK: sbcs r0, pc, #1 113 0x01 0x00 0xdf 0xe2 114 115 # CHECK: sbfx r0, r1, #0, #8 116 0x51 0x00 0xa7 0xe7 117 118 # CHECK: ssat r8, #1, r10, lsl #8 119 0x1a 0x84 0xa0 0xe6 120 121 # CHECK-NOT: ssatmi r0, #17, r12, lsl #0 122 # CHECK: ssatmi r0, #17, r12 123 0x1c 0x00 0xb0 0x46 124 125 # CHECK: stmdb r10!, {r4, r5, r6, r7, lr} 126 0xf0 0x40 0x2a 0xe9 127 128 # CHECK: teq r0, #31 129 0x1f 0x00 0x30 0xe3 130 131 # CHECK: ubfx r0, r0, #16, #1 132 0x50 0x08 0xe0 0xe7 133 134 # CHECK: usat r8, #0, r10, asr #32 135 0x5a 0x80 0xe0 0xe6 136 137 # CHECK: setend be 138 0x00 0x02 0x01 0xf1 139 140 # CHECK: setend le 141 0x00 0x00 0x01 0xf1 142 143 # CHECK: cpsie aif 144 0xc0 0x01 0x08 0xf1 145 146 # CHECK: cps #15 147 0x0f 0x00 0x02 0xf1 148 149 # CHECK: cpsie if, #10 150 0xca 0x00 0x0a 0xf1 151 152 # CHECK: msr CPSR_fc, r0 153 0x00 0xf0 0x29 0xe1 154 155 # CHECK: msrmi CPSR_c, #4043309056 156 0xf1 0xf4 0x21 0x43 157 158 # CHECK: rsbs r6, r7, r8 159 0x08 0x60 0x77 0xe0 160 161 # CHECK: blxeq r5 162 0x35 0xff 0x2f 0x01 163 164 # CHECK: bx r12 165 0x1c 0xff 0x2f 0xe1 166 167 # CHECK: bxeq r5 168 0x15 0xff 0x2f 0x01 169 170 # CHECK: uqadd16mi r6, r11, r8 171 0x18 0x60 0x6b 0x46 172 173 # CHECK: str r0, [sp, #4] 174 0x04 0x00 0x8d 0xe5 175 176 # CHECK: str r1, [sp] 177 0x00 0x10 0x8d 0xe5 178 179 # CHECK: ldr r3, [pc, #144] 180 0x90 0x30 0x9f 0xe5 181 182 # CHECK: ldr r3, [r0, #-4] 183 0x4 0x30 0x10 0xe5 184 185 # CHECK: ldr r5, [sp, r0, lsl #1]! 186 0x80 0x50 0xbd 0xe7 187 188 # CHECK: ldr r5, [r7], -r0, lsr #2 189 0x20 0x51 0x17 0xe6 190 191 # CHECK: strdeq r2, r3, [r0], -r8 192 0xf8 0x24 0x00 0x00 193 194 # CHECK: ldrdeq r2, r3, [r0], -r12 195 0xdc 0x24 0x00 0x00 196 197 # CHECK: ldrbt r3, [r4], -r5, lsl #12 198 0x05 0x36 0x74 0xe6 199 200 # CHECK: vcmpe.f64 d8, #0 201 0xc0 0x8b 0xb5 0xee 202 203 # CHECK: vldmdb r2!, {s7, s8, s9, s10, s11} 204 0x05 0x3a 0x72 0xed 205 206 # CHECK: vldr.32 s23, [r2, #660] 207 0xa5 0xba 0xd2 0xed 208 209 # CHECK: strtvc r5, [r3], r0, lsr #20 210 0x20 0x5a 0xa3 0x76 211 212 # CHECK: stmiblo sp, {r0, r4, r8, r11, r12, pc} 213 0x11 0x99 0x8d 0x39 214 215 # CHECK: ldmdb sp, {r0, r4, r8, r11, r12, pc} 216 0x11 0x99 0x1d 0xe9 217 218 # CHECK: swpge r3, r2, [r6] 219 0x92 0x30 0x06 0xa1 220 221 # CHECK: umull r1, r2, r3, r4 222 0x93 0x14 0x82 0xe0 223 224 # CHECK: pld [pc, #-0] 225 0x00 0xf0 0x1f 0xf5 226 227 # CHECK: pli [pc, #-0] 228 0x00 0xf0 0x5f 0xf4 229 230 # CHECK: pli [r3, r1, lsl #2] 231 0x01 0xf1 0xd3 0xf6 232 233 # CHECK: stc p2, cr4, [r9], {157} 234 0x9d 0x42 0x89 0xec 235 236 # CHECK: stc2 p2, cr4, [r9], {157} 237 0x9d 0x42 0x89 0xfc 238 239 # CHECK: blx #60 240 0x0f 0x00 0x00 0xfa 241 242 # CHECK-NOT: adcs r10, r8, r0, asr #6 243 # CHECK: adcshi r10, r8, r0, asr #6 244 0x40 0xa3 0xb8 0x80 245 246 # CHECK: adcshi r10, r8, r0, asr r3 247 0x50 0xa3 0xb8 0x80 248 249 # CHECK: streq r1, [sp], #-1567 250 0x1f 0x16 0xd 0x4 251 252 # CHECK: mrchs p2, #3, r11, c13, c6, #6 253 0xd6 0xb2 0x7d 0x2e 254 255 # CHECK: smlsldx r4, r12, r11, r4 256 0x7b 0x44 0x4c 0xe7 257 258 # CHECK: lsl r3, r2, r1 259 0x12 0x31 0xa0 0xe1 260 261 # CHECK: sxtab r9, r8, r5 262 0x75 0x90 0xa8 0xe6 263 264 # CHECK: sxtb r9, r5, ror #8 265 0x75 0x94 0xaf 0xe6 266 267 # CHECK: bfc r5, #0, #16 268 0x1f 0x50 0xcf 0xe7 269 270 # CHECK: bfi r5, r6, #0, #16 271 0x16 0x50 0xcf 0xe7 272 273 # CHECK: sbfx r5, r6, #8, #8 274 0x56 0x54 0xa7 0xe7 275 276 # CHECK: rsb pc, r5, r0 277 0x00 0xf0 0x65 0xe0 278 279 # CHECK: uqadd8 r5, r6, r7 280 0x97 0x5f 0x66 0xe6 281 282 # CHECK: uqsax r5, r6, r7 283 0x57 0x5f 0x66 0xe6 284 285 # CHECK: smmlareq r0, r0, r0, r0 286 0x30 0x00 0x50 0x07 287 288 # CHECK: nop 289 0x00 0xf0 0x20 0xe3 290