1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=thumbv6-apple-darwin -disassemble -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 4*9880d681SAndroid Build Coastguard Worker# ADC (register) 5*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 6*9880d681SAndroid Build Coastguard Worker# CHECK: adcs r4, r6 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker0x74 0x41 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 12*9880d681SAndroid Build Coastguard Worker# ADD (immediate) 13*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 14*9880d681SAndroid Build Coastguard Worker# CHECK: adds r1, r2, #3 15*9880d681SAndroid Build Coastguard Worker# CHECK: adds r2, r2, #3 16*9880d681SAndroid Build Coastguard Worker# CHECK: adds r2, #8 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker0xd1 0x1c 19*9880d681SAndroid Build Coastguard Worker0xd2 0x1c 20*9880d681SAndroid Build Coastguard Worker0x08 0x32 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 23*9880d681SAndroid Build Coastguard Worker# ADD (register) 24*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 25*9880d681SAndroid Build Coastguard Worker# CHECK: adds r1, r2, r3 26*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, r8 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker0xd1 0x18 29*9880d681SAndroid Build Coastguard Worker0x42 0x44 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 32*9880d681SAndroid Build Coastguard Worker# ADD (SP plus immediate) 33*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 34*9880d681SAndroid Build Coastguard Worker# CHECK: add sp, #508 35*9880d681SAndroid Build Coastguard Worker# CHECK: add sp, #4 36*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, sp, #8 37*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, sp, #1020 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker0x7f 0xb0 40*9880d681SAndroid Build Coastguard Worker0x01 0xb0 41*9880d681SAndroid Build Coastguard Worker0x02 0xaa 42*9880d681SAndroid Build Coastguard Worker0xff 0xaa 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 46*9880d681SAndroid Build Coastguard Worker# ADD (SP plus register) 47*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 48*9880d681SAndroid Build Coastguard Worker# CHECK: add sp, r3 49*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, sp, r2 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker0x9d 0x44 52*9880d681SAndroid Build Coastguard Worker0x6a 0x44 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 55*9880d681SAndroid Build Coastguard Worker# ADR 56*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 57*9880d681SAndroid Build Coastguard Worker# CHECK: adr r5, #0 58*9880d681SAndroid Build Coastguard Worker# CHECK: adr r2, #12 59*9880d681SAndroid Build Coastguard Worker# CHECK: adr r3, #1020 60*9880d681SAndroid Build Coastguard Worker0x00 0xa5 61*9880d681SAndroid Build Coastguard Worker0x03 0xa2 62*9880d681SAndroid Build Coastguard Worker0xff 0xa3 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 65*9880d681SAndroid Build Coastguard Worker# ASR (immediate) 66*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 67*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r2, r3, #32 68*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r2, r3, #5 69*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r2, r3, #1 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Worker0x1a 0x10 72*9880d681SAndroid Build Coastguard Worker0x5a 0x11 73*9880d681SAndroid Build Coastguard Worker0x5a 0x10 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 76*9880d681SAndroid Build Coastguard Worker# ASR (register) 77*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 78*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r5, r2 79*9880d681SAndroid Build Coastguard Worker 80*9880d681SAndroid Build Coastguard Worker0x15 0x41 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 83*9880d681SAndroid Build Coastguard Worker# BICS 84*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 85*9880d681SAndroid Build Coastguard Worker# CHECK: bics r1, r6 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Worker0xb1 0x43 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 90*9880d681SAndroid Build Coastguard Worker# B 91*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 92*9880d681SAndroid Build Coastguard Worker# CHECK: bls #128 @ encoding: [0x40,0xd9] 93*9880d681SAndroid Build Coastguard Worker# CHECK: beq #-256 @ encoding: [0x80,0xd0] 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Worker0x40 0xd9 96*9880d681SAndroid Build Coastguard Worker0x80 0xd0 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 99*9880d681SAndroid Build Coastguard Worker# BKPT 100*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 101*9880d681SAndroid Build Coastguard Worker# CHECK: bkpt #0 102*9880d681SAndroid Build Coastguard Worker# CHECK: bkpt #255 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Worker0x00 0xbe 105*9880d681SAndroid Build Coastguard Worker0xff 0xbe 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 108*9880d681SAndroid Build Coastguard Worker# BLX (register) 109*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 110*9880d681SAndroid Build Coastguard Worker# CHECK: blx r4 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard Worker0xa0 0x47 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 115*9880d681SAndroid Build Coastguard Worker# BX 116*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 117*9880d681SAndroid Build Coastguard Worker# CHECK: bx r2 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Worker0x10 0x47 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 122*9880d681SAndroid Build Coastguard Worker# CMN 123*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 124*9880d681SAndroid Build Coastguard Worker# CHECK: cmn r5, r1 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Worker0xcd 0x42 127*9880d681SAndroid Build Coastguard Worker 128*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 129*9880d681SAndroid Build Coastguard Worker# CMP 130*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 131*9880d681SAndroid Build Coastguard Worker# CHECK: cmp r6, #32 132*9880d681SAndroid Build Coastguard Worker# CHECK: cmp r3, r4 133*9880d681SAndroid Build Coastguard Worker# CHECK: cmp r8, r1 134*9880d681SAndroid Build Coastguard Worker 135*9880d681SAndroid Build Coastguard Worker0x20 0x2e 136*9880d681SAndroid Build Coastguard Worker0xa3 0x42 137*9880d681SAndroid Build Coastguard Worker0x88 0x45 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 140*9880d681SAndroid Build Coastguard Worker# EOR 141*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 142*9880d681SAndroid Build Coastguard Worker# CHECK: eors r4, r5 143*9880d681SAndroid Build Coastguard Worker 144*9880d681SAndroid Build Coastguard Worker0x6c 0x40 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 147*9880d681SAndroid Build Coastguard Worker# LDM 148*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 149*9880d681SAndroid Build Coastguard Worker# CHECK: ldm r3, {r0, r1, r2, r3, r4, r5, r6, r7} 150*9880d681SAndroid Build Coastguard Worker# CHECK: ldm r2!, {r1, r3, r4, r5, r7} 151*9880d681SAndroid Build Coastguard Worker# CHECK: ldm r1, {r1} 152*9880d681SAndroid Build Coastguard Worker 153*9880d681SAndroid Build Coastguard Worker0xff 0xcb 154*9880d681SAndroid Build Coastguard Worker0xba 0xca 155*9880d681SAndroid Build Coastguard Worker0x02 0xc9 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Worker 158*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 159*9880d681SAndroid Build Coastguard Worker# LDR (immediate) 160*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 161*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [r5] 162*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r2, [r6, #32] 163*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r3, [r7, #124] 164*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [sp] 165*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r2, [sp, #24] 166*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r3, [sp, #1020] 167*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [pc, #12] 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Worker 170*9880d681SAndroid Build Coastguard Worker0x29 0x68 171*9880d681SAndroid Build Coastguard Worker0x32 0x6a 172*9880d681SAndroid Build Coastguard Worker0xfb 0x6f 173*9880d681SAndroid Build Coastguard Worker0x00 0x99 174*9880d681SAndroid Build Coastguard Worker0x06 0x9a 175*9880d681SAndroid Build Coastguard Worker0xff 0x9b 176*9880d681SAndroid Build Coastguard Worker0x03 0x49 177*9880d681SAndroid Build Coastguard Worker 178*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 179*9880d681SAndroid Build Coastguard Worker# LDR (register) 180*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 181*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [r2, r3] 182*9880d681SAndroid Build Coastguard Worker 183*9880d681SAndroid Build Coastguard Worker0xd1 0x58 184*9880d681SAndroid Build Coastguard Worker 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 187*9880d681SAndroid Build Coastguard Worker# LDRB (immediate) 188*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 189*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r4, [r3] 190*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r5, [r6] 191*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r6, [r7, #31] 192*9880d681SAndroid Build Coastguard Worker 193*9880d681SAndroid Build Coastguard Worker0x1c 0x78 194*9880d681SAndroid Build Coastguard Worker0x35 0x78 195*9880d681SAndroid Build Coastguard Worker0xfe 0x7f 196*9880d681SAndroid Build Coastguard Worker 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 199*9880d681SAndroid Build Coastguard Worker# LDRB (register) 200*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 201*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r6, [r4, r5] 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Worker0x66 0x5d 204*9880d681SAndroid Build Coastguard Worker 205*9880d681SAndroid Build Coastguard Worker 206*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 207*9880d681SAndroid Build Coastguard Worker# LDRH (immediate) 208*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 209*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r3, [r3] 210*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r4, [r6, #2] 211*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r5, [r7, #62] 212*9880d681SAndroid Build Coastguard Worker 213*9880d681SAndroid Build Coastguard Worker0x1b 0x88 214*9880d681SAndroid Build Coastguard Worker0x74 0x88 215*9880d681SAndroid Build Coastguard Worker0xfd 0x8f 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 218*9880d681SAndroid Build Coastguard Worker# LDRH (register) 219*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 220*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r6, [r2, r6] 221*9880d681SAndroid Build Coastguard Worker 222*9880d681SAndroid Build Coastguard Worker0x96 0x5b 223*9880d681SAndroid Build Coastguard Worker 224*9880d681SAndroid Build Coastguard Worker 225*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 226*9880d681SAndroid Build Coastguard Worker# LDRSB/LDRSH 227*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 228*9880d681SAndroid Build Coastguard Worker# CHECK: ldrsb r6, [r2, r6] 229*9880d681SAndroid Build Coastguard Worker# CHECK: ldrsh r3, [r7, r1] 230*9880d681SAndroid Build Coastguard Worker 231*9880d681SAndroid Build Coastguard Worker0x96 0x57 232*9880d681SAndroid Build Coastguard Worker0x7b 0x5e 233*9880d681SAndroid Build Coastguard Worker 234*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 235*9880d681SAndroid Build Coastguard Worker# LSL (immediate) 236*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 237*9880d681SAndroid Build Coastguard Worker# CHECK: movs r4, r5 238*9880d681SAndroid Build Coastguard Worker# CHECK: lsls r4, r5, #4 239*9880d681SAndroid Build Coastguard Worker 240*9880d681SAndroid Build Coastguard Worker0x2c 0x00 241*9880d681SAndroid Build Coastguard Worker0x2c 0x01 242*9880d681SAndroid Build Coastguard Worker 243*9880d681SAndroid Build Coastguard Worker 244*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 245*9880d681SAndroid Build Coastguard Worker# LSL (register) 246*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 247*9880d681SAndroid Build Coastguard Worker# CHECK: lsls r2, r6 248*9880d681SAndroid Build Coastguard Worker 249*9880d681SAndroid Build Coastguard Worker0xb2 0x40 250*9880d681SAndroid Build Coastguard Worker 251*9880d681SAndroid Build Coastguard Worker 252*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 253*9880d681SAndroid Build Coastguard Worker# LSR (immediate) 254*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 255*9880d681SAndroid Build Coastguard Worker# CHECK: lsrs r1, r3, #1 256*9880d681SAndroid Build Coastguard Worker# CHECK: lsrs r1, r3, #32 257*9880d681SAndroid Build Coastguard Worker 258*9880d681SAndroid Build Coastguard Worker0x59 0x08 259*9880d681SAndroid Build Coastguard Worker0x19 0x08 260*9880d681SAndroid Build Coastguard Worker 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 263*9880d681SAndroid Build Coastguard Worker# LSR (register) 264*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 265*9880d681SAndroid Build Coastguard Worker# CHECK: lsrs r2, r6 266*9880d681SAndroid Build Coastguard Worker 267*9880d681SAndroid Build Coastguard Worker0xf2 0x40 268*9880d681SAndroid Build Coastguard Worker 269*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 270*9880d681SAndroid Build Coastguard Worker# MOV (immediate) 271*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 272*9880d681SAndroid Build Coastguard Worker# CHECK: movs r2, #0 273*9880d681SAndroid Build Coastguard Worker# CHECK: movs r2, #255 274*9880d681SAndroid Build Coastguard Worker# CHECK: movs r2, #23 275*9880d681SAndroid Build Coastguard Worker 276*9880d681SAndroid Build Coastguard Worker0x00 0x22 277*9880d681SAndroid Build Coastguard Worker0xff 0x22 278*9880d681SAndroid Build Coastguard Worker0x17 0x22 279*9880d681SAndroid Build Coastguard Worker 280*9880d681SAndroid Build Coastguard Worker 281*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 282*9880d681SAndroid Build Coastguard Worker# MOV (register) 283*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 284*9880d681SAndroid Build Coastguard Worker# CHECK: mov r3, r4 285*9880d681SAndroid Build Coastguard Worker# CHECK: movs r1, r3 286*9880d681SAndroid Build Coastguard Worker# CHECK: mov r8, r8 287*9880d681SAndroid Build Coastguard Worker 288*9880d681SAndroid Build Coastguard Worker0x23 0x46 289*9880d681SAndroid Build Coastguard Worker0x19 0x00 290*9880d681SAndroid Build Coastguard Worker0xc0 0x46 291*9880d681SAndroid Build Coastguard Worker 292*9880d681SAndroid Build Coastguard Worker 293*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 294*9880d681SAndroid Build Coastguard Worker# MUL 295*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 296*9880d681SAndroid Build Coastguard Worker# CHECK: muls r1, r2, r1 297*9880d681SAndroid Build Coastguard Worker# CHECK: muls r3, r4 298*9880d681SAndroid Build Coastguard Worker 299*9880d681SAndroid Build Coastguard Worker0x51 0x43 300*9880d681SAndroid Build Coastguard Worker0x63 0x43 301*9880d681SAndroid Build Coastguard Worker 302*9880d681SAndroid Build Coastguard Worker 303*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 304*9880d681SAndroid Build Coastguard Worker# MVN 305*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 306*9880d681SAndroid Build Coastguard Worker# CHECK: mvns r6, r3 307*9880d681SAndroid Build Coastguard Worker 308*9880d681SAndroid Build Coastguard Worker0xde 0x43 309*9880d681SAndroid Build Coastguard Worker 310*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 311*9880d681SAndroid Build Coastguard Worker# NEG 312*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 313*9880d681SAndroid Build Coastguard Worker# CHECK: rsbs r3, r4, #0 314*9880d681SAndroid Build Coastguard Worker 315*9880d681SAndroid Build Coastguard Worker0x63 0x42 316*9880d681SAndroid Build Coastguard Worker 317*9880d681SAndroid Build Coastguard Worker 318*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 319*9880d681SAndroid Build Coastguard Worker# ORR 320*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 321*9880d681SAndroid Build Coastguard Worker# CHECK: orrs r3, r4 322*9880d681SAndroid Build Coastguard Worker 323*9880d681SAndroid Build Coastguard Worker0x23 0x43 324*9880d681SAndroid Build Coastguard Worker 325*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 326*9880d681SAndroid Build Coastguard Worker# POP 327*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 328*9880d681SAndroid Build Coastguard Worker# CHECK: pop {r2, r3, r6} 329*9880d681SAndroid Build Coastguard Worker 330*9880d681SAndroid Build Coastguard Worker0x4c 0xbc 331*9880d681SAndroid Build Coastguard Worker 332*9880d681SAndroid Build Coastguard Worker 333*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 334*9880d681SAndroid Build Coastguard Worker# PUSH 335*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 336*9880d681SAndroid Build Coastguard Worker# CHECK: push {r1, r2, r7} 337*9880d681SAndroid Build Coastguard Worker 338*9880d681SAndroid Build Coastguard Worker0x86 0xb4 339*9880d681SAndroid Build Coastguard Worker 340*9880d681SAndroid Build Coastguard Worker 341*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 342*9880d681SAndroid Build Coastguard Worker# REV/REV16/REVSH 343*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 344*9880d681SAndroid Build Coastguard Worker# CHECK: rev r6, r3 345*9880d681SAndroid Build Coastguard Worker# CHECK: rev16 r7, r2 346*9880d681SAndroid Build Coastguard Worker# CHECK: revsh r5, r1 347*9880d681SAndroid Build Coastguard Worker 348*9880d681SAndroid Build Coastguard Worker0x1e 0xba 349*9880d681SAndroid Build Coastguard Worker0x57 0xba 350*9880d681SAndroid Build Coastguard Worker0xcd 0xba 351*9880d681SAndroid Build Coastguard Worker 352*9880d681SAndroid Build Coastguard Worker 353*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 354*9880d681SAndroid Build Coastguard Worker# ROR 355*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 356*9880d681SAndroid Build Coastguard Worker# CHECK: rors r2, r7 357*9880d681SAndroid Build Coastguard Worker 358*9880d681SAndroid Build Coastguard Worker0xfa 0x41 359*9880d681SAndroid Build Coastguard Worker 360*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 361*9880d681SAndroid Build Coastguard Worker# RSB 362*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 363*9880d681SAndroid Build Coastguard Worker# CHECK: rsbs r1, r3, #0 364*9880d681SAndroid Build Coastguard Worker 365*9880d681SAndroid Build Coastguard Worker0x59 0x42 366*9880d681SAndroid Build Coastguard Worker 367*9880d681SAndroid Build Coastguard Worker 368*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 369*9880d681SAndroid Build Coastguard Worker# SBC 370*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 371*9880d681SAndroid Build Coastguard Worker# CHECK: sbcs r4, r3 372*9880d681SAndroid Build Coastguard Worker 373*9880d681SAndroid Build Coastguard Worker0x9c 0x41 374*9880d681SAndroid Build Coastguard Worker 375*9880d681SAndroid Build Coastguard Worker 376*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 377*9880d681SAndroid Build Coastguard Worker# SETEND 378*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 379*9880d681SAndroid Build Coastguard Worker# CHECK: setend be 380*9880d681SAndroid Build Coastguard Worker# CHECK: setend le 381*9880d681SAndroid Build Coastguard Worker 382*9880d681SAndroid Build Coastguard Worker0x58 0xb6 383*9880d681SAndroid Build Coastguard Worker0x50 0xb6 384*9880d681SAndroid Build Coastguard Worker 385*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 386*9880d681SAndroid Build Coastguard Worker# STM 387*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 388*9880d681SAndroid Build Coastguard Worker# CHECK: stm r1!, {r2, r6} 389*9880d681SAndroid Build Coastguard Worker# CHECK: stm r1!, {r1, r2, r3, r7} 390*9880d681SAndroid Build Coastguard Worker 391*9880d681SAndroid Build Coastguard Worker0x44 0xc1 392*9880d681SAndroid Build Coastguard Worker0x8e 0xc1 393*9880d681SAndroid Build Coastguard Worker 394*9880d681SAndroid Build Coastguard Worker 395*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 396*9880d681SAndroid Build Coastguard Worker# STR (immediate) 397*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 398*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [r7] 399*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [r7] 400*9880d681SAndroid Build Coastguard Worker# CHECK: str r5, [r1, #4] 401*9880d681SAndroid Build Coastguard Worker# CHECK: str r3, [r7, #124] 402*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [sp] 403*9880d681SAndroid Build Coastguard Worker# CHECK: str r3, [sp] 404*9880d681SAndroid Build Coastguard Worker# CHECK: str r4, [sp, #20] 405*9880d681SAndroid Build Coastguard Worker# CHECK: str r5, [sp, #1020] 406*9880d681SAndroid Build Coastguard Worker 407*9880d681SAndroid Build Coastguard Worker0x3a 0x60 408*9880d681SAndroid Build Coastguard Worker0x3a 0x60 409*9880d681SAndroid Build Coastguard Worker0x4d 0x60 410*9880d681SAndroid Build Coastguard Worker0xfb 0x67 411*9880d681SAndroid Build Coastguard Worker0x00 0x92 412*9880d681SAndroid Build Coastguard Worker0x00 0x93 413*9880d681SAndroid Build Coastguard Worker0x05 0x94 414*9880d681SAndroid Build Coastguard Worker0xff 0x95 415*9880d681SAndroid Build Coastguard Worker 416*9880d681SAndroid Build Coastguard Worker 417*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 418*9880d681SAndroid Build Coastguard Worker# STR (register) 419*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 420*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [r7, r3] 421*9880d681SAndroid Build Coastguard Worker 422*9880d681SAndroid Build Coastguard Worker0xfa 0x50 423*9880d681SAndroid Build Coastguard Worker 424*9880d681SAndroid Build Coastguard Worker 425*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 426*9880d681SAndroid Build Coastguard Worker# STRB (immediate) 427*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 428*9880d681SAndroid Build Coastguard Worker# CHECK: strb r4, [r3] 429*9880d681SAndroid Build Coastguard Worker# CHECK: strb r5, [r6] 430*9880d681SAndroid Build Coastguard Worker# CHECK: strb r6, [r7, #31] 431*9880d681SAndroid Build Coastguard Worker 432*9880d681SAndroid Build Coastguard Worker0x1c 0x70 433*9880d681SAndroid Build Coastguard Worker0x35 0x70 434*9880d681SAndroid Build Coastguard Worker0xfe 0x77 435*9880d681SAndroid Build Coastguard Worker 436*9880d681SAndroid Build Coastguard Worker 437*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 438*9880d681SAndroid Build Coastguard Worker# STRB (register) 439*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 440*9880d681SAndroid Build Coastguard Worker# CHECK: strb r6, [r4, r5] 441*9880d681SAndroid Build Coastguard Worker 442*9880d681SAndroid Build Coastguard Worker0x66 0x55 443*9880d681SAndroid Build Coastguard Worker 444*9880d681SAndroid Build Coastguard Worker 445*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 446*9880d681SAndroid Build Coastguard Worker# STRH (immediate) 447*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 448*9880d681SAndroid Build Coastguard Worker# CHECK: strh r3, [r3] 449*9880d681SAndroid Build Coastguard Worker# CHECK: strh r4, [r6, #2] 450*9880d681SAndroid Build Coastguard Worker# CHECK: strh r5, [r7, #62] 451*9880d681SAndroid Build Coastguard Worker 452*9880d681SAndroid Build Coastguard Worker0x1b 0x80 453*9880d681SAndroid Build Coastguard Worker0x74 0x80 454*9880d681SAndroid Build Coastguard Worker0xfd 0x87 455*9880d681SAndroid Build Coastguard Worker 456*9880d681SAndroid Build Coastguard Worker 457*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 458*9880d681SAndroid Build Coastguard Worker# STRH (register) 459*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 460*9880d681SAndroid Build Coastguard Worker# CHECK: strh r6, [r2, r6] 461*9880d681SAndroid Build Coastguard Worker 462*9880d681SAndroid Build Coastguard Worker0x96 0x53 463*9880d681SAndroid Build Coastguard Worker 464*9880d681SAndroid Build Coastguard Worker 465*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 466*9880d681SAndroid Build Coastguard Worker# SUB (immediate) 467*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 468*9880d681SAndroid Build Coastguard Worker# CHECK: subs r1, r2, #3 469*9880d681SAndroid Build Coastguard Worker# CHECK: subs r2, #3 470*9880d681SAndroid Build Coastguard Worker# CHECK: subs r2, #8 471*9880d681SAndroid Build Coastguard Worker 472*9880d681SAndroid Build Coastguard Worker0xd1 0x1e 473*9880d681SAndroid Build Coastguard Worker0x03 0x3a 474*9880d681SAndroid Build Coastguard Worker0x08 0x3a 475*9880d681SAndroid Build Coastguard Worker 476*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 477*9880d681SAndroid Build Coastguard Worker# SUB (register) 478*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 479*9880d681SAndroid Build Coastguard Worker# CHECK: subs r1, r2, r3 480*9880d681SAndroid Build Coastguard Worker 481*9880d681SAndroid Build Coastguard Worker0xd1 0x1a 482*9880d681SAndroid Build Coastguard Worker 483*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 484*9880d681SAndroid Build Coastguard Worker# SUB (SP minus immediate) 485*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 486*9880d681SAndroid Build Coastguard Worker# CHECK: sub sp, #12 487*9880d681SAndroid Build Coastguard Worker# CHECK: sub sp, #508 488*9880d681SAndroid Build Coastguard Worker 489*9880d681SAndroid Build Coastguard Worker0x83 0xb0 490*9880d681SAndroid Build Coastguard Worker0xff 0xb0 491*9880d681SAndroid Build Coastguard Worker 492*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 493*9880d681SAndroid Build Coastguard Worker# SVC 494*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 495*9880d681SAndroid Build Coastguard Worker# CHECK: svc #0 496*9880d681SAndroid Build Coastguard Worker# CHECK: svc #255 497*9880d681SAndroid Build Coastguard Worker 498*9880d681SAndroid Build Coastguard Worker0x00 0xdf 499*9880d681SAndroid Build Coastguard Worker0xff 0xdf 500*9880d681SAndroid Build Coastguard Worker 501*9880d681SAndroid Build Coastguard Worker 502*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 503*9880d681SAndroid Build Coastguard Worker# SXTB/SXTH 504*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 505*9880d681SAndroid Build Coastguard Worker# CHECK: sxtb r3, r5 506*9880d681SAndroid Build Coastguard Worker# CHECK: sxth r3, r5 507*9880d681SAndroid Build Coastguard Worker 508*9880d681SAndroid Build Coastguard Worker0x6b 0xb2 509*9880d681SAndroid Build Coastguard Worker0x2b 0xb2 510*9880d681SAndroid Build Coastguard Worker 511*9880d681SAndroid Build Coastguard Worker 512*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 513*9880d681SAndroid Build Coastguard Worker# TST 514*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 515*9880d681SAndroid Build Coastguard Worker# CHECK: tst r6, r1 516*9880d681SAndroid Build Coastguard Worker 517*9880d681SAndroid Build Coastguard Worker0x0e 0x42 518*9880d681SAndroid Build Coastguard Worker 519*9880d681SAndroid Build Coastguard Worker 520*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 521*9880d681SAndroid Build Coastguard Worker# UXTB/UXTH 522*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------ 523*9880d681SAndroid Build Coastguard Worker# CHECK: uxtb r7, r2 524*9880d681SAndroid Build Coastguard Worker# CHECK: uxth r1, r4 525*9880d681SAndroid Build Coastguard Worker 526*9880d681SAndroid Build Coastguard Worker0xd7 0xb2 527*9880d681SAndroid Build Coastguard Worker0xa1 0xb2 528