1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=thumbebv7-unknown-unknown -mcpu=cortex-a8 -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s 3*9880d681SAndroid Build Coastguard Worker .syntax unified 4*9880d681SAndroid Build Coastguard Worker .globl _func 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker@ Check that the assembler can handle the documented syntax from the ARM ARM. 7*9880d681SAndroid Build Coastguard Worker@ For complex constructs like shifter operands, check more thoroughly for them 8*9880d681SAndroid Build Coastguard Worker@ once then spot check that following instructions accept the form generally. 9*9880d681SAndroid Build Coastguard Worker@ This gives us good coverage while keeping the overall size of the test 10*9880d681SAndroid Build Coastguard Worker@ more reasonable. 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker@ FIXME: Some 3-operand instructions have a 2-operand assembly syntax. 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker_func: 16*9880d681SAndroid Build Coastguard Worker@ CHECK: _func 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 19*9880d681SAndroid Build Coastguard Worker@ ADC (immediate) 20*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 21*9880d681SAndroid Build Coastguard Worker adc r0, r1, #4 22*9880d681SAndroid Build Coastguard Worker adcs r0, r1, #0 23*9880d681SAndroid Build Coastguard Worker adc r1, r2, #255 24*9880d681SAndroid Build Coastguard Worker adc r3, r7, #0x00550055 25*9880d681SAndroid Build Coastguard Worker adc r8, r12, #0xaa00aa00 26*9880d681SAndroid Build Coastguard Worker adc r9, r7, #0xa5a5a5a5 27*9880d681SAndroid Build Coastguard Worker adc r5, r3, #0x87000000 28*9880d681SAndroid Build Coastguard Worker adc r4, r2, #0x7f800000 29*9880d681SAndroid Build Coastguard Worker adc r4, r2, #0x00000680 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r0, r1, #4 @ encoding: [0x41,0xf1,0x04,0x00] 32*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs r0, r1, #0 @ encoding: [0x51,0xf1,0x00,0x00] 33*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #255 @ encoding: [0x42,0xf1,0xff,0x01] 34*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r3, r7, #5570645 @ encoding: [0x47,0xf1,0x55,0x13] 35*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r8, r12, #2852170240 @ encoding: [0x4c,0xf1,0xaa,0x28] 36*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r9, r7, #2779096485 @ encoding: [0x47,0xf1,0xa5,0x39] 37*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r5, r3, #2264924160 @ encoding: [0x43,0xf1,0x07,0x45] 38*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r2, #2139095040 @ encoding: [0x42,0xf1,0xff,0x44] 39*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r2, #1664 @ encoding: [0x42,0xf5,0xd0,0x64] 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 42*9880d681SAndroid Build Coastguard Worker@ ADC (register) 43*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 44*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6 45*9880d681SAndroid Build Coastguard Worker adcs r4, r5, r6 46*9880d681SAndroid Build Coastguard Worker adc.w r9, r1, r3 47*9880d681SAndroid Build Coastguard Worker adcs.w r9, r1, r3 48*9880d681SAndroid Build Coastguard Worker adc r0, r1, r3, ror #4 49*9880d681SAndroid Build Coastguard Worker adcs r0, r1, r3, lsl #7 50*9880d681SAndroid Build Coastguard Worker adc.w r0, r1, r3, lsr #31 51*9880d681SAndroid Build Coastguard Worker adcs.w r0, r1, r3, asr #32 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker@ CHECK: adc.w r4, r5, r6 @ encoding: [0x45,0xeb,0x06,0x04] 54*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs.w r4, r5, r6 @ encoding: [0x55,0xeb,0x06,0x04] 55*9880d681SAndroid Build Coastguard Worker@ CHECK: adc.w r9, r1, r3 @ encoding: [0x41,0xeb,0x03,0x09] 56*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs.w r9, r1, r3 @ encoding: [0x51,0xeb,0x03,0x09] 57*9880d681SAndroid Build Coastguard Worker@ CHECK: adc.w r0, r1, r3, ror #4 @ encoding: [0x41,0xeb,0x33,0x10] 58*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs.w r0, r1, r3, lsl #7 @ encoding: [0x51,0xeb,0xc3,0x10] 59*9880d681SAndroid Build Coastguard Worker@ CHECK: adc.w r0, r1, r3, lsr #31 @ encoding: [0x41,0xeb,0xd3,0x70] 60*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs.w r0, r1, r3, asr #32 @ encoding: [0x51,0xeb,0x23,0x00] 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 64*9880d681SAndroid Build Coastguard Worker@ ADD (immediate) 65*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 66*9880d681SAndroid Build Coastguard Worker itet eq 67*9880d681SAndroid Build Coastguard Worker addeq r1, r2, #4 68*9880d681SAndroid Build Coastguard Worker addwne r5, r3, #1023 69*9880d681SAndroid Build Coastguard Worker addeq r4, r5, #293 70*9880d681SAndroid Build Coastguard Worker add r2, sp, #1024 71*9880d681SAndroid Build Coastguard Worker add r2, r8, #0xff00 72*9880d681SAndroid Build Coastguard Worker add r2, r3, #257 73*9880d681SAndroid Build Coastguard Worker addw r2, r3, #257 74*9880d681SAndroid Build Coastguard Worker add r12, r6, #0x100 75*9880d681SAndroid Build Coastguard Worker addw r12, r6, #0x100 76*9880d681SAndroid Build Coastguard Worker adds r1, r2, #0x1f0 77*9880d681SAndroid Build Coastguard Worker add r2, #1 78*9880d681SAndroid Build Coastguard Worker add r0, r0, #32 79*9880d681SAndroid Build Coastguard Worker adds r2, r2, #56 80*9880d681SAndroid Build Coastguard Worker adds r2, #56 81*9880d681SAndroid Build Coastguard Worker add r1, r7, #0xcbcbcbcb 82*9880d681SAndroid Build Coastguard Worker add sp, sp, #0x1fe0000 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker adds.w r2, #-16 85*9880d681SAndroid Build Coastguard Worker adds.w r2, r2, #-16 86*9880d681SAndroid Build Coastguard Worker addw r2, #-16 87*9880d681SAndroid Build Coastguard Worker addw r2, #-16 88*9880d681SAndroid Build Coastguard Worker addw r2, r2, #-16 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Worker@ CHECK: itet eq @ encoding: [0x0a,0xbf] 91*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r1, r2, #4 @ encoding: [0x11,0x1d] 92*9880d681SAndroid Build Coastguard Worker@ CHECK: addwne r5, r3, #1023 @ encoding: [0x03,0xf2,0xff,0x35] 93*9880d681SAndroid Build Coastguard Worker@ CHECK: addweq r4, r5, #293 @ encoding: [0x05,0xf2,0x25,0x14] 94*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r2, sp, #1024 @ encoding: [0x0d,0xf5,0x80,0x62] 95*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r2, r8, #65280 @ encoding: [0x08,0xf5,0x7f,0x42] 96*9880d681SAndroid Build Coastguard Worker@ CHECK: addw r2, r3, #257 @ encoding: [0x03,0xf2,0x01,0x12] 97*9880d681SAndroid Build Coastguard Worker@ CHECK: addw r2, r3, #257 @ encoding: [0x03,0xf2,0x01,0x12] 98*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r12, r6, #256 @ encoding: [0x06,0xf5,0x80,0x7c] 99*9880d681SAndroid Build Coastguard Worker@ CHECK: addw r12, r6, #256 @ encoding: [0x06,0xf2,0x00,0x1c] 100*9880d681SAndroid Build Coastguard Worker@ CHECK: adds.w r1, r2, #496 @ encoding: [0x12,0xf5,0xf8,0x71] 101*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r2, r2, #1 @ encoding: [0x02,0xf1,0x01,0x02] 102*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r0, r0, #32 @ encoding: [0x00,0xf1,0x20,0x00] 103*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r2, #56 @ encoding: [0x38,0x32] 104*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r2, #56 @ encoding: [0x38,0x32] 105*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r1, r7, #3419130827 @ encoding: [0x07,0xf1,0xcb,0x31] 106*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w sp, sp, #33423360 @ encoding: [0x0d,0xf1,0xff,0x7d] 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Worker@ CHECK: subs.w r2, r2, #16 @ encoding: [0xb2,0xf1,0x10,0x02] 109*9880d681SAndroid Build Coastguard Worker@ CHECK: subs.w r2, r2, #16 @ encoding: [0xb2,0xf1,0x10,0x02] 110*9880d681SAndroid Build Coastguard Worker@ CHECK: subw r2, r2, #16 @ encoding: [0xa2,0xf2,0x10,0x02] 111*9880d681SAndroid Build Coastguard Worker@ CHECK: subw r2, r2, #16 @ encoding: [0xa2,0xf2,0x10,0x02] 112*9880d681SAndroid Build Coastguard Worker@ CHECK: subw r2, r2, #16 @ encoding: [0xa2,0xf2,0x10,0x02] 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Worker 115*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 116*9880d681SAndroid Build Coastguard Worker@ ADD (register, not SP) A8.8.6 117*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 118*9880d681SAndroid Build Coastguard Worker add r1, r2, r8 119*9880d681SAndroid Build Coastguard Worker add r5, r9, r2, asr #32 120*9880d681SAndroid Build Coastguard Worker adds r7, r3, r1, lsl #31 121*9880d681SAndroid Build Coastguard Worker adds.w r0, r3, r6, lsr #25 122*9880d681SAndroid Build Coastguard Worker add.w r4, r8, r1, ror #12 123*9880d681SAndroid Build Coastguard Worker adds r1, r1, r7 // T1 124*9880d681SAndroid Build Coastguard Worker it eq 125*9880d681SAndroid Build Coastguard Worker addeq r1, r3, r5 // T1 126*9880d681SAndroid Build Coastguard Worker it eq 127*9880d681SAndroid Build Coastguard Worker addeq r1, r1, r5 // T1 128*9880d681SAndroid Build Coastguard Worker it eq 129*9880d681SAndroid Build Coastguard Worker addseq r1, r3, r5 // T3 130*9880d681SAndroid Build Coastguard Worker it eq 131*9880d681SAndroid Build Coastguard Worker addseq r1, r1, r5 // T3 132*9880d681SAndroid Build Coastguard Worker add r10, r8 133*9880d681SAndroid Build Coastguard Worker add r10, r10, r8 134*9880d681SAndroid Build Coastguard Worker it eq 135*9880d681SAndroid Build Coastguard Worker addeq r1, r10 // T2 136*9880d681SAndroid Build Coastguard Worker it eq 137*9880d681SAndroid Build Coastguard Worker addseq r1, r10 // T3 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r1, r2, r8 @ encoding: [0x02,0xeb,0x08,0x01] 140*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r5, r9, r2, asr #32 @ encoding: [0x09,0xeb,0x22,0x05] 141*9880d681SAndroid Build Coastguard Worker@ CHECK: adds.w r7, r3, r1, lsl #31 @ encoding: [0x13,0xeb,0xc1,0x77] 142*9880d681SAndroid Build Coastguard Worker@ CHECK: adds.w r0, r3, r6, lsr #25 @ encoding: [0x13,0xeb,0x56,0x60] 143*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r4, r8, r1, ror #12 @ encoding: [0x08,0xeb,0x31,0x34] 144*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r1, r1, r7 @ encoding: [0xc9,0x19] 145*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 146*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r1, r3, r5 @ encoding: [0x59,0x19] 147*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 148*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r1, r1, r5 @ encoding: [0x49,0x19] 149*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 150*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq.w r1, r3, r5 @ encoding: [0x13,0xeb,0x05,0x01] 151*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 152*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq.w r1, r1, r5 @ encoding: [0x11,0xeb,0x05,0x01] 153*9880d681SAndroid Build Coastguard Worker@ CHECK: add r10, r8 @ encoding: [0xc2,0x44] 154*9880d681SAndroid Build Coastguard Worker@ CHECK: add r10, r8 @ encoding: [0xc2,0x44] 155*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 156*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r1, r10 @ encoding: [0x51,0x44] 157*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 158*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq.w r1, r1, r10 @ encoding: [0x11,0xeb,0x0a,0x01] 159*9880d681SAndroid Build Coastguard Worker 160*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 161*9880d681SAndroid Build Coastguard Worker@ ADD (SP plus immediate) A8.8.9 162*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 163*9880d681SAndroid Build Coastguard Worker it eq 164*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 165*9880d681SAndroid Build Coastguard Worker addeq r7, sp, #1020 // T1 166*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r7, sp, #1020 @ encoding: [0xff,0xaf] 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Worker it eq 169*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 170*9880d681SAndroid Build Coastguard Worker addeq sp, sp, #508 // T2 171*9880d681SAndroid Build Coastguard Worker@ FIXME: ARMARM says 'addeq sp, sp, #508' 172*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq sp, #508 @ encoding: [0x7f,0xb0] 173*9880d681SAndroid Build Coastguard Worker 174*9880d681SAndroid Build Coastguard Worker add r7, sp, #15 // T3 175*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r7, sp, #15 @ encoding: [0x0d,0xf1,0x0f,0x07] 176*9880d681SAndroid Build Coastguard Worker adds r7, sp, #16 // T3 177*9880d681SAndroid Build Coastguard Worker@ CHECK: adds.w r7, sp, #16 @ encoding: [0x1d,0xf1,0x10,0x07] 178*9880d681SAndroid Build Coastguard Worker add r8, sp, #16 // T3 179*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r8, sp, #16 @ encoding: [0x0d,0xf1,0x10,0x08] 180*9880d681SAndroid Build Coastguard Worker 181*9880d681SAndroid Build Coastguard Worker addw r6, sp, #1020 // T4 182*9880d681SAndroid Build Coastguard Worker@ CHECK: addw r6, sp, #1020 @ encoding: [0x0d,0xf2,0xfc,0x36] 183*9880d681SAndroid Build Coastguard Worker add r6, sp, #1019 // T4 184*9880d681SAndroid Build Coastguard Worker@ CHECK: addw r6, sp, #1019 @ encoding: [0x0d,0xf2,0xfb,0x36] 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 187*9880d681SAndroid Build Coastguard Worker@ ADD (SP plus register) A8.8.10 188*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 189*9880d681SAndroid Build Coastguard Worker it eq 190*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 191*9880d681SAndroid Build Coastguard Worker addeq r8, sp, r8 // T1 192*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r8, sp, r8 @ encoding: [0xe8,0x44] 193*9880d681SAndroid Build Coastguard Worker it eq 194*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 195*9880d681SAndroid Build Coastguard Worker addeq r8, sp // T1 196*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r8, sp @ encoding: [0xe8,0x44] 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard Worker it eq 199*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 200*9880d681SAndroid Build Coastguard Worker addeq sp, r9 // T2 201*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq sp, r9 @ encoding: [0xcd,0x44] 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Worker add r2, sp, ip // T3 204*9880d681SAndroid Build Coastguard Worker@ CHECK: add.w r2, sp, r12 @ encoding: [0x0d,0xeb,0x0c,0x02] 205*9880d681SAndroid Build Coastguard Worker it eq 206*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 207*9880d681SAndroid Build Coastguard Worker addeq r2, sp, ip // T3 208*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq.w r2, sp, r12 @ encoding: [0x0d,0xeb,0x0c,0x02] 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Worker 211*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 212*9880d681SAndroid Build Coastguard Worker@ FIXME: ADR 213*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 214*9880d681SAndroid Build Coastguard Worker 215*9880d681SAndroid Build Coastguard Worker subw r11, pc, #3270 216*9880d681SAndroid Build Coastguard Worker adr.w r2, #3 217*9880d681SAndroid Build Coastguard Worker adr.w r11, #-826 218*9880d681SAndroid Build Coastguard Worker adr.w r1, #-0x0 219*9880d681SAndroid Build Coastguard Worker 220*9880d681SAndroid Build Coastguard Worker@ CHECK: subw r11, pc, #3270 @ encoding: [0xaf,0xf6,0xc6,0x4b] 221*9880d681SAndroid Build Coastguard Worker@ CHECK: adr.w r2, #3 @ encoding: [0x0f,0xf2,0x03,0x02] 222*9880d681SAndroid Build Coastguard Worker@ CHECK: adr.w r11, #-826 @ encoding: [0xaf,0xf2,0x3a,0x3b] 223*9880d681SAndroid Build Coastguard Worker@ CHECK: adr.w r1, #-0 @ encoding: [0xaf,0xf2,0x00,0x01] 224*9880d681SAndroid Build Coastguard Worker 225*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 226*9880d681SAndroid Build Coastguard Worker@ AND (immediate) 227*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 228*9880d681SAndroid Build Coastguard Worker and r2, r5, #0xff000 229*9880d681SAndroid Build Coastguard Worker ands r3, r12, #0xf 230*9880d681SAndroid Build Coastguard Worker and r1, #0xff 231*9880d681SAndroid Build Coastguard Worker and r1, r1, #0xff 232*9880d681SAndroid Build Coastguard Worker and r5, r4, #0xffffffff 233*9880d681SAndroid Build Coastguard Worker ands r1, r9, #0xffffffff 234*9880d681SAndroid Build Coastguard Worker 235*9880d681SAndroid Build Coastguard Worker@ CHECK: and r2, r5, #1044480 @ encoding: [0x05,0xf4,0x7f,0x22] 236*9880d681SAndroid Build Coastguard Worker@ CHECK: ands r3, r12, #15 @ encoding: [0x1c,0xf0,0x0f,0x03] 237*9880d681SAndroid Build Coastguard Worker@ CHECK: and r1, r1, #255 @ encoding: [0x01,0xf0,0xff,0x01] 238*9880d681SAndroid Build Coastguard Worker@ CHECK: and r1, r1, #255 @ encoding: [0x01,0xf0,0xff,0x01] 239*9880d681SAndroid Build Coastguard Worker@ CHECK: and r5, r4, #4294967295 @ encoding: [0x04,0xf0,0xff,0x35] 240*9880d681SAndroid Build Coastguard Worker@ CHECK: ands r1, r9, #4294967295 @ encoding: [0x19,0xf0,0xff,0x31] 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 243*9880d681SAndroid Build Coastguard Worker@ AND (register) 244*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 245*9880d681SAndroid Build Coastguard Worker and r4, r9, r8 246*9880d681SAndroid Build Coastguard Worker and r1, r4, r8, asr #3 247*9880d681SAndroid Build Coastguard Worker ands r2, r1, r7, lsl #1 248*9880d681SAndroid Build Coastguard Worker ands.w r4, r5, r2, lsr #20 249*9880d681SAndroid Build Coastguard Worker and.w r9, r12, r1, ror #17 250*9880d681SAndroid Build Coastguard Worker 251*9880d681SAndroid Build Coastguard Worker@ CHECK: and.w r4, r9, r8 @ encoding: [0x09,0xea,0x08,0x04] 252*9880d681SAndroid Build Coastguard Worker@ CHECK: and.w r1, r4, r8, asr #3 @ encoding: [0x04,0xea,0xe8,0x01] 253*9880d681SAndroid Build Coastguard Worker@ CHECK: ands.w r2, r1, r7, lsl #1 @ encoding: [0x11,0xea,0x47,0x02] 254*9880d681SAndroid Build Coastguard Worker@ CHECK: ands.w r4, r5, r2, lsr #20 @ encoding: [0x15,0xea,0x12,0x54] 255*9880d681SAndroid Build Coastguard Worker@ CHECK: and.w r9, r12, r1, ror #17 @ encoding: [0x0c,0xea,0x71,0x49] 256*9880d681SAndroid Build Coastguard Worker 257*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 258*9880d681SAndroid Build Coastguard Worker@ ASR (immediate) 259*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 260*9880d681SAndroid Build Coastguard Worker asr r2, r3, #12 261*9880d681SAndroid Build Coastguard Worker asrs r8, r3, #32 262*9880d681SAndroid Build Coastguard Worker asrs.w r2, r3, #1 263*9880d681SAndroid Build Coastguard Worker asr r2, r3, #4 264*9880d681SAndroid Build Coastguard Worker asrs r2, r12, #15 265*9880d681SAndroid Build Coastguard Worker 266*9880d681SAndroid Build Coastguard Worker asr r3, #19 267*9880d681SAndroid Build Coastguard Worker asrs r8, #2 268*9880d681SAndroid Build Coastguard Worker asrs.w r7, #5 269*9880d681SAndroid Build Coastguard Worker asr.w r12, #21 270*9880d681SAndroid Build Coastguard Worker 271*9880d681SAndroid Build Coastguard Worker@ CHECK: asr.w r2, r3, #12 @ encoding: [0x4f,0xea,0x23,0x32] 272*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs.w r8, r3, #32 @ encoding: [0x5f,0xea,0x23,0x08] 273*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs.w r2, r3, #1 @ encoding: [0x5f,0xea,0x63,0x02] 274*9880d681SAndroid Build Coastguard Worker@ CHECK: asr.w r2, r3, #4 @ encoding: [0x4f,0xea,0x23,0x12] 275*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs.w r2, r12, #15 @ encoding: [0x5f,0xea,0xec,0x32] 276*9880d681SAndroid Build Coastguard Worker 277*9880d681SAndroid Build Coastguard Worker@ CHECK: asr.w r3, r3, #19 @ encoding: [0x4f,0xea,0xe3,0x43] 278*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs.w r8, r8, #2 @ encoding: [0x5f,0xea,0xa8,0x08] 279*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs.w r7, r7, #5 @ encoding: [0x5f,0xea,0x67,0x17] 280*9880d681SAndroid Build Coastguard Worker@ CHECK: asr.w r12, r12, #21 @ encoding: [0x4f,0xea,0x6c,0x5c] 281*9880d681SAndroid Build Coastguard Worker 282*9880d681SAndroid Build Coastguard Worker 283*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 284*9880d681SAndroid Build Coastguard Worker@ ASR (register) 285*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 286*9880d681SAndroid Build Coastguard Worker asr r3, r4, r2 287*9880d681SAndroid Build Coastguard Worker asr.w r1, r2 288*9880d681SAndroid Build Coastguard Worker asrs r3, r4, r8 289*9880d681SAndroid Build Coastguard Worker 290*9880d681SAndroid Build Coastguard Worker@ CHECK: asr.w r3, r4, r2 @ encoding: [0x44,0xfa,0x02,0xf3] 291*9880d681SAndroid Build Coastguard Worker@ CHECK: asr.w r1, r1, r2 @ encoding: [0x41,0xfa,0x02,0xf1] 292*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs.w r3, r4, r8 @ encoding: [0x54,0xfa,0x08,0xf3] 293*9880d681SAndroid Build Coastguard Worker 294*9880d681SAndroid Build Coastguard Worker 295*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 296*9880d681SAndroid Build Coastguard Worker@ B 297*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 298*9880d681SAndroid Build Coastguard Worker b.w _bar 299*9880d681SAndroid Build Coastguard Worker beq.w _bar 300*9880d681SAndroid Build Coastguard Worker it eq 301*9880d681SAndroid Build Coastguard Worker beq.w _bar 302*9880d681SAndroid Build Coastguard Worker bmi.w #-183396 303*9880d681SAndroid Build Coastguard Worker 304*9880d681SAndroid Build Coastguard Worker@ CHECK: b.w _bar @ encoding: [A,0xf0'A',A,0x90'A'] 305*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch 306*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: b.w _bar @ encoding: [0xf0'A',A,0x90'A',A] 307*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch 308*9880d681SAndroid Build Coastguard Worker@ CHECK: beq.w _bar @ encoding: [A,0xf0'A',A,0x80'A'] 309*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_condbranch 310*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: beq.w _bar @ encoding: [0xf0'A',A,0x80'A',A] 311*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_condbranch 312*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 313*9880d681SAndroid Build Coastguard Worker@ CHECK: beq.w _bar @ encoding: [A,0xf0'A',A,0x90'A'] 314*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch 315*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: beq.w _bar @ encoding: [0xf0'A',A,0x90'A',A] 316*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch 317*9880d681SAndroid Build Coastguard Worker@ CHECK: bmi.w #-183396 @ encoding: [0x13,0xf5,0xce,0xa9] 318*9880d681SAndroid Build Coastguard Worker 319*9880d681SAndroid Build Coastguard Worker 320*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 321*9880d681SAndroid Build Coastguard Worker@ BFC 322*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 323*9880d681SAndroid Build Coastguard Worker bfc r5, #3, #17 324*9880d681SAndroid Build Coastguard Worker it lo 325*9880d681SAndroid Build Coastguard Worker bfccc r5, #3, #17 326*9880d681SAndroid Build Coastguard Worker 327*9880d681SAndroid Build Coastguard Worker@ CHECK: bfc r5, #3, #17 @ encoding: [0x6f,0xf3,0xd3,0x05] 328*9880d681SAndroid Build Coastguard Worker@ CHECK: it lo @ encoding: [0x38,0xbf] 329*9880d681SAndroid Build Coastguard Worker@ CHECK: bfclo r5, #3, #17 @ encoding: [0x6f,0xf3,0xd3,0x05] 330*9880d681SAndroid Build Coastguard Worker 331*9880d681SAndroid Build Coastguard Worker 332*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 333*9880d681SAndroid Build Coastguard Worker@ BFI 334*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 335*9880d681SAndroid Build Coastguard Worker bfi r5, r2, #3, #17 336*9880d681SAndroid Build Coastguard Worker it ne 337*9880d681SAndroid Build Coastguard Worker bfine r5, r2, #3, #17 338*9880d681SAndroid Build Coastguard Worker 339*9880d681SAndroid Build Coastguard Worker@ CHECK: bfi r5, r2, #3, #17 @ encoding: [0x62,0xf3,0xd3,0x05] 340*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 341*9880d681SAndroid Build Coastguard Worker@ CHECK: bfine r5, r2, #3, #17 @ encoding: [0x62,0xf3,0xd3,0x05] 342*9880d681SAndroid Build Coastguard Worker 343*9880d681SAndroid Build Coastguard Worker 344*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 345*9880d681SAndroid Build Coastguard Worker@ BIC 346*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 347*9880d681SAndroid Build Coastguard Worker bic r10, r1, #0xf 348*9880d681SAndroid Build Coastguard Worker bic r5, r2, #0xffffffff 349*9880d681SAndroid Build Coastguard Worker bics r11, r10, #0xffffffff 350*9880d681SAndroid Build Coastguard Worker bic r12, r3, r6 351*9880d681SAndroid Build Coastguard Worker bic r11, r2, r6, lsl #12 352*9880d681SAndroid Build Coastguard Worker bic r8, r4, r1, lsr #11 353*9880d681SAndroid Build Coastguard Worker bic r7, r5, r7, lsr #15 354*9880d681SAndroid Build Coastguard Worker bic r6, r7, r9, asr #32 355*9880d681SAndroid Build Coastguard Worker bic r5, r6, r8, ror #1 356*9880d681SAndroid Build Coastguard Worker 357*9880d681SAndroid Build Coastguard Worker @ destination register is optional 358*9880d681SAndroid Build Coastguard Worker bic r1, #0xf 359*9880d681SAndroid Build Coastguard Worker bic r1, r1 360*9880d681SAndroid Build Coastguard Worker bic r4, r2, lsl #31 361*9880d681SAndroid Build Coastguard Worker bic r6, r3, lsr #12 362*9880d681SAndroid Build Coastguard Worker bic r7, r4, lsr #7 363*9880d681SAndroid Build Coastguard Worker bic r8, r5, asr #15 364*9880d681SAndroid Build Coastguard Worker bic r12, r6, ror #29 365*9880d681SAndroid Build Coastguard Worker 366*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, #15 @ encoding: [0x21,0xf0,0x0f,0x0a] 367*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r5, r2, #4294967295 @ encoding: [0x22,0xf0,0xff,0x35] 368*9880d681SAndroid Build Coastguard Worker@ CHECK: bics r11, r10, #4294967295 @ encoding: [0x3a,0xf0,0xff,0x3b] 369*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r12, r3, r6 @ encoding: [0x23,0xea,0x06,0x0c] 370*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r11, r2, r6, lsl #12 @ encoding: [0x22,0xea,0x06,0x3b] 371*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r8, r4, r1, lsr #11 @ encoding: [0x24,0xea,0xd1,0x28] 372*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r7, r5, r7, lsr #15 @ encoding: [0x25,0xea,0xd7,0x37] 373*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r6, r7, r9, asr #32 @ encoding: [0x27,0xea,0x29,0x06] 374*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r5, r6, r8, ror #1 @ encoding: [0x26,0xea,0x78,0x05] 375*9880d681SAndroid Build Coastguard Worker 376*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r1, r1, #15 @ encoding: [0x21,0xf0,0x0f,0x01] 377*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r1, r1, r1 @ encoding: [0x21,0xea,0x01,0x01] 378*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r4, r4, r2, lsl #31 @ encoding: [0x24,0xea,0xc2,0x74] 379*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r6, r6, r3, lsr #12 @ encoding: [0x26,0xea,0x13,0x36] 380*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r7, r7, r4, lsr #7 @ encoding: [0x27,0xea,0xd4,0x17] 381*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r8, r8, r5, asr #15 @ encoding: [0x28,0xea,0xe5,0x38] 382*9880d681SAndroid Build Coastguard Worker@ CHECK: bic.w r12, r12, r6, ror #29 @ encoding: [0x2c,0xea,0x76,0x7c] 383*9880d681SAndroid Build Coastguard Worker 384*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 385*9880d681SAndroid Build Coastguard Worker@ BKPT 386*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 387*9880d681SAndroid Build Coastguard Worker it pl 388*9880d681SAndroid Build Coastguard Worker bkpt #234 389*9880d681SAndroid Build Coastguard Worker 390*9880d681SAndroid Build Coastguard Worker@ CHECK: it pl @ encoding: [0x58,0xbf] 391*9880d681SAndroid Build Coastguard Worker@ CHECK: bkpt #234 @ encoding: [0xea,0xbe] 392*9880d681SAndroid Build Coastguard Worker 393*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 394*9880d681SAndroid Build Coastguard Worker@ BXJ 395*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 396*9880d681SAndroid Build Coastguard Worker bxj r5 397*9880d681SAndroid Build Coastguard Worker it ne 398*9880d681SAndroid Build Coastguard Worker bxjne r7 399*9880d681SAndroid Build Coastguard Worker 400*9880d681SAndroid Build Coastguard Worker@ CHECK: bxj r5 @ encoding: [0xc5,0xf3,0x00,0x8f] 401*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 402*9880d681SAndroid Build Coastguard Worker@ CHECK: bxjne r7 @ encoding: [0xc7,0xf3,0x00,0x8f] 403*9880d681SAndroid Build Coastguard Worker 404*9880d681SAndroid Build Coastguard Worker 405*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 406*9880d681SAndroid Build Coastguard Worker@ CBZ/CBNZ 407*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 408*9880d681SAndroid Build Coastguard Worker cbnz r7, #6 409*9880d681SAndroid Build Coastguard Worker cbnz r7, #12 410*9880d681SAndroid Build Coastguard Worker cbz r6, _bar 411*9880d681SAndroid Build Coastguard Worker cbnz r6, _bar 412*9880d681SAndroid Build Coastguard Worker 413*9880d681SAndroid Build Coastguard Worker@ CHECK: cbnz r7, #6 @ encoding: [0x1f,0xb9] 414*9880d681SAndroid Build Coastguard Worker@ CHECK: cbnz r7, #12 @ encoding: [0x37,0xb9] 415*9880d681SAndroid Build Coastguard Worker@ CHECK: cbz r6, _bar @ encoding: [0x06'A',0xb1'A'] 416*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb 417*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: cbz r6, _bar @ encoding: [0xb1'A',0x06'A'] 418*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb 419*9880d681SAndroid Build Coastguard Worker@ CHECK: cbnz r6, _bar @ encoding: [0x06'A',0xb9'A'] 420*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb 421*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: cbnz r6, _bar @ encoding: [0xb9'A',0x06'A'] 422*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb 423*9880d681SAndroid Build Coastguard Worker 424*9880d681SAndroid Build Coastguard Worker 425*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 426*9880d681SAndroid Build Coastguard Worker@ CDP/CDP2 427*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 428*9880d681SAndroid Build Coastguard Worker cdp p7, #1, c1, c1, c1, #4 429*9880d681SAndroid Build Coastguard Worker cdp2 p7, #1, c1, c1, c1, #4 430*9880d681SAndroid Build Coastguard Worker 431*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp p7, #1, c1, c1, c1, #4 @ encoding: [0x11,0xee,0x81,0x17] 432*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp2 p7, #1, c1, c1, c1, #4 @ encoding: [0x11,0xfe,0x81,0x17] 433*9880d681SAndroid Build Coastguard Worker 434*9880d681SAndroid Build Coastguard Worker 435*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 436*9880d681SAndroid Build Coastguard Worker@ CLREX 437*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 438*9880d681SAndroid Build Coastguard Worker clrex 439*9880d681SAndroid Build Coastguard Worker it ne 440*9880d681SAndroid Build Coastguard Worker clrexne 441*9880d681SAndroid Build Coastguard Worker 442*9880d681SAndroid Build Coastguard Worker@ CHECK: clrex @ encoding: [0xbf,0xf3,0x2f,0x8f] 443*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 444*9880d681SAndroid Build Coastguard Worker@ CHECK: clrexne @ encoding: [0xbf,0xf3,0x2f,0x8f] 445*9880d681SAndroid Build Coastguard Worker 446*9880d681SAndroid Build Coastguard Worker 447*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 448*9880d681SAndroid Build Coastguard Worker@ CLZ 449*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 450*9880d681SAndroid Build Coastguard Worker clz r1, r2 451*9880d681SAndroid Build Coastguard Worker it eq 452*9880d681SAndroid Build Coastguard Worker clzeq r1, r2 453*9880d681SAndroid Build Coastguard Worker 454*9880d681SAndroid Build Coastguard Worker@ CHECK: clz r1, r2 @ encoding: [0xb2,0xfa,0x82,0xf1] 455*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 456*9880d681SAndroid Build Coastguard Worker@ CHECK: clzeq r1, r2 @ encoding: [0xb2,0xfa,0x82,0xf1] 457*9880d681SAndroid Build Coastguard Worker 458*9880d681SAndroid Build Coastguard Worker 459*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 460*9880d681SAndroid Build Coastguard Worker@ CMN 461*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 462*9880d681SAndroid Build Coastguard Worker cmn r1, #0xf 463*9880d681SAndroid Build Coastguard Worker cmn r8, r6 464*9880d681SAndroid Build Coastguard Worker cmn r1, r6, lsl #10 465*9880d681SAndroid Build Coastguard Worker cmn r1, r6, lsr #10 466*9880d681SAndroid Build Coastguard Worker cmn sp, r6, lsr #10 467*9880d681SAndroid Build Coastguard Worker cmn r1, r6, asr #10 468*9880d681SAndroid Build Coastguard Worker cmn r1, r6, ror #10 469*9880d681SAndroid Build Coastguard Worker 470*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w r1, #15 @ encoding: [0x11,0xf1,0x0f,0x0f] 471*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w r8, r6 @ encoding: [0x18,0xeb,0x06,0x0f] 472*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w r1, r6, lsl #10 @ encoding: [0x11,0xeb,0x86,0x2f] 473*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w r1, r6, lsr #10 @ encoding: [0x11,0xeb,0x96,0x2f] 474*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w sp, r6, lsr #10 @ encoding: [0x1d,0xeb,0x96,0x2f] 475*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w r1, r6, asr #10 @ encoding: [0x11,0xeb,0xa6,0x2f] 476*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w r1, r6, ror #10 @ encoding: [0x11,0xeb,0xb6,0x2f] 477*9880d681SAndroid Build Coastguard Worker 478*9880d681SAndroid Build Coastguard Worker 479*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 480*9880d681SAndroid Build Coastguard Worker@ CMP 481*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 482*9880d681SAndroid Build Coastguard Worker cmp r5, #0xff00 483*9880d681SAndroid Build Coastguard Worker cmp.w r4, r12 484*9880d681SAndroid Build Coastguard Worker cmp r9, r6, lsl #12 485*9880d681SAndroid Build Coastguard Worker cmp r3, r7, lsr #31 486*9880d681SAndroid Build Coastguard Worker cmp sp, r6, lsr #1 487*9880d681SAndroid Build Coastguard Worker cmp r2, r5, asr #24 488*9880d681SAndroid Build Coastguard Worker cmp r1, r4, ror #15 489*9880d681SAndroid Build Coastguard Worker cmp r2, #-2 490*9880d681SAndroid Build Coastguard Worker cmp r9, #1 491*9880d681SAndroid Build Coastguard Worker 492*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w r5, #65280 @ encoding: [0xb5,0xf5,0x7f,0x4f] 493*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w r4, r12 @ encoding: [0xb4,0xeb,0x0c,0x0f] 494*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w r9, r6, lsl #12 @ encoding: [0xb9,0xeb,0x06,0x3f] 495*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w r3, r7, lsr #31 @ encoding: [0xb3,0xeb,0xd7,0x7f] 496*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w sp, r6, lsr #1 @ encoding: [0xbd,0xeb,0x56,0x0f] 497*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w r2, r5, asr #24 @ encoding: [0xb2,0xeb,0x25,0x6f] 498*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w r1, r4, ror #15 @ encoding: [0xb1,0xeb,0xf4,0x3f] 499*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn.w r2, #2 @ encoding: [0x12,0xf1,0x02,0x0f] 500*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp.w r9, #1 @ encoding: [0xb9,0xf1,0x01,0x0f] 501*9880d681SAndroid Build Coastguard Worker 502*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 503*9880d681SAndroid Build Coastguard Worker@ CPS 504*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 505*9880d681SAndroid Build Coastguard Worker 506*9880d681SAndroid Build Coastguard Worker cpsie f 507*9880d681SAndroid Build Coastguard Worker cpsid a 508*9880d681SAndroid Build Coastguard Worker cpsie.w f 509*9880d681SAndroid Build Coastguard Worker cpsid.w a 510*9880d681SAndroid Build Coastguard Worker cpsie i, #3 511*9880d681SAndroid Build Coastguard Worker cpsie.w i, #3 512*9880d681SAndroid Build Coastguard Worker cpsid f, #9 513*9880d681SAndroid Build Coastguard Worker cpsid.w f, #9 514*9880d681SAndroid Build Coastguard Worker cps #0 515*9880d681SAndroid Build Coastguard Worker cps.w #0 516*9880d681SAndroid Build Coastguard Worker 517*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsie f @ encoding: [0x61,0xb6] 518*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsid a @ encoding: [0x74,0xb6] 519*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsie.w f @ encoding: [0xaf,0xf3,0x20,0x84] 520*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsid.w a @ encoding: [0xaf,0xf3,0x80,0x86] 521*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsie i, #3 @ encoding: [0xaf,0xf3,0x43,0x85] 522*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsie i, #3 @ encoding: [0xaf,0xf3,0x43,0x85] 523*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsid f, #9 @ encoding: [0xaf,0xf3,0x29,0x87] 524*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsid f, #9 @ encoding: [0xaf,0xf3,0x29,0x87] 525*9880d681SAndroid Build Coastguard Worker@ CHECK: cps #0 @ encoding: [0xaf,0xf3,0x00,0x81] 526*9880d681SAndroid Build Coastguard Worker@ CHECK: cps #0 @ encoding: [0xaf,0xf3,0x00,0x81] 527*9880d681SAndroid Build Coastguard Worker 528*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 529*9880d681SAndroid Build Coastguard Worker@ DBG 530*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 531*9880d681SAndroid Build Coastguard Worker dbg #5 532*9880d681SAndroid Build Coastguard Worker dbg #0 533*9880d681SAndroid Build Coastguard Worker dbg #15 534*9880d681SAndroid Build Coastguard Worker 535*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #5 @ encoding: [0xaf,0xf3,0xf5,0x80] 536*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #0 @ encoding: [0xaf,0xf3,0xf0,0x80] 537*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #15 @ encoding: [0xaf,0xf3,0xff,0x80] 538*9880d681SAndroid Build Coastguard Worker 539*9880d681SAndroid Build Coastguard Worker 540*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 541*9880d681SAndroid Build Coastguard Worker@ DMB 542*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 543*9880d681SAndroid Build Coastguard Worker dmb #0xf 544*9880d681SAndroid Build Coastguard Worker dmb #0xe 545*9880d681SAndroid Build Coastguard Worker dmb #0xd 546*9880d681SAndroid Build Coastguard Worker dmb #0xc 547*9880d681SAndroid Build Coastguard Worker dmb #0xb 548*9880d681SAndroid Build Coastguard Worker dmb #0xa 549*9880d681SAndroid Build Coastguard Worker dmb #0x9 550*9880d681SAndroid Build Coastguard Worker dmb #0x8 551*9880d681SAndroid Build Coastguard Worker dmb #0x7 552*9880d681SAndroid Build Coastguard Worker dmb #0x6 553*9880d681SAndroid Build Coastguard Worker dmb #0x5 554*9880d681SAndroid Build Coastguard Worker dmb #0x4 555*9880d681SAndroid Build Coastguard Worker dmb #0x3 556*9880d681SAndroid Build Coastguard Worker dmb #0x2 557*9880d681SAndroid Build Coastguard Worker dmb #0x1 558*9880d681SAndroid Build Coastguard Worker dmb #0x0 559*9880d681SAndroid Build Coastguard Worker 560*9880d681SAndroid Build Coastguard Worker dmb sy 561*9880d681SAndroid Build Coastguard Worker dmb st 562*9880d681SAndroid Build Coastguard Worker dmb sh 563*9880d681SAndroid Build Coastguard Worker dmb ish 564*9880d681SAndroid Build Coastguard Worker dmb shst 565*9880d681SAndroid Build Coastguard Worker dmb ishst 566*9880d681SAndroid Build Coastguard Worker dmb un 567*9880d681SAndroid Build Coastguard Worker dmb nsh 568*9880d681SAndroid Build Coastguard Worker dmb unst 569*9880d681SAndroid Build Coastguard Worker dmb nshst 570*9880d681SAndroid Build Coastguard Worker dmb osh 571*9880d681SAndroid Build Coastguard Worker dmb oshst 572*9880d681SAndroid Build Coastguard Worker dmb 573*9880d681SAndroid Build Coastguard Worker 574*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb sy @ encoding: [0xbf,0xf3,0x5f,0x8f] 575*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb st @ encoding: [0xbf,0xf3,0x5e,0x8f] 576*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0xd @ encoding: [0xbf,0xf3,0x5d,0x8f] 577*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0xc @ encoding: [0xbf,0xf3,0x5c,0x8f] 578*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ish @ encoding: [0xbf,0xf3,0x5b,0x8f] 579*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ishst @ encoding: [0xbf,0xf3,0x5a,0x8f] 580*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x9 @ encoding: [0xbf,0xf3,0x59,0x8f] 581*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x8 @ encoding: [0xbf,0xf3,0x58,0x8f] 582*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nsh @ encoding: [0xbf,0xf3,0x57,0x8f] 583*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nshst @ encoding: [0xbf,0xf3,0x56,0x8f] 584*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x5 @ encoding: [0xbf,0xf3,0x55,0x8f] 585*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x4 @ encoding: [0xbf,0xf3,0x54,0x8f] 586*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb osh @ encoding: [0xbf,0xf3,0x53,0x8f] 587*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb oshst @ encoding: [0xbf,0xf3,0x52,0x8f] 588*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x1 @ encoding: [0xbf,0xf3,0x51,0x8f] 589*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x0 @ encoding: [0xbf,0xf3,0x50,0x8f] 590*9880d681SAndroid Build Coastguard Worker 591*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb sy @ encoding: [0xbf,0xf3,0x5f,0x8f] 592*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb st @ encoding: [0xbf,0xf3,0x5e,0x8f] 593*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ish @ encoding: [0xbf,0xf3,0x5b,0x8f] 594*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ish @ encoding: [0xbf,0xf3,0x5b,0x8f] 595*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ishst @ encoding: [0xbf,0xf3,0x5a,0x8f] 596*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ishst @ encoding: [0xbf,0xf3,0x5a,0x8f] 597*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nsh @ encoding: [0xbf,0xf3,0x57,0x8f] 598*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nsh @ encoding: [0xbf,0xf3,0x57,0x8f] 599*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nshst @ encoding: [0xbf,0xf3,0x56,0x8f] 600*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nshst @ encoding: [0xbf,0xf3,0x56,0x8f] 601*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb osh @ encoding: [0xbf,0xf3,0x53,0x8f] 602*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb oshst @ encoding: [0xbf,0xf3,0x52,0x8f] 603*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb sy @ encoding: [0xbf,0xf3,0x5f,0x8f] 604*9880d681SAndroid Build Coastguard Worker 605*9880d681SAndroid Build Coastguard Worker 606*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 607*9880d681SAndroid Build Coastguard Worker@ DSB 608*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 609*9880d681SAndroid Build Coastguard Worker dsb #0xf 610*9880d681SAndroid Build Coastguard Worker dsb #0xe 611*9880d681SAndroid Build Coastguard Worker dsb #0xd 612*9880d681SAndroid Build Coastguard Worker dsb #0xc 613*9880d681SAndroid Build Coastguard Worker dsb #0xb 614*9880d681SAndroid Build Coastguard Worker dsb #0xa 615*9880d681SAndroid Build Coastguard Worker dsb #0x9 616*9880d681SAndroid Build Coastguard Worker dsb #0x8 617*9880d681SAndroid Build Coastguard Worker dsb #0x7 618*9880d681SAndroid Build Coastguard Worker dsb #0x6 619*9880d681SAndroid Build Coastguard Worker dsb #0x5 620*9880d681SAndroid Build Coastguard Worker dsb #0x4 621*9880d681SAndroid Build Coastguard Worker dsb #0x3 622*9880d681SAndroid Build Coastguard Worker dsb #0x2 623*9880d681SAndroid Build Coastguard Worker dsb #0x1 624*9880d681SAndroid Build Coastguard Worker dsb #0x0 625*9880d681SAndroid Build Coastguard Worker 626*9880d681SAndroid Build Coastguard Worker dsb sy 627*9880d681SAndroid Build Coastguard Worker dsb st 628*9880d681SAndroid Build Coastguard Worker dsb sh 629*9880d681SAndroid Build Coastguard Worker dsb ish 630*9880d681SAndroid Build Coastguard Worker dsb shst 631*9880d681SAndroid Build Coastguard Worker dsb ishst 632*9880d681SAndroid Build Coastguard Worker dsb un 633*9880d681SAndroid Build Coastguard Worker dsb nsh 634*9880d681SAndroid Build Coastguard Worker dsb unst 635*9880d681SAndroid Build Coastguard Worker dsb nshst 636*9880d681SAndroid Build Coastguard Worker dsb osh 637*9880d681SAndroid Build Coastguard Worker dsb oshst 638*9880d681SAndroid Build Coastguard Worker dsb 639*9880d681SAndroid Build Coastguard Worker 640*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb sy @ encoding: [0xbf,0xf3,0x4f,0x8f] 641*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb st @ encoding: [0xbf,0xf3,0x4e,0x8f] 642*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0xd @ encoding: [0xbf,0xf3,0x4d,0x8f] 643*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0xc @ encoding: [0xbf,0xf3,0x4c,0x8f] 644*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ish @ encoding: [0xbf,0xf3,0x4b,0x8f] 645*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ishst @ encoding: [0xbf,0xf3,0x4a,0x8f] 646*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x9 @ encoding: [0xbf,0xf3,0x49,0x8f] 647*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x8 @ encoding: [0xbf,0xf3,0x48,0x8f] 648*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nsh @ encoding: [0xbf,0xf3,0x47,0x8f] 649*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nshst @ encoding: [0xbf,0xf3,0x46,0x8f] 650*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x5 @ encoding: [0xbf,0xf3,0x45,0x8f] 651*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x4 @ encoding: [0xbf,0xf3,0x44,0x8f] 652*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb osh @ encoding: [0xbf,0xf3,0x43,0x8f] 653*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb oshst @ encoding: [0xbf,0xf3,0x42,0x8f] 654*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x1 @ encoding: [0xbf,0xf3,0x41,0x8f] 655*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x0 @ encoding: [0xbf,0xf3,0x40,0x8f] 656*9880d681SAndroid Build Coastguard Worker 657*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb sy @ encoding: [0xbf,0xf3,0x4f,0x8f] 658*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb st @ encoding: [0xbf,0xf3,0x4e,0x8f] 659*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ish @ encoding: [0xbf,0xf3,0x4b,0x8f] 660*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ish @ encoding: [0xbf,0xf3,0x4b,0x8f] 661*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ishst @ encoding: [0xbf,0xf3,0x4a,0x8f] 662*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ishst @ encoding: [0xbf,0xf3,0x4a,0x8f] 663*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nsh @ encoding: [0xbf,0xf3,0x47,0x8f] 664*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nsh @ encoding: [0xbf,0xf3,0x47,0x8f] 665*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nshst @ encoding: [0xbf,0xf3,0x46,0x8f] 666*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nshst @ encoding: [0xbf,0xf3,0x46,0x8f] 667*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb osh @ encoding: [0xbf,0xf3,0x43,0x8f] 668*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb oshst @ encoding: [0xbf,0xf3,0x42,0x8f] 669*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb sy @ encoding: [0xbf,0xf3,0x4f,0x8f] 670*9880d681SAndroid Build Coastguard Worker 671*9880d681SAndroid Build Coastguard Worker 672*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 673*9880d681SAndroid Build Coastguard Worker@ EOR 674*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 675*9880d681SAndroid Build Coastguard Worker eor r4, r5, #0xf000 676*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6 677*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, lsl #5 678*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, lsr #5 679*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, lsr #5 680*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, asr #5 681*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, ror #5 682*9880d681SAndroid Build Coastguard Worker 683*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, #61440 @ encoding: [0x85,0xf4,0x70,0x44] 684*9880d681SAndroid Build Coastguard Worker@ CHECK: eor.w r4, r5, r6 @ encoding: [0x85,0xea,0x06,0x04] 685*9880d681SAndroid Build Coastguard Worker@ CHECK: eor.w r4, r5, r6, lsl #5 @ encoding: [0x85,0xea,0x46,0x14] 686*9880d681SAndroid Build Coastguard Worker@ CHECK: eor.w r4, r5, r6, lsr #5 @ encoding: [0x85,0xea,0x56,0x14] 687*9880d681SAndroid Build Coastguard Worker@ CHECK: eor.w r4, r5, r6, lsr #5 @ encoding: [0x85,0xea,0x56,0x14] 688*9880d681SAndroid Build Coastguard Worker@ CHECK: eor.w r4, r5, r6, asr #5 @ encoding: [0x85,0xea,0x66,0x14] 689*9880d681SAndroid Build Coastguard Worker@ CHECK: eor.w r4, r5, r6, ror #5 @ encoding: [0x85,0xea,0x76,0x14] 690*9880d681SAndroid Build Coastguard Worker 691*9880d681SAndroid Build Coastguard Worker 692*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 693*9880d681SAndroid Build Coastguard Worker@ ISB 694*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 695*9880d681SAndroid Build Coastguard Worker isb sy 696*9880d681SAndroid Build Coastguard Worker isb 697*9880d681SAndroid Build Coastguard Worker isb #15 698*9880d681SAndroid Build Coastguard Worker isb #1 699*9880d681SAndroid Build Coastguard Worker 700*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy @ encoding: [0xbf,0xf3,0x6f,0x8f] 701*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy @ encoding: [0xbf,0xf3,0x6f,0x8f] 702*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy @ encoding: [0xbf,0xf3,0x6f,0x8f] 703*9880d681SAndroid Build Coastguard Worker@ CHECK: isb #0x1 @ encoding: [0xbf,0xf3,0x61,0x8f] 704*9880d681SAndroid Build Coastguard Worker 705*9880d681SAndroid Build Coastguard Worker 706*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 707*9880d681SAndroid Build Coastguard Worker@ IT 708*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 709*9880d681SAndroid Build Coastguard Worker@ Test encodings of a few full IT blocks, not just the IT instruction 710*9880d681SAndroid Build Coastguard Worker 711*9880d681SAndroid Build Coastguard Worker iteet eq 712*9880d681SAndroid Build Coastguard Worker addeq r0, r1, r2 713*9880d681SAndroid Build Coastguard Worker nopne 714*9880d681SAndroid Build Coastguard Worker subne r5, r6, r7 715*9880d681SAndroid Build Coastguard Worker addeq r1, r2, #4 716*9880d681SAndroid Build Coastguard Worker 717*9880d681SAndroid Build Coastguard Worker@ CHECK: iteet eq @ encoding: [0x0d,0xbf] 718*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r0, r1, r2 @ encoding: [0x88,0x18] 719*9880d681SAndroid Build Coastguard Worker@ CHECK: nopne @ encoding: [0x00,0xbf] 720*9880d681SAndroid Build Coastguard Worker@ CHECK: subne r5, r6, r7 @ encoding: [0xf5,0x1b] 721*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r1, r2, #4 @ encoding: [0x11,0x1d] 722*9880d681SAndroid Build Coastguard Worker 723*9880d681SAndroid Build Coastguard Worker@ Should also work for UPPER CASE condition codes. 724*9880d681SAndroid Build Coastguard Worker 725*9880d681SAndroid Build Coastguard Worker ITEET EQ 726*9880d681SAndroid Build Coastguard Worker ADDEQ R0, R1, R2 727*9880d681SAndroid Build Coastguard Worker NOPNE 728*9880d681SAndroid Build Coastguard Worker SUBNE R5, R6, R7 729*9880d681SAndroid Build Coastguard Worker ADDEQ R1, R2, #4 730*9880d681SAndroid Build Coastguard Worker 731*9880d681SAndroid Build Coastguard Worker@ CHECK: iteet eq @ encoding: [0x0d,0xbf] 732*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r0, r1, r2 @ encoding: [0x88,0x18] 733*9880d681SAndroid Build Coastguard Worker@ CHECK: nopne @ encoding: [0x00,0xbf] 734*9880d681SAndroid Build Coastguard Worker@ CHECK: subne r5, r6, r7 @ encoding: [0xf5,0x1b] 735*9880d681SAndroid Build Coastguard Worker@ CHECK: addeq r1, r2, #4 @ encoding: [0x11,0x1d] 736*9880d681SAndroid Build Coastguard Worker 737*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 738*9880d681SAndroid Build Coastguard Worker@ LDC{L}/LDC2{L} 739*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 740*9880d681SAndroid Build Coastguard Worker ldc2 p0, c8, [r1, #4] 741*9880d681SAndroid Build Coastguard Worker ldc2 p1, c7, [r2] 742*9880d681SAndroid Build Coastguard Worker ldc2 p2, c6, [r3, #-224] 743*9880d681SAndroid Build Coastguard Worker ldc2 p3, c5, [r4, #-120]! 744*9880d681SAndroid Build Coastguard Worker ldc2 p4, c4, [r5], #16 745*9880d681SAndroid Build Coastguard Worker ldc2 p5, c3, [r6], #-72 746*9880d681SAndroid Build Coastguard Worker ldc2l p6, c2, [r7, #4] 747*9880d681SAndroid Build Coastguard Worker ldc2l p7, c1, [r8] 748*9880d681SAndroid Build Coastguard Worker ldc2l p8, c0, [r9, #-224] 749*9880d681SAndroid Build Coastguard Worker ldc2l p9, c1, [r10, #-120]! 750*9880d681SAndroid Build Coastguard Worker ldc2l p0, c2, [r11], #16 751*9880d681SAndroid Build Coastguard Worker ldc2l p1, c3, [r12], #-72 752*9880d681SAndroid Build Coastguard Worker 753*9880d681SAndroid Build Coastguard Worker ldc p12, c4, [r0, #4] 754*9880d681SAndroid Build Coastguard Worker ldc p13, c5, [r1] 755*9880d681SAndroid Build Coastguard Worker ldc p14, c6, [r2, #-224] 756*9880d681SAndroid Build Coastguard Worker ldc p15, c7, [r3, #-120]! 757*9880d681SAndroid Build Coastguard Worker ldc p5, c8, [r4], #16 758*9880d681SAndroid Build Coastguard Worker ldc p4, c9, [r5], #-72 759*9880d681SAndroid Build Coastguard Worker ldcl p3, c10, [r6, #4] 760*9880d681SAndroid Build Coastguard Worker ldcl p2, c11, [r7] 761*9880d681SAndroid Build Coastguard Worker ldcl p1, c12, [r8, #-224] 762*9880d681SAndroid Build Coastguard Worker ldcl p0, c13, [r9, #-120]! 763*9880d681SAndroid Build Coastguard Worker ldcl p6, c14, [r10], #16 764*9880d681SAndroid Build Coastguard Worker ldcl p7, c15, [r11], #-72 765*9880d681SAndroid Build Coastguard Worker 766*9880d681SAndroid Build Coastguard Worker ldc2 p2, c8, [r1], { 25 } 767*9880d681SAndroid Build Coastguard Worker 768*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p0, c8, [r1, #4] @ encoding: [0x91,0xfd,0x01,0x80] 769*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p1, c7, [r2] @ encoding: [0x92,0xfd,0x00,0x71] 770*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p2, c6, [r3, #-224] @ encoding: [0x13,0xfd,0x38,0x62] 771*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p3, c5, [r4, #-120]! @ encoding: [0x34,0xfd,0x1e,0x53] 772*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p4, c4, [r5], #16 @ encoding: [0xb5,0xfc,0x04,0x44] 773*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p5, c3, [r6], #-72 @ encoding: [0x36,0xfc,0x12,0x35] 774*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p6, c2, [r7, #4] @ encoding: [0xd7,0xfd,0x01,0x26] 775*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p7, c1, [r8] @ encoding: [0xd8,0xfd,0x00,0x17] 776*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p8, c0, [r9, #-224] @ encoding: [0x59,0xfd,0x38,0x08] 777*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p9, c1, [r10, #-120]! @ encoding: [0x7a,0xfd,0x1e,0x19] 778*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p0, c2, [r11], #16 @ encoding: [0xfb,0xfc,0x04,0x20] 779*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p1, c3, [r12], #-72 @ encoding: [0x7c,0xfc,0x12,0x31] 780*9880d681SAndroid Build Coastguard Worker 781*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p12, c4, [r0, #4] @ encoding: [0x90,0xed,0x01,0x4c] 782*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p13, c5, [r1] @ encoding: [0x91,0xed,0x00,0x5d] 783*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p14, c6, [r2, #-224] @ encoding: [0x12,0xed,0x38,0x6e] 784*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p15, c7, [r3, #-120]! @ encoding: [0x33,0xed,0x1e,0x7f] 785*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p5, c8, [r4], #16 @ encoding: [0xb4,0xec,0x04,0x85] 786*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p4, c9, [r5], #-72 @ encoding: [0x35,0xec,0x12,0x94] 787*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p3, c10, [r6, #4] @ encoding: [0xd6,0xed,0x01,0xa3] 788*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p2, c11, [r7] @ encoding: [0xd7,0xed,0x00,0xb2] 789*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p1, c12, [r8, #-224] @ encoding: [0x58,0xed,0x38,0xc1] 790*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p0, c13, [r9, #-120]! @ encoding: [0x79,0xed,0x1e,0xd0] 791*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p6, c14, [r10], #16 @ encoding: [0xfa,0xec,0x04,0xe6] 792*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p7, c15, [r11], #-72 @ encoding: [0x7b,0xec,0x12,0xf7] 793*9880d681SAndroid Build Coastguard Worker 794*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p2, c8, [r1], {25} @ encoding: [0x91,0xfc,0x19,0x82] 795*9880d681SAndroid Build Coastguard Worker 796*9880d681SAndroid Build Coastguard Worker 797*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 798*9880d681SAndroid Build Coastguard Worker@ LDMIA 799*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 800*9880d681SAndroid Build Coastguard Worker ldmia.w r4, {r4, r5, r8, r9} 801*9880d681SAndroid Build Coastguard Worker ldmia.w r4, {r5, r6} 802*9880d681SAndroid Build Coastguard Worker ldmia.w r5!, {r3, r8} 803*9880d681SAndroid Build Coastguard Worker ldm.w r4, {r4, r5, r8, r9} 804*9880d681SAndroid Build Coastguard Worker ldm.w r4, {r5, r6} 805*9880d681SAndroid Build Coastguard Worker ldm.w r5!, {r3, r8} 806*9880d681SAndroid Build Coastguard Worker ldm.w r5!, {r1, r2} 807*9880d681SAndroid Build Coastguard Worker ldm.w r2, {r1, r2} 808*9880d681SAndroid Build Coastguard Worker 809*9880d681SAndroid Build Coastguard Worker ldmia r4, {r4, r5, r8, r9} 810*9880d681SAndroid Build Coastguard Worker ldmia r4, {r5, r6} 811*9880d681SAndroid Build Coastguard Worker ldmia r5!, {r3, r8} 812*9880d681SAndroid Build Coastguard Worker ldm r4, {r4, r5, r8, r9} 813*9880d681SAndroid Build Coastguard Worker ldm r4, {r5, r6} 814*9880d681SAndroid Build Coastguard Worker ldm r5!, {r3, r8} 815*9880d681SAndroid Build Coastguard Worker ldmfd r5!, {r3, r8} 816*9880d681SAndroid Build Coastguard Worker ldmia sp!, {r4-r11, pc} 817*9880d681SAndroid Build Coastguard Worker 818*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r4, r5, r8, r9} @ encoding: [0x94,0xe8,0x30,0x03] 819*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r5, r6} @ encoding: [0x94,0xe8,0x60,0x00] 820*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r5!, {r3, r8} @ encoding: [0xb5,0xe8,0x08,0x01] 821*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r4, r5, r8, r9} @ encoding: [0x94,0xe8,0x30,0x03] 822*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r5, r6} @ encoding: [0x94,0xe8,0x60,0x00] 823*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r5!, {r3, r8} @ encoding: [0xb5,0xe8,0x08,0x01] 824*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r5!, {r1, r2} @ encoding: [0xb5,0xe8,0x06,0x00] 825*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r2, {r1, r2} @ encoding: [0x92,0xe8,0x06,0x00] 826*9880d681SAndroid Build Coastguard Worker 827*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r4, r5, r8, r9} @ encoding: [0x94,0xe8,0x30,0x03] 828*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r5, r6} @ encoding: [0x94,0xe8,0x60,0x00] 829*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r5!, {r3, r8} @ encoding: [0xb5,0xe8,0x08,0x01] 830*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r4, r5, r8, r9} @ encoding: [0x94,0xe8,0x30,0x03] 831*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r4, {r5, r6} @ encoding: [0x94,0xe8,0x60,0x00] 832*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r5!, {r3, r8} @ encoding: [0xb5,0xe8,0x08,0x01] 833*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm.w r5!, {r3, r8} @ encoding: [0xb5,0xe8,0x08,0x01] 834*9880d681SAndroid Build Coastguard Worker@ CHECK: pop.w {r4, r5, r6, r7, r8, r9, r10, r11, pc} @ encoding: [0xbd,0xe8,0xf0,0x8f] 835*9880d681SAndroid Build Coastguard Worker 836*9880d681SAndroid Build Coastguard Worker 837*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 838*9880d681SAndroid Build Coastguard Worker@ LDMDB 839*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 840*9880d681SAndroid Build Coastguard Worker ldmdb r4, {r4, r5, r8, r9} 841*9880d681SAndroid Build Coastguard Worker ldmdb r4, {r5, r6} 842*9880d681SAndroid Build Coastguard Worker ldmdb r5!, {r3, r8} 843*9880d681SAndroid Build Coastguard Worker ldmea r5!, {r3, r8} 844*9880d681SAndroid Build Coastguard Worker ldmdb.w r4, {r5, r6} 845*9880d681SAndroid Build Coastguard Worker ldmdb.w r5!, {r3, r8} 846*9880d681SAndroid Build Coastguard Worker 847*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r4, {r4, r5, r8, r9} @ encoding: [0x14,0xe9,0x30,0x03] 848*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r4, {r5, r6} @ encoding: [0x14,0xe9,0x60,0x00] 849*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r5!, {r3, r8} @ encoding: [0x35,0xe9,0x08,0x01] 850*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r5!, {r3, r8} @ encoding: [0x35,0xe9,0x08,0x01] 851*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r4, {r5, r6} @ encoding: [0x14,0xe9,0x60,0x00] 852*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r5!, {r3, r8} @ encoding: [0x35,0xe9,0x08,0x01] 853*9880d681SAndroid Build Coastguard Worker 854*9880d681SAndroid Build Coastguard Worker 855*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 856*9880d681SAndroid Build Coastguard Worker@ LDR(immediate) 857*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 858*9880d681SAndroid Build Coastguard Worker ldr r5, [r5, #-4] 859*9880d681SAndroid Build Coastguard Worker ldr r5, [r6, #32] 860*9880d681SAndroid Build Coastguard Worker ldr r5, [r6, #33] 861*9880d681SAndroid Build Coastguard Worker ldr r5, [r6, #257] 862*9880d681SAndroid Build Coastguard Worker ldr.w pc, [r7, #257] 863*9880d681SAndroid Build Coastguard Worker ldr r2, [r4, #255]! 864*9880d681SAndroid Build Coastguard Worker ldr r8, [sp, #4]! 865*9880d681SAndroid Build Coastguard Worker ldr lr, [sp, #-4]! 866*9880d681SAndroid Build Coastguard Worker ldr r2, [r4], #255 867*9880d681SAndroid Build Coastguard Worker ldr r8, [sp], #4 868*9880d681SAndroid Build Coastguard Worker ldr lr, [sp], #-4 869*9880d681SAndroid Build Coastguard Worker 870*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r5, [r5, #-4] @ encoding: [0x55,0xf8,0x04,0x5c] 871*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r5, [r6, #32] @ encoding: [0x35,0x6a] 872*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r5, [r6, #33] @ encoding: [0xd6,0xf8,0x21,0x50] 873*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r5, [r6, #257] @ encoding: [0xd6,0xf8,0x01,0x51] 874*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w pc, [r7, #257] @ encoding: [0xd7,0xf8,0x01,0xf1] 875*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r2, [r4, #255]! @ encoding: [0x54,0xf8,0xff,0x2f] 876*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r8, [sp, #4]! @ encoding: [0x5d,0xf8,0x04,0x8f] 877*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr lr, [sp, #-4]! @ encoding: [0x5d,0xf8,0x04,0xed] 878*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r2, [r4], #255 @ encoding: [0x54,0xf8,0xff,0x2b] 879*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r8, [sp], #4 @ encoding: [0x5d,0xf8,0x04,0x8b] 880*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr lr, [sp], #-4 @ encoding: [0x5d,0xf8,0x04,0xe9] 881*9880d681SAndroid Build Coastguard Worker 882*9880d681SAndroid Build Coastguard Worker 883*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 884*9880d681SAndroid Build Coastguard Worker@ LDR(literal) 885*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 886*9880d681SAndroid Build Coastguard Worker ldr.w r5, _foo 887*9880d681SAndroid Build Coastguard Worker ldr lr, (_strcmp-4) 888*9880d681SAndroid Build Coastguard Worker ldr sp, _foo 889*9880d681SAndroid Build Coastguard Worker 890*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r5, _foo @ encoding: [0x5f'A',0xf8'A',A,0x50'A'] 891*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 892*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: ldr.w r5, _foo @ encoding: [0xf8'A',0x5f'A',0x50'A',A] 893*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 894*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w lr, _strcmp-4 @ encoding: [0x5f'A',0xf8'A',A,0xe0'A'] 895*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _strcmp-4, kind: fixup_t2_ldst_pcrel_12 896*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: ldr.w lr, _strcmp-4 @ encoding: [0xf8'A',0x5f'A',0xe0'A',A] 897*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _strcmp-4, kind: fixup_t2_ldst_pcrel_12 898*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w sp, _foo @ encoding: [0x5f'A',0xf8'A',A,0xd0'A'] 899*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 900*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: ldr.w sp, _foo @ encoding: [0xf8'A',0x5f'A',0xd0'A',A] 901*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 902*9880d681SAndroid Build Coastguard Worker 903*9880d681SAndroid Build Coastguard Worker ldr r7, [pc, #8] 904*9880d681SAndroid Build Coastguard Worker ldr.n r7, [pc, #8] 905*9880d681SAndroid Build Coastguard Worker ldr.w r7, [pc, #8] 906*9880d681SAndroid Build Coastguard Worker ldr r4, [pc, #1020] 907*9880d681SAndroid Build Coastguard Worker ldr r3, [pc, #-1020] 908*9880d681SAndroid Build Coastguard Worker ldr r6, [pc, #1024] 909*9880d681SAndroid Build Coastguard Worker ldr r0, [pc, #-1024] 910*9880d681SAndroid Build Coastguard Worker ldr r2, [pc, #4095] 911*9880d681SAndroid Build Coastguard Worker ldr r1, [pc, #-4095] 912*9880d681SAndroid Build Coastguard Worker ldr r8, [pc, #132] 913*9880d681SAndroid Build Coastguard Worker ldr pc, [pc, #256] 914*9880d681SAndroid Build Coastguard Worker ldr pc, [pc, #-400] 915*9880d681SAndroid Build Coastguard Worker ldr sp, [pc, #4] 916*9880d681SAndroid Build Coastguard Worker 917*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r7, [pc, #8] @ encoding: [0x02,0x4f] 918*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r7, [pc, #8] @ encoding: [0x02,0x4f] 919*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r7, [pc, #8] @ encoding: [0xdf,0xf8,0x08,0x70] 920*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r4, [pc, #1020] @ encoding: [0xff,0x4c] 921*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r3, [pc, #-1020] @ encoding: [0x5f,0xf8,0xfc,0x33] 922*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r6, [pc, #1024] @ encoding: [0xdf,0xf8,0x00,0x64] 923*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r0, [pc, #-1024] @ encoding: [0x5f,0xf8,0x00,0x04] 924*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r2, [pc, #4095] @ encoding: [0xdf,0xf8,0xff,0x2f] 925*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r1, [pc, #-4095] @ encoding: [0x5f,0xf8,0xff,0x1f] 926*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r8, [pc, #132] @ encoding: [0xdf,0xf8,0x84,0x80] 927*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w pc, [pc, #256] @ encoding: [0xdf,0xf8,0x00,0xf1] 928*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w pc, [pc, #-400] @ encoding: [0x5f,0xf8,0x90,0xf1] 929*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w sp, [pc, #4] @ encoding: [0xdf,0xf8,0x04,0xd0] 930*9880d681SAndroid Build Coastguard Worker 931*9880d681SAndroid Build Coastguard Worker ldrb r9, [pc, #-0] 932*9880d681SAndroid Build Coastguard Worker ldrsb r11, [pc, #-0] 933*9880d681SAndroid Build Coastguard Worker ldrh r10, [pc, #-0] 934*9880d681SAndroid Build Coastguard Worker ldrsh r1, [pc, #-0] 935*9880d681SAndroid Build Coastguard Worker ldr r5, [pc, #-0] 936*9880d681SAndroid Build Coastguard Worker 937*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r9, [pc, #-0] @ encoding: [0x1f,0xf8,0x00,0x90] 938*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r11, [pc, #-0] @ encoding: [0x1f,0xf9,0x00,0xb0] 939*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r10, [pc, #-0] @ encoding: [0x3f,0xf8,0x00,0xa0] 940*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r1, [pc, #-0] @ encoding: [0x3f,0xf9,0x00,0x10] 941*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r5, [pc, #-0] @ encoding: [0x5f,0xf8,0x00,0x50] 942*9880d681SAndroid Build Coastguard Worker 943*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 944*9880d681SAndroid Build Coastguard Worker@ LDR(register) 945*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 946*9880d681SAndroid Build Coastguard Worker ldr r1, [r8, r1] 947*9880d681SAndroid Build Coastguard Worker ldr.w r4, [r5, r2] 948*9880d681SAndroid Build Coastguard Worker ldr r6, [r0, r2, lsl #3] 949*9880d681SAndroid Build Coastguard Worker ldr r8, [r8, r2, lsl #2] 950*9880d681SAndroid Build Coastguard Worker ldr r7, [sp, r2, lsl #1] 951*9880d681SAndroid Build Coastguard Worker ldr r7, [sp, r2, lsl #0] 952*9880d681SAndroid Build Coastguard Worker 953*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r1, [r8, r1] @ encoding: [0x58,0xf8,0x01,0x10] 954*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r4, [r5, r2] @ encoding: [0x55,0xf8,0x02,0x40] 955*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r6, [r0, r2, lsl #3] @ encoding: [0x50,0xf8,0x32,0x60] 956*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r8, [r8, r2, lsl #2] @ encoding: [0x58,0xf8,0x22,0x80] 957*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r7, [sp, r2, lsl #1] @ encoding: [0x5d,0xf8,0x12,0x70] 958*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r7, [sp, r2] @ encoding: [0x5d,0xf8,0x02,0x70] 959*9880d681SAndroid Build Coastguard Worker 960*9880d681SAndroid Build Coastguard Worker 961*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 962*9880d681SAndroid Build Coastguard Worker@ LDRB(immediate) 963*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 964*9880d681SAndroid Build Coastguard Worker ldrb r5, [r5, #-4] 965*9880d681SAndroid Build Coastguard Worker ldrb r5, [r6, #32] 966*9880d681SAndroid Build Coastguard Worker ldrb r5, [r6, #33] 967*9880d681SAndroid Build Coastguard Worker ldrb r5, [r6, #257] 968*9880d681SAndroid Build Coastguard Worker ldrb.w lr, [r7, #257] 969*9880d681SAndroid Build Coastguard Worker ldrb r5, [r8, #255]! 970*9880d681SAndroid Build Coastguard Worker ldrb r2, [r5, #4]! 971*9880d681SAndroid Build Coastguard Worker ldrb r1, [r4, #-4]! 972*9880d681SAndroid Build Coastguard Worker ldrb lr, [r3], #255 973*9880d681SAndroid Build Coastguard Worker ldrb r9, [r2], #4 974*9880d681SAndroid Build Coastguard Worker ldrb r3, [sp], #-4 975*9880d681SAndroid Build Coastguard Worker 976*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb r5, [r5, #-4] @ encoding: [0x15,0xf8,0x04,0x5c] 977*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r5, [r6, #32] @ encoding: [0x96,0xf8,0x20,0x50] 978*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r5, [r6, #33] @ encoding: [0x96,0xf8,0x21,0x50] 979*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r5, [r6, #257] @ encoding: [0x96,0xf8,0x01,0x51] 980*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w lr, [r7, #257] @ encoding: [0x97,0xf8,0x01,0xe1] 981*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb r5, [r8, #255]! @ encoding: [0x18,0xf8,0xff,0x5f] 982*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb r2, [r5, #4]! @ encoding: [0x15,0xf8,0x04,0x2f] 983*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb r1, [r4, #-4]! @ encoding: [0x14,0xf8,0x04,0x1d] 984*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb lr, [r3], #255 @ encoding: [0x13,0xf8,0xff,0xeb] 985*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb r9, [r2], #4 @ encoding: [0x12,0xf8,0x04,0x9b] 986*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb r3, [sp], #-4 @ encoding: [0x1d,0xf8,0x04,0x39] 987*9880d681SAndroid Build Coastguard Worker 988*9880d681SAndroid Build Coastguard Worker 989*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 990*9880d681SAndroid Build Coastguard Worker@ LDRB(register) 991*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 992*9880d681SAndroid Build Coastguard Worker ldrb r1, [r8, r1] 993*9880d681SAndroid Build Coastguard Worker ldrb.w r4, [r5, r2] 994*9880d681SAndroid Build Coastguard Worker ldrb r6, [r0, r2, lsl #3] 995*9880d681SAndroid Build Coastguard Worker ldrb r8, [r8, r2, lsl #2] 996*9880d681SAndroid Build Coastguard Worker ldrb r7, [sp, r2, lsl #1] 997*9880d681SAndroid Build Coastguard Worker ldrb r7, [sp, r2, lsl #0] 998*9880d681SAndroid Build Coastguard Worker 999*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r1, [r8, r1] @ encoding: [0x18,0xf8,0x01,0x10] 1000*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r4, [r5, r2] @ encoding: [0x15,0xf8,0x02,0x40] 1001*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r6, [r0, r2, lsl #3] @ encoding: [0x10,0xf8,0x32,0x60] 1002*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r8, [r8, r2, lsl #2] @ encoding: [0x18,0xf8,0x22,0x80] 1003*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r7, [sp, r2, lsl #1] @ encoding: [0x1d,0xf8,0x12,0x70] 1004*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r7, [sp, r2] @ encoding: [0x1d,0xf8,0x02,0x70] 1005*9880d681SAndroid Build Coastguard Worker 1006*9880d681SAndroid Build Coastguard Worker 1007*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1008*9880d681SAndroid Build Coastguard Worker@ LDRBT 1009*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1010*9880d681SAndroid Build Coastguard Worker ldrbt r1, [r2] 1011*9880d681SAndroid Build Coastguard Worker ldrbt r1, [r8, #0] 1012*9880d681SAndroid Build Coastguard Worker ldrbt r1, [r8, #3] 1013*9880d681SAndroid Build Coastguard Worker ldrbt r1, [r8, #255] 1014*9880d681SAndroid Build Coastguard Worker 1015*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt r1, [r2] @ encoding: [0x12,0xf8,0x00,0x1e] 1016*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt r1, [r8] @ encoding: [0x18,0xf8,0x00,0x1e] 1017*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt r1, [r8, #3] @ encoding: [0x18,0xf8,0x03,0x1e] 1018*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt r1, [r8, #255] @ encoding: [0x18,0xf8,0xff,0x1e] 1019*9880d681SAndroid Build Coastguard Worker 1020*9880d681SAndroid Build Coastguard Worker 1021*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1022*9880d681SAndroid Build Coastguard Worker@ LDRD 1023*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1024*9880d681SAndroid Build Coastguard Worker ldrd r3, r5, [r6, #24] 1025*9880d681SAndroid Build Coastguard Worker ldrd r3, r5, [r6, #24]! 1026*9880d681SAndroid Build Coastguard Worker ldrd r3, r5, [r6], #4 1027*9880d681SAndroid Build Coastguard Worker ldrd r3, r5, [r6], #-8 1028*9880d681SAndroid Build Coastguard Worker ldrd r3, r5, [r6] 1029*9880d681SAndroid Build Coastguard Worker ldrd r8, r1, [r3, #0] 1030*9880d681SAndroid Build Coastguard Worker ldrd r0, r1, [r2, #-0] 1031*9880d681SAndroid Build Coastguard Worker ldrd r0, r1, [r2, #-0]! 1032*9880d681SAndroid Build Coastguard Worker ldrd r0, r1, [r2], #-0 1033*9880d681SAndroid Build Coastguard Worker 1034*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r3, r5, [r6, #24] @ encoding: [0xd6,0xe9,0x06,0x35] 1035*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r3, r5, [r6, #24]! @ encoding: [0xf6,0xe9,0x06,0x35] 1036*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r3, r5, [r6], #4 @ encoding: [0xf6,0xe8,0x01,0x35] 1037*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r3, r5, [r6], #-8 @ encoding: [0x76,0xe8,0x02,0x35] 1038*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r3, r5, [r6] @ encoding: [0xd6,0xe9,0x00,0x35] 1039*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r8, r1, [r3] @ encoding: [0xd3,0xe9,0x00,0x81] 1040*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r2, #-0] @ encoding: [0x52,0xe9,0x00,0x01] 1041*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r2, #-0]! @ encoding: [0x72,0xe9,0x00,0x01] 1042*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r2], #-0 @ encoding: [0x72,0xe8,0x00,0x01] 1043*9880d681SAndroid Build Coastguard Worker 1044*9880d681SAndroid Build Coastguard Worker 1045*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1046*9880d681SAndroid Build Coastguard Worker@ FIXME: LDRD(literal) 1047*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1048*9880d681SAndroid Build Coastguard Worker 1049*9880d681SAndroid Build Coastguard Worker 1050*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1051*9880d681SAndroid Build Coastguard Worker@ LDREX/LDREXB/LDREXH/LDREXD 1052*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1053*9880d681SAndroid Build Coastguard Worker ldrex r1, [r4] 1054*9880d681SAndroid Build Coastguard Worker ldrex r8, [r4, #0] 1055*9880d681SAndroid Build Coastguard Worker ldrex r2, [sp, #128] 1056*9880d681SAndroid Build Coastguard Worker ldrexb r5, [r7] 1057*9880d681SAndroid Build Coastguard Worker ldrexh r9, [r12] 1058*9880d681SAndroid Build Coastguard Worker ldrexd r9, r3, [r4] 1059*9880d681SAndroid Build Coastguard Worker 1060*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrex r1, [r4] @ encoding: [0x54,0xe8,0x00,0x1f] 1061*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrex r8, [r4] @ encoding: [0x54,0xe8,0x00,0x8f] 1062*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrex r2, [sp, #128] @ encoding: [0x5d,0xe8,0x20,0x2f] 1063*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexb r5, [r7] @ encoding: [0xd7,0xe8,0x4f,0x5f] 1064*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexh r9, [r12] @ encoding: [0xdc,0xe8,0x5f,0x9f] 1065*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexd r9, r3, [r4] @ encoding: [0xd4,0xe8,0x7f,0x93] 1066*9880d681SAndroid Build Coastguard Worker 1067*9880d681SAndroid Build Coastguard Worker 1068*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1069*9880d681SAndroid Build Coastguard Worker@ LDRH(immediate) 1070*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1071*9880d681SAndroid Build Coastguard Worker ldrh r5, [r5, #-4] 1072*9880d681SAndroid Build Coastguard Worker ldrh r5, [r6, #32] 1073*9880d681SAndroid Build Coastguard Worker ldrh r5, [r6, #33] 1074*9880d681SAndroid Build Coastguard Worker ldrh r5, [r6, #257] 1075*9880d681SAndroid Build Coastguard Worker ldrh.w lr, [r7, #257] 1076*9880d681SAndroid Build Coastguard Worker ldrh r5, [r8, #255]! 1077*9880d681SAndroid Build Coastguard Worker ldrh r2, [r5, #4]! 1078*9880d681SAndroid Build Coastguard Worker ldrh r1, [r4, #-4]! 1079*9880d681SAndroid Build Coastguard Worker ldrh lr, [r3], #255 1080*9880d681SAndroid Build Coastguard Worker ldrh r9, [r2], #4 1081*9880d681SAndroid Build Coastguard Worker ldrh r3, [sp], #-4 1082*9880d681SAndroid Build Coastguard Worker 1083*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh r5, [r5, #-4] @ encoding: [0x35,0xf8,0x04,0x5c] 1084*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh r5, [r6, #32] @ encoding: [0x35,0x8c] 1085*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r5, [r6, #33] @ encoding: [0xb6,0xf8,0x21,0x50] 1086*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r5, [r6, #257] @ encoding: [0xb6,0xf8,0x01,0x51] 1087*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w lr, [r7, #257] @ encoding: [0xb7,0xf8,0x01,0xe1] 1088*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh r5, [r8, #255]! @ encoding: [0x38,0xf8,0xff,0x5f] 1089*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh r2, [r5, #4]! @ encoding: [0x35,0xf8,0x04,0x2f] 1090*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh r1, [r4, #-4]! @ encoding: [0x34,0xf8,0x04,0x1d] 1091*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh lr, [r3], #255 @ encoding: [0x33,0xf8,0xff,0xeb] 1092*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh r9, [r2], #4 @ encoding: [0x32,0xf8,0x04,0x9b] 1093*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh r3, [sp], #-4 @ encoding: [0x3d,0xf8,0x04,0x39] 1094*9880d681SAndroid Build Coastguard Worker 1095*9880d681SAndroid Build Coastguard Worker 1096*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1097*9880d681SAndroid Build Coastguard Worker@ LDRH(register) 1098*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1099*9880d681SAndroid Build Coastguard Worker ldrh r1, [r8, r1] 1100*9880d681SAndroid Build Coastguard Worker ldrh.w r4, [r5, r2] 1101*9880d681SAndroid Build Coastguard Worker ldrh r6, [r0, r2, lsl #3] 1102*9880d681SAndroid Build Coastguard Worker ldrh r8, [r8, r2, lsl #2] 1103*9880d681SAndroid Build Coastguard Worker ldrh r7, [sp, r2, lsl #1] 1104*9880d681SAndroid Build Coastguard Worker ldrh r7, [sp, r2, lsl #0] 1105*9880d681SAndroid Build Coastguard Worker 1106*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r1, [r8, r1] @ encoding: [0x38,0xf8,0x01,0x10] 1107*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r4, [r5, r2] @ encoding: [0x35,0xf8,0x02,0x40] 1108*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r6, [r0, r2, lsl #3] @ encoding: [0x30,0xf8,0x32,0x60] 1109*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r8, [r8, r2, lsl #2] @ encoding: [0x38,0xf8,0x22,0x80] 1110*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r7, [sp, r2, lsl #1] @ encoding: [0x3d,0xf8,0x12,0x70] 1111*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r7, [sp, r2] @ encoding: [0x3d,0xf8,0x02,0x70] 1112*9880d681SAndroid Build Coastguard Worker 1113*9880d681SAndroid Build Coastguard Worker 1114*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1115*9880d681SAndroid Build Coastguard Worker@ LDRH(literal) 1116*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1117*9880d681SAndroid Build Coastguard Worker ldrh r5, _bar 1118*9880d681SAndroid Build Coastguard Worker 1119*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r5, _bar @ encoding: [0x3f'A',0xf8'A',A,0x50'A'] 1120*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 1121*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: ldrh.w r5, _bar @ encoding: [0xf8'A',0x3f'A',0x50'A',A] 1122*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 1123*9880d681SAndroid Build Coastguard Worker 1124*9880d681SAndroid Build Coastguard Worker 1125*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1126*9880d681SAndroid Build Coastguard Worker@ LDRHT 1127*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1128*9880d681SAndroid Build Coastguard Worker ldrht r1, [r2] 1129*9880d681SAndroid Build Coastguard Worker ldrht r1, [r8, #0] 1130*9880d681SAndroid Build Coastguard Worker ldrht r1, [r8, #3] 1131*9880d681SAndroid Build Coastguard Worker ldrht r1, [r8, #255] 1132*9880d681SAndroid Build Coastguard Worker 1133*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht r1, [r2] @ encoding: [0x32,0xf8,0x00,0x1e] 1134*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht r1, [r8] @ encoding: [0x38,0xf8,0x00,0x1e] 1135*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht r1, [r8, #3] @ encoding: [0x38,0xf8,0x03,0x1e] 1136*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht r1, [r8, #255] @ encoding: [0x38,0xf8,0xff,0x1e] 1137*9880d681SAndroid Build Coastguard Worker 1138*9880d681SAndroid Build Coastguard Worker 1139*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1140*9880d681SAndroid Build Coastguard Worker@ LDRSB(immediate) 1141*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1142*9880d681SAndroid Build Coastguard Worker ldrsb r5, [r5, #-4] 1143*9880d681SAndroid Build Coastguard Worker ldrsb r5, [r6, #32] 1144*9880d681SAndroid Build Coastguard Worker ldrsb r5, [r6, #33] 1145*9880d681SAndroid Build Coastguard Worker ldrsb r5, [r6, #257] 1146*9880d681SAndroid Build Coastguard Worker ldrsb.w lr, [r7, #257] 1147*9880d681SAndroid Build Coastguard Worker 1148*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb r5, [r5, #-4] @ encoding: [0x15,0xf9,0x04,0x5c] 1149*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r5, [r6, #32] @ encoding: [0x96,0xf9,0x20,0x50] 1150*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r5, [r6, #33] @ encoding: [0x96,0xf9,0x21,0x50] 1151*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r5, [r6, #257] @ encoding: [0x96,0xf9,0x01,0x51] 1152*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w lr, [r7, #257] @ encoding: [0x97,0xf9,0x01,0xe1] 1153*9880d681SAndroid Build Coastguard Worker 1154*9880d681SAndroid Build Coastguard Worker 1155*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1156*9880d681SAndroid Build Coastguard Worker@ LDRSB(register) 1157*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1158*9880d681SAndroid Build Coastguard Worker ldrsb r1, [r8, r1] 1159*9880d681SAndroid Build Coastguard Worker ldrsb.w r4, [r5, r2] 1160*9880d681SAndroid Build Coastguard Worker ldrsb r6, [r0, r2, lsl #3] 1161*9880d681SAndroid Build Coastguard Worker ldrsb r8, [r8, r2, lsl #2] 1162*9880d681SAndroid Build Coastguard Worker ldrsb r7, [sp, r2, lsl #1] 1163*9880d681SAndroid Build Coastguard Worker ldrsb r7, [sp, r2, lsl #0] 1164*9880d681SAndroid Build Coastguard Worker ldrsb r5, [r8, #255]! 1165*9880d681SAndroid Build Coastguard Worker ldrsb r2, [r5, #4]! 1166*9880d681SAndroid Build Coastguard Worker ldrsb r1, [r4, #-4]! 1167*9880d681SAndroid Build Coastguard Worker ldrsb lr, [r3], #255 1168*9880d681SAndroid Build Coastguard Worker ldrsb r9, [r2], #4 1169*9880d681SAndroid Build Coastguard Worker ldrsb r3, [sp], #-4 1170*9880d681SAndroid Build Coastguard Worker 1171*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r1, [r8, r1] @ encoding: [0x18,0xf9,0x01,0x10] 1172*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r4, [r5, r2] @ encoding: [0x15,0xf9,0x02,0x40] 1173*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r6, [r0, r2, lsl #3] @ encoding: [0x10,0xf9,0x32,0x60] 1174*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r8, [r8, r2, lsl #2] @ encoding: [0x18,0xf9,0x22,0x80] 1175*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r7, [sp, r2, lsl #1] @ encoding: [0x1d,0xf9,0x12,0x70] 1176*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r7, [sp, r2] @ encoding: [0x1d,0xf9,0x02,0x70] 1177*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb r5, [r8, #255]! @ encoding: [0x18,0xf9,0xff,0x5f] 1178*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb r2, [r5, #4]! @ encoding: [0x15,0xf9,0x04,0x2f] 1179*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb r1, [r4, #-4]! @ encoding: [0x14,0xf9,0x04,0x1d] 1180*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb lr, [r3], #255 @ encoding: [0x13,0xf9,0xff,0xeb] 1181*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb r9, [r2], #4 @ encoding: [0x12,0xf9,0x04,0x9b] 1182*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb r3, [sp], #-4 @ encoding: [0x1d,0xf9,0x04,0x39] 1183*9880d681SAndroid Build Coastguard Worker 1184*9880d681SAndroid Build Coastguard Worker 1185*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1186*9880d681SAndroid Build Coastguard Worker@ LDRSB(literal) 1187*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1188*9880d681SAndroid Build Coastguard Worker ldrsb r5, _bar 1189*9880d681SAndroid Build Coastguard Worker 1190*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r5, _bar @ encoding: [0x1f'A',0xf9'A',A,0x50'A'] 1191*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 1192*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: ldrsb.w r5, _bar @ encoding: [0xf9'A',0x1f'A',0x50'A',A] 1193*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 1194*9880d681SAndroid Build Coastguard Worker 1195*9880d681SAndroid Build Coastguard Worker 1196*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1197*9880d681SAndroid Build Coastguard Worker@ LDRSBT 1198*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1199*9880d681SAndroid Build Coastguard Worker ldrsbt r1, [r2] 1200*9880d681SAndroid Build Coastguard Worker ldrsbt r1, [r8, #0] 1201*9880d681SAndroid Build Coastguard Worker ldrsbt r1, [r8, #3] 1202*9880d681SAndroid Build Coastguard Worker ldrsbt r1, [r8, #255] 1203*9880d681SAndroid Build Coastguard Worker 1204*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt r1, [r2] @ encoding: [0x12,0xf9,0x00,0x1e] 1205*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt r1, [r8] @ encoding: [0x18,0xf9,0x00,0x1e] 1206*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt r1, [r8, #3] @ encoding: [0x18,0xf9,0x03,0x1e] 1207*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt r1, [r8, #255] @ encoding: [0x18,0xf9,0xff,0x1e] 1208*9880d681SAndroid Build Coastguard Worker 1209*9880d681SAndroid Build Coastguard Worker 1210*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1211*9880d681SAndroid Build Coastguard Worker@ LDRSH(immediate) 1212*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1213*9880d681SAndroid Build Coastguard Worker ldrsh r5, [r5, #-4] 1214*9880d681SAndroid Build Coastguard Worker ldrsh r5, [r6, #32] 1215*9880d681SAndroid Build Coastguard Worker ldrsh r5, [r6, #33] 1216*9880d681SAndroid Build Coastguard Worker ldrsh r5, [r6, #257] 1217*9880d681SAndroid Build Coastguard Worker ldrsh.w lr, [r7, #257] 1218*9880d681SAndroid Build Coastguard Worker 1219*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh r5, [r5, #-4] @ encoding: [0x35,0xf9,0x04,0x5c] 1220*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r5, [r6, #32] @ encoding: [0xb6,0xf9,0x20,0x50] 1221*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r5, [r6, #33] @ encoding: [0xb6,0xf9,0x21,0x50] 1222*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r5, [r6, #257] @ encoding: [0xb6,0xf9,0x01,0x51] 1223*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w lr, [r7, #257] @ encoding: [0xb7,0xf9,0x01,0xe1] 1224*9880d681SAndroid Build Coastguard Worker 1225*9880d681SAndroid Build Coastguard Worker 1226*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1227*9880d681SAndroid Build Coastguard Worker@ LDRSH(register) 1228*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1229*9880d681SAndroid Build Coastguard Worker ldrsh r1, [r8, r1] 1230*9880d681SAndroid Build Coastguard Worker ldrsh.w r4, [r5, r2] 1231*9880d681SAndroid Build Coastguard Worker ldrsh r6, [r0, r2, lsl #3] 1232*9880d681SAndroid Build Coastguard Worker ldrsh r8, [r8, r2, lsl #2] 1233*9880d681SAndroid Build Coastguard Worker ldrsh r7, [sp, r2, lsl #1] 1234*9880d681SAndroid Build Coastguard Worker ldrsh r7, [sp, r2, lsl #0] 1235*9880d681SAndroid Build Coastguard Worker ldrsh r5, [r8, #255]! 1236*9880d681SAndroid Build Coastguard Worker ldrsh r2, [r5, #4]! 1237*9880d681SAndroid Build Coastguard Worker ldrsh r1, [r4, #-4]! 1238*9880d681SAndroid Build Coastguard Worker ldrsh lr, [r3], #255 1239*9880d681SAndroid Build Coastguard Worker ldrsh r9, [r2], #4 1240*9880d681SAndroid Build Coastguard Worker ldrsh r3, [sp], #-4 1241*9880d681SAndroid Build Coastguard Worker 1242*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r1, [r8, r1] @ encoding: [0x38,0xf9,0x01,0x10] 1243*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r4, [r5, r2] @ encoding: [0x35,0xf9,0x02,0x40] 1244*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r6, [r0, r2, lsl #3] @ encoding: [0x30,0xf9,0x32,0x60] 1245*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r8, [r8, r2, lsl #2] @ encoding: [0x38,0xf9,0x22,0x80] 1246*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r7, [sp, r2, lsl #1] @ encoding: [0x3d,0xf9,0x12,0x70] 1247*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r7, [sp, r2] @ encoding: [0x3d,0xf9,0x02,0x70] 1248*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh r5, [r8, #255]! @ encoding: [0x38,0xf9,0xff,0x5f] 1249*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh r2, [r5, #4]! @ encoding: [0x35,0xf9,0x04,0x2f] 1250*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh r1, [r4, #-4]! @ encoding: [0x34,0xf9,0x04,0x1d] 1251*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh lr, [r3], #255 @ encoding: [0x33,0xf9,0xff,0xeb] 1252*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh r9, [r2], #4 @ encoding: [0x32,0xf9,0x04,0x9b] 1253*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh r3, [sp], #-4 @ encoding: [0x3d,0xf9,0x04,0x39] 1254*9880d681SAndroid Build Coastguard Worker 1255*9880d681SAndroid Build Coastguard Worker 1256*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1257*9880d681SAndroid Build Coastguard Worker@ LDRSH(literal) 1258*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1259*9880d681SAndroid Build Coastguard Worker ldrsh r5, _bar 1260*9880d681SAndroid Build Coastguard Worker 1261*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r5, _bar @ encoding: [0x3f'A',0xf9'A',A,0x50'A'] 1262*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 1263*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: ldrsh.w r5, _bar @ encoding: [0xf9'A',0x3f'A',0x50'A',A] 1264*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 1265*9880d681SAndroid Build Coastguard Worker 1266*9880d681SAndroid Build Coastguard Worker@ TEMPORARILY DISABLED: 1267*9880d681SAndroid Build Coastguard Worker@ ldrsh.w r4, [pc, #1435] 1268*9880d681SAndroid Build Coastguard Worker@ : ldrsh.w r4, [pc, #1435] @ encoding: [0x3f,0xf9,0x9b,0x45] 1269*9880d681SAndroid Build Coastguard Worker 1270*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1271*9880d681SAndroid Build Coastguard Worker@ LDRSHT 1272*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1273*9880d681SAndroid Build Coastguard Worker ldrsht r1, [r2] 1274*9880d681SAndroid Build Coastguard Worker ldrsht r1, [r8, #0] 1275*9880d681SAndroid Build Coastguard Worker ldrsht r1, [r8, #3] 1276*9880d681SAndroid Build Coastguard Worker ldrsht r1, [r8, #255] 1277*9880d681SAndroid Build Coastguard Worker 1278*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht r1, [r2] @ encoding: [0x32,0xf9,0x00,0x1e] 1279*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht r1, [r8] @ encoding: [0x38,0xf9,0x00,0x1e] 1280*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht r1, [r8, #3] @ encoding: [0x38,0xf9,0x03,0x1e] 1281*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht r1, [r8, #255] @ encoding: [0x38,0xf9,0xff,0x1e] 1282*9880d681SAndroid Build Coastguard Worker 1283*9880d681SAndroid Build Coastguard Worker 1284*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1285*9880d681SAndroid Build Coastguard Worker@ LDRT 1286*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1287*9880d681SAndroid Build Coastguard Worker ldrt r1, [r2] 1288*9880d681SAndroid Build Coastguard Worker ldrt r2, [r6, #0] 1289*9880d681SAndroid Build Coastguard Worker ldrt r3, [r7, #3] 1290*9880d681SAndroid Build Coastguard Worker ldrt r4, [r9, #255] 1291*9880d681SAndroid Build Coastguard Worker 1292*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrt r1, [r2] @ encoding: [0x52,0xf8,0x00,0x1e] 1293*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrt r2, [r6] @ encoding: [0x56,0xf8,0x00,0x2e] 1294*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrt r3, [r7, #3] @ encoding: [0x57,0xf8,0x03,0x3e] 1295*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrt r4, [r9, #255] @ encoding: [0x59,0xf8,0xff,0x4e] 1296*9880d681SAndroid Build Coastguard Worker 1297*9880d681SAndroid Build Coastguard Worker 1298*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1299*9880d681SAndroid Build Coastguard Worker@ LSL (immediate) 1300*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1301*9880d681SAndroid Build Coastguard Worker lsl r2, r3, #12 1302*9880d681SAndroid Build Coastguard Worker lsls r8, r3, #31 1303*9880d681SAndroid Build Coastguard Worker lsls.w r2, r3, #1 1304*9880d681SAndroid Build Coastguard Worker lsl r2, r3, #4 1305*9880d681SAndroid Build Coastguard Worker lsls r2, r12, #15 1306*9880d681SAndroid Build Coastguard Worker 1307*9880d681SAndroid Build Coastguard Worker lsl r3, #19 1308*9880d681SAndroid Build Coastguard Worker lsls r8, #2 1309*9880d681SAndroid Build Coastguard Worker lsls.w r7, #5 1310*9880d681SAndroid Build Coastguard Worker lsl.w r12, #21 1311*9880d681SAndroid Build Coastguard Worker 1312*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r2, r3, #12 @ encoding: [0x4f,0xea,0x03,0x32] 1313*9880d681SAndroid Build Coastguard Worker@ CHECK: lsls.w r8, r3, #31 @ encoding: [0x5f,0xea,0xc3,0x78] 1314*9880d681SAndroid Build Coastguard Worker@ CHECK: lsls.w r2, r3, #1 @ encoding: [0x5f,0xea,0x43,0x02] 1315*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r2, r3, #4 @ encoding: [0x4f,0xea,0x03,0x12] 1316*9880d681SAndroid Build Coastguard Worker@ CHECK: lsls.w r2, r12, #15 @ encoding: [0x5f,0xea,0xcc,0x32] 1317*9880d681SAndroid Build Coastguard Worker 1318*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r3, r3, #19 @ encoding: [0x4f,0xea,0xc3,0x43] 1319*9880d681SAndroid Build Coastguard Worker@ CHECK: lsls.w r8, r8, #2 @ encoding: [0x5f,0xea,0x88,0x08] 1320*9880d681SAndroid Build Coastguard Worker@ CHECK: lsls.w r7, r7, #5 @ encoding: [0x5f,0xea,0x47,0x17] 1321*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r12, r12, #21 @ encoding: [0x4f,0xea,0x4c,0x5c] 1322*9880d681SAndroid Build Coastguard Worker 1323*9880d681SAndroid Build Coastguard Worker 1324*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1325*9880d681SAndroid Build Coastguard Worker@ LSL (register) 1326*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1327*9880d681SAndroid Build Coastguard Worker lsl r3, r4, r2 1328*9880d681SAndroid Build Coastguard Worker lsl.w r1, r2 1329*9880d681SAndroid Build Coastguard Worker lsls r3, r4, r8 1330*9880d681SAndroid Build Coastguard Worker 1331*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r3, r4, r2 @ encoding: [0x04,0xfa,0x02,0xf3] 1332*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r1, r1, r2 @ encoding: [0x01,0xfa,0x02,0xf1] 1333*9880d681SAndroid Build Coastguard Worker@ CHECK: lsls.w r3, r4, r8 @ encoding: [0x14,0xfa,0x08,0xf3] 1334*9880d681SAndroid Build Coastguard Worker 1335*9880d681SAndroid Build Coastguard Worker 1336*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1337*9880d681SAndroid Build Coastguard Worker@ LSR (immediate) 1338*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1339*9880d681SAndroid Build Coastguard Worker lsr r2, r3, #12 1340*9880d681SAndroid Build Coastguard Worker lsrs r8, r3, #32 1341*9880d681SAndroid Build Coastguard Worker lsrs.w r2, r3, #1 1342*9880d681SAndroid Build Coastguard Worker lsr r2, r3, #4 1343*9880d681SAndroid Build Coastguard Worker lsrs r2, r12, #15 1344*9880d681SAndroid Build Coastguard Worker 1345*9880d681SAndroid Build Coastguard Worker lsr r3, #19 1346*9880d681SAndroid Build Coastguard Worker lsrs r8, #2 1347*9880d681SAndroid Build Coastguard Worker lsrs.w r7, #5 1348*9880d681SAndroid Build Coastguard Worker lsr.w r12, #21 1349*9880d681SAndroid Build Coastguard Worker 1350*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr.w r2, r3, #12 @ encoding: [0x4f,0xea,0x13,0x32] 1351*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs.w r8, r3, #32 @ encoding: [0x5f,0xea,0x13,0x08] 1352*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs.w r2, r3, #1 @ encoding: [0x5f,0xea,0x53,0x02] 1353*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr.w r2, r3, #4 @ encoding: [0x4f,0xea,0x13,0x12] 1354*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs.w r2, r12, #15 @ encoding: [0x5f,0xea,0xdc,0x32] 1355*9880d681SAndroid Build Coastguard Worker 1356*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr.w r3, r3, #19 @ encoding: [0x4f,0xea,0xd3,0x43] 1357*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs.w r8, r8, #2 @ encoding: [0x5f,0xea,0x98,0x08] 1358*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs.w r7, r7, #5 @ encoding: [0x5f,0xea,0x57,0x17] 1359*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr.w r12, r12, #21 @ encoding: [0x4f,0xea,0x5c,0x5c] 1360*9880d681SAndroid Build Coastguard Worker 1361*9880d681SAndroid Build Coastguard Worker 1362*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1363*9880d681SAndroid Build Coastguard Worker@ LSR (register) 1364*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1365*9880d681SAndroid Build Coastguard Worker lsr r3, r4, r2 1366*9880d681SAndroid Build Coastguard Worker lsr.w r1, r2 1367*9880d681SAndroid Build Coastguard Worker lsrs r3, r4, r8 1368*9880d681SAndroid Build Coastguard Worker 1369*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr.w r3, r4, r2 @ encoding: [0x24,0xfa,0x02,0xf3] 1370*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr.w r1, r1, r2 @ encoding: [0x21,0xfa,0x02,0xf1] 1371*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs.w r3, r4, r8 @ encoding: [0x34,0xfa,0x08,0xf3] 1372*9880d681SAndroid Build Coastguard Worker 1373*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1374*9880d681SAndroid Build Coastguard Worker@ MCR/MCR2 1375*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1376*9880d681SAndroid Build Coastguard Worker mcr p7, #1, r5, c1, c1, #4 1377*9880d681SAndroid Build Coastguard Worker mcr2 p7, #1, r5, c1, c1, #4 1378*9880d681SAndroid Build Coastguard Worker mcr p14, #0, r4, c0, c5 1379*9880d681SAndroid Build Coastguard Worker mcr2 p4, #2, r2, c1, c3 1380*9880d681SAndroid Build Coastguard Worker 1381*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr p7, #1, r5, c1, c1, #4 @ encoding: [0x21,0xee,0x91,0x57] 1382*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr2 p7, #1, r5, c1, c1, #4 @ encoding: [0x21,0xfe,0x91,0x57] 1383*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr p14, #0, r4, c0, c5, #0 @ encoding: [0x00,0xee,0x15,0x4e] 1384*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr2 p4, #2, r2, c1, c3, #0 @ encoding: [0x41,0xfe,0x13,0x24] 1385*9880d681SAndroid Build Coastguard Worker 1386*9880d681SAndroid Build Coastguard Worker 1387*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1388*9880d681SAndroid Build Coastguard Worker@ MCRR/MCRR2 1389*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1390*9880d681SAndroid Build Coastguard Worker mcrr p7, #15, r5, r4, c1 1391*9880d681SAndroid Build Coastguard Worker mcrr2 p7, #15, r5, r4, c1 1392*9880d681SAndroid Build Coastguard Worker 1393*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrr p7, #15, r5, r4, c1 @ encoding: [0x44,0xec,0xf1,0x57] 1394*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrr2 p7, #15, r5, r4, c1 @ encoding: [0x44,0xfc,0xf1,0x57] 1395*9880d681SAndroid Build Coastguard Worker 1396*9880d681SAndroid Build Coastguard Worker 1397*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1398*9880d681SAndroid Build Coastguard Worker@ MLA/MLS 1399*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1400*9880d681SAndroid Build Coastguard Worker mla r1,r2,r3,r4 1401*9880d681SAndroid Build Coastguard Worker mls r1,r2,r3,r4 1402*9880d681SAndroid Build Coastguard Worker 1403*9880d681SAndroid Build Coastguard Worker@ CHECK: mla r1, r2, r3, r4 @ encoding: [0x02,0xfb,0x03,0x41] 1404*9880d681SAndroid Build Coastguard Worker@ CHECK: mls r1, r2, r3, r4 @ encoding: [0x02,0xfb,0x13,0x41] 1405*9880d681SAndroid Build Coastguard Worker 1406*9880d681SAndroid Build Coastguard Worker 1407*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1408*9880d681SAndroid Build Coastguard Worker@ MOV(immediate) 1409*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1410*9880d681SAndroid Build Coastguard Worker movs r1, #21 1411*9880d681SAndroid Build Coastguard Worker movs.w r1, #21 1412*9880d681SAndroid Build Coastguard Worker movs r8, #21 1413*9880d681SAndroid Build Coastguard Worker movw r0, #65535 1414*9880d681SAndroid Build Coastguard Worker movw r1, #43777 1415*9880d681SAndroid Build Coastguard Worker movw r1, #43792 1416*9880d681SAndroid Build Coastguard Worker mov.w r0, #0x3fc0000 1417*9880d681SAndroid Build Coastguard Worker mov r0, #0x3fc0000 1418*9880d681SAndroid Build Coastguard Worker movs.w r0, #0x3fc0000 1419*9880d681SAndroid Build Coastguard Worker itte eq 1420*9880d681SAndroid Build Coastguard Worker movseq r1, #12 1421*9880d681SAndroid Build Coastguard Worker moveq r1, #12 1422*9880d681SAndroid Build Coastguard Worker movne.w r1, #12 1423*9880d681SAndroid Build Coastguard Worker mov.w r6, #450 1424*9880d681SAndroid Build Coastguard Worker it lo 1425*9880d681SAndroid Build Coastguard Worker movlo r1, #-1 1426*9880d681SAndroid Build Coastguard Worker 1427*9880d681SAndroid Build Coastguard Worker @ alias for mvn 1428*9880d681SAndroid Build Coastguard Worker mov r3, #-3 1429*9880d681SAndroid Build Coastguard Worker mov r11, #0xabcd 1430*9880d681SAndroid Build Coastguard Worker movs r0, #1 1431*9880d681SAndroid Build Coastguard Worker it ne 1432*9880d681SAndroid Build Coastguard Worker movne r3, #15 1433*9880d681SAndroid Build Coastguard Worker 1434*9880d681SAndroid Build Coastguard Worker itt eq 1435*9880d681SAndroid Build Coastguard Worker moveq r0, #255 1436*9880d681SAndroid Build Coastguard Worker moveq r1, #256 1437*9880d681SAndroid Build Coastguard Worker 1438*9880d681SAndroid Build Coastguard Worker@ CHECK: movs r1, #21 @ encoding: [0x15,0x21] 1439*9880d681SAndroid Build Coastguard Worker@ CHECK: movs.w r1, #21 @ encoding: [0x5f,0xf0,0x15,0x01] 1440*9880d681SAndroid Build Coastguard Worker@ CHECK: movs.w r8, #21 @ encoding: [0x5f,0xf0,0x15,0x08] 1441*9880d681SAndroid Build Coastguard Worker@ CHECK: movw r0, #65535 @ encoding: [0x4f,0xf6,0xff,0x70] 1442*9880d681SAndroid Build Coastguard Worker@ CHECK: movw r1, #43777 @ encoding: [0x4a,0xf6,0x01,0x31] 1443*9880d681SAndroid Build Coastguard Worker@ CHECK: movw r1, #43792 @ encoding: [0x4a,0xf6,0x10,0x31] 1444*9880d681SAndroid Build Coastguard Worker@ CHECK: mov.w r0, #66846720 @ encoding: [0x4f,0xf0,0x7f,0x70] 1445*9880d681SAndroid Build Coastguard Worker@ CHECK: mov.w r0, #66846720 @ encoding: [0x4f,0xf0,0x7f,0x70] 1446*9880d681SAndroid Build Coastguard Worker@ CHECK: movs.w r0, #66846720 @ encoding: [0x5f,0xf0,0x7f,0x70] 1447*9880d681SAndroid Build Coastguard Worker@ CHECK: itte eq @ encoding: [0x06,0xbf] 1448*9880d681SAndroid Build Coastguard Worker@ CHECK: movseq.w r1, #12 @ encoding: [0x5f,0xf0,0x0c,0x01] 1449*9880d681SAndroid Build Coastguard Worker@ CHECK: moveq r1, #12 @ encoding: [0x0c,0x21] 1450*9880d681SAndroid Build Coastguard Worker@ CHECK: movne.w r1, #12 @ encoding: [0x4f,0xf0,0x0c,0x01] 1451*9880d681SAndroid Build Coastguard Worker@ CHECK: mov.w r6, #450 @ encoding: [0x4f,0xf4,0xe1,0x76] 1452*9880d681SAndroid Build Coastguard Worker@ CHECK: it lo @ encoding: [0x38,0xbf] 1453*9880d681SAndroid Build Coastguard Worker@ CHECK: movlo.w r1, #-1 @ encoding: [0x4f,0xf0,0xff,0x31] 1454*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r3, #2 @ encoding: [0x6f,0xf0,0x02,0x03] 1455*9880d681SAndroid Build Coastguard Worker@ CHECK: movw r11, #43981 @ encoding: [0x4a,0xf6,0xcd,0x3b] 1456*9880d681SAndroid Build Coastguard Worker@ CHECK: movs r0, #1 @ encoding: [0x01,0x20] 1457*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 1458*9880d681SAndroid Build Coastguard Worker@ CHECK: movne r3, #15 @ encoding: [0x0f,0x23] 1459*9880d681SAndroid Build Coastguard Worker 1460*9880d681SAndroid Build Coastguard Worker@ CHECK: itt eq @ encoding: [0x04,0xbf] 1461*9880d681SAndroid Build Coastguard Worker@ CHECK: moveq r0, #255 @ encoding: [0xff,0x20] 1462*9880d681SAndroid Build Coastguard Worker@ CHECK: movweq r1, #256 @ encoding: [0x40,0xf2,0x00,0x11] 1463*9880d681SAndroid Build Coastguard Worker 1464*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1465*9880d681SAndroid Build Coastguard Worker@ MOV(shifted register) 1466*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1467*9880d681SAndroid Build Coastguard Worker mov r6, r2, lsl #16 1468*9880d681SAndroid Build Coastguard Worker mov r6, r2, lsr #16 1469*9880d681SAndroid Build Coastguard Worker movs r6, r2, asr #32 1470*9880d681SAndroid Build Coastguard Worker movs r6, r2, ror #5 1471*9880d681SAndroid Build Coastguard Worker movs r4, r4, lsl r5 1472*9880d681SAndroid Build Coastguard Worker movs r4, r4, lsr r5 1473*9880d681SAndroid Build Coastguard Worker movs r4, r4, asr r5 1474*9880d681SAndroid Build Coastguard Worker movs r4, r4, ror r5 1475*9880d681SAndroid Build Coastguard Worker mov r4, r4, lsl r5 1476*9880d681SAndroid Build Coastguard Worker movs r4, r4, ror r8 1477*9880d681SAndroid Build Coastguard Worker movs r4, r5, lsr r6 1478*9880d681SAndroid Build Coastguard Worker itttt eq 1479*9880d681SAndroid Build Coastguard Worker moveq r4, r4, lsl r5 1480*9880d681SAndroid Build Coastguard Worker moveq r4, r4, lsr r5 1481*9880d681SAndroid Build Coastguard Worker moveq r4, r4, asr r5 1482*9880d681SAndroid Build Coastguard Worker moveq r4, r4, ror r5 1483*9880d681SAndroid Build Coastguard Worker mov r4, r4, rrx 1484*9880d681SAndroid Build Coastguard Worker 1485*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r6, r2, #16 @ encoding: [0x4f,0xea,0x02,0x46] 1486*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr.w r6, r2, #16 @ encoding: [0x4f,0xea,0x12,0x46] 1487*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs r6, r2, #32 @ encoding: [0x16,0x10] 1488*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r6, r2, #5 @ encoding: [0x5f,0xea,0x72,0x16] 1489*9880d681SAndroid Build Coastguard Worker@ CHECK: lsls r4, r5 @ encoding: [0xac,0x40] 1490*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs r4, r5 @ encoding: [0xec,0x40] 1491*9880d681SAndroid Build Coastguard Worker@ CHECK: asrs r4, r5 @ encoding: [0x2c,0x41] 1492*9880d681SAndroid Build Coastguard Worker@ CHECK: rors r4, r5 @ encoding: [0xec,0x41] 1493*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl.w r4, r4, r5 @ encoding: [0x04,0xfa,0x05,0xf4] 1494*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r4, r4, r8 @ encoding: [0x74,0xfa,0x08,0xf4] 1495*9880d681SAndroid Build Coastguard Worker@ CHECK: lsrs.w r4, r5, r6 @ encoding: [0x35,0xfa,0x06,0xf4] 1496*9880d681SAndroid Build Coastguard Worker@ CHECK: itttt eq @ encoding: [0x01,0xbf] 1497*9880d681SAndroid Build Coastguard Worker@ CHECK: lsleq r4, r5 @ encoding: [0xac,0x40] 1498*9880d681SAndroid Build Coastguard Worker@ CHECK: lsreq r4, r5 @ encoding: [0xec,0x40] 1499*9880d681SAndroid Build Coastguard Worker@ CHECK: asreq r4, r5 @ encoding: [0x2c,0x41] 1500*9880d681SAndroid Build Coastguard Worker@ CHECK: roreq r4, r5 @ encoding: [0xec,0x41] 1501*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx r4, r4 @ encoding: [0x4f,0xea,0x34,0x04] 1502*9880d681SAndroid Build Coastguard Worker 1503*9880d681SAndroid Build Coastguard Worker 1504*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1505*9880d681SAndroid Build Coastguard Worker@ MOVT 1506*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1507*9880d681SAndroid Build Coastguard Worker movt r3, #7 1508*9880d681SAndroid Build Coastguard Worker movt r6, #0xffff 1509*9880d681SAndroid Build Coastguard Worker it eq 1510*9880d681SAndroid Build Coastguard Worker movteq r4, #0xff0 1511*9880d681SAndroid Build Coastguard Worker 1512*9880d681SAndroid Build Coastguard Worker@ CHECK: movt r3, #7 @ encoding: [0xc0,0xf2,0x07,0x03] 1513*9880d681SAndroid Build Coastguard Worker@ CHECK: movt r6, #65535 @ encoding: [0xcf,0xf6,0xff,0x76] 1514*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 1515*9880d681SAndroid Build Coastguard Worker@ CHECK: movteq r4, #4080 @ encoding: [0xc0,0xf6,0xf0,0x74] 1516*9880d681SAndroid Build Coastguard Worker 1517*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1518*9880d681SAndroid Build Coastguard Worker@ MRC/MRC2 1519*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1520*9880d681SAndroid Build Coastguard Worker mrc p14, #0, r1, c1, c2, #4 1521*9880d681SAndroid Build Coastguard Worker mrc p15, #7, apsr_nzcv, c15, c6, #6 1522*9880d681SAndroid Build Coastguard Worker mrc p9, #1, r1, c2, c2 1523*9880d681SAndroid Build Coastguard Worker mrc2 p12, #3, r3, c3, c4 1524*9880d681SAndroid Build Coastguard Worker mrc2 p14, #0, r1, c1, c2, #4 1525*9880d681SAndroid Build Coastguard Worker mrc2 p8, #7, apsr_nzcv, c15, c0, #1 1526*9880d681SAndroid Build Coastguard Worker 1527*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc p14, #0, r1, c1, c2, #4 @ encoding: [0x11,0xee,0x92,0x1e] 1528*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc p15, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xff,0xee,0xd6,0xff] 1529*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc p9, #1, r1, c2, c2, #0 @ encoding: [0x32,0xee,0x12,0x19] 1530*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc2 p12, #3, r3, c3, c4, #0 @ encoding: [0x73,0xfe,0x14,0x3c] 1531*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc2 p14, #0, r1, c1, c2, #4 @ encoding: [0x11,0xfe,0x92,0x1e] 1532*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc2 p8, #7, apsr_nzcv, c15, c0, #1 @ encoding: [0xff,0xfe,0x30,0xf8] 1533*9880d681SAndroid Build Coastguard Worker 1534*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1535*9880d681SAndroid Build Coastguard Worker@ MRRC/MRRC2 1536*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1537*9880d681SAndroid Build Coastguard Worker mrrc p7, #1, r5, r4, c1 1538*9880d681SAndroid Build Coastguard Worker mrrc2 p7, #1, r5, r4, c1 1539*9880d681SAndroid Build Coastguard Worker 1540*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrc p7, #1, r5, r4, c1 @ encoding: [0x54,0xec,0x11,0x57] 1541*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrc2 p7, #1, r5, r4, c1 @ encoding: [0x54,0xfc,0x11,0x57] 1542*9880d681SAndroid Build Coastguard Worker 1543*9880d681SAndroid Build Coastguard Worker 1544*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1545*9880d681SAndroid Build Coastguard Worker@ MRS 1546*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1547*9880d681SAndroid Build Coastguard Worker mrs r8, apsr 1548*9880d681SAndroid Build Coastguard Worker mrs r8, cpsr 1549*9880d681SAndroid Build Coastguard Worker mrs r8, spsr 1550*9880d681SAndroid Build Coastguard Worker 1551*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs r8, apsr @ encoding: [0xef,0xf3,0x00,0x88] 1552*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs r8, apsr @ encoding: [0xef,0xf3,0x00,0x88] 1553*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs r8, spsr @ encoding: [0xff,0xf3,0x00,0x88] 1554*9880d681SAndroid Build Coastguard Worker 1555*9880d681SAndroid Build Coastguard Worker 1556*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1557*9880d681SAndroid Build Coastguard Worker@ MSR 1558*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1559*9880d681SAndroid Build Coastguard Worker msr apsr, r1 1560*9880d681SAndroid Build Coastguard Worker msr apsr_g, r2 1561*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvq, r3 1562*9880d681SAndroid Build Coastguard Worker msr APSR_nzcvq, r4 1563*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvqg, r5 1564*9880d681SAndroid Build Coastguard Worker msr cpsr_fc, r6 1565*9880d681SAndroid Build Coastguard Worker msr cpsr_c, r7 1566*9880d681SAndroid Build Coastguard Worker msr cpsr_x, r8 1567*9880d681SAndroid Build Coastguard Worker msr cpsr_fc, r9 1568*9880d681SAndroid Build Coastguard Worker msr cpsr_all, r11 1569*9880d681SAndroid Build Coastguard Worker msr cpsr_fsx, r12 1570*9880d681SAndroid Build Coastguard Worker msr spsr_fc, r0 1571*9880d681SAndroid Build Coastguard Worker msr SPSR_fsxc, r5 1572*9880d681SAndroid Build Coastguard Worker msr cpsr_fsxc, r8 1573*9880d681SAndroid Build Coastguard Worker msr cpsr, r3 1574*9880d681SAndroid Build Coastguard Worker 1575*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, r1 @ encoding: [0x81,0xf3,0x00,0x88] 1576*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_g, r2 @ encoding: [0x82,0xf3,0x00,0x84] 1577*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, r3 @ encoding: [0x83,0xf3,0x00,0x88] 1578*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, r4 @ encoding: [0x84,0xf3,0x00,0x88] 1579*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvqg, r5 @ encoding: [0x85,0xf3,0x00,0x8c] 1580*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, r6 @ encoding: [0x86,0xf3,0x00,0x89] 1581*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_c, r7 @ encoding: [0x87,0xf3,0x00,0x81] 1582*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_x, r8 @ encoding: [0x88,0xf3,0x00,0x82] 1583*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, r9 @ encoding: [0x89,0xf3,0x00,0x89] 1584*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, r11 @ encoding: [0x8b,0xf3,0x00,0x89] 1585*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fsx, r12 @ encoding: [0x8c,0xf3,0x00,0x8e] 1586*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fc, r0 @ encoding: [0x90,0xf3,0x00,0x89] 1587*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fsxc, r5 @ encoding: [0x95,0xf3,0x00,0x8f] 1588*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fsxc, r8 @ encoding: [0x88,0xf3,0x00,0x8f] 1589*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, r3 @ encoding: [0x83,0xf3,0x00,0x89] 1590*9880d681SAndroid Build Coastguard Worker 1591*9880d681SAndroid Build Coastguard Worker 1592*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1593*9880d681SAndroid Build Coastguard Worker@ MUL 1594*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1595*9880d681SAndroid Build Coastguard Worker muls r3, r4, r3 1596*9880d681SAndroid Build Coastguard Worker mul r3, r4, r3 1597*9880d681SAndroid Build Coastguard Worker mul r3, r4, r6 1598*9880d681SAndroid Build Coastguard Worker it eq 1599*9880d681SAndroid Build Coastguard Worker muleq r3, r4, r5 1600*9880d681SAndroid Build Coastguard Worker it le 1601*9880d681SAndroid Build Coastguard Worker mulle r4, r4, r8 1602*9880d681SAndroid Build Coastguard Worker mul r5, r6 1603*9880d681SAndroid Build Coastguard Worker 1604*9880d681SAndroid Build Coastguard Worker@ CHECK: muls r3, r4, r3 @ encoding: [0x63,0x43] 1605*9880d681SAndroid Build Coastguard Worker@ CHECK: mul r3, r4, r3 @ encoding: [0x04,0xfb,0x03,0xf3] 1606*9880d681SAndroid Build Coastguard Worker@ CHECK: mul r3, r4, r6 @ encoding: [0x04,0xfb,0x06,0xf3] 1607*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 1608*9880d681SAndroid Build Coastguard Worker@ CHECK: muleq r3, r4, r5 @ encoding: [0x04,0xfb,0x05,0xf3] 1609*9880d681SAndroid Build Coastguard Worker@ CHECK: it le @ encoding: [0xd8,0xbf] 1610*9880d681SAndroid Build Coastguard Worker@ CHECK: mulle r4, r4, r8 @ encoding: [0x04,0xfb,0x08,0xf4] 1611*9880d681SAndroid Build Coastguard Worker@ CHECK: mul r5, r6, r5 @ encoding: [0x06,0xfb,0x05,0xf5] 1612*9880d681SAndroid Build Coastguard Worker 1613*9880d681SAndroid Build Coastguard Worker 1614*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1615*9880d681SAndroid Build Coastguard Worker@ MVN(immediate) 1616*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1617*9880d681SAndroid Build Coastguard Worker mvns r8, #21 1618*9880d681SAndroid Build Coastguard Worker mvn r0, #0x3fc0000 1619*9880d681SAndroid Build Coastguard Worker mvns r0, #0x3fc0000 1620*9880d681SAndroid Build Coastguard Worker itte eq 1621*9880d681SAndroid Build Coastguard Worker mvnseq r1, #12 1622*9880d681SAndroid Build Coastguard Worker mvneq.w r1, #12 1623*9880d681SAndroid Build Coastguard Worker mvnne r1, #12 1624*9880d681SAndroid Build Coastguard Worker 1625*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns r8, #21 @ encoding: [0x7f,0xf0,0x15,0x08] 1626*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r0, #66846720 @ encoding: [0x6f,0xf0,0x7f,0x70] 1627*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns r0, #66846720 @ encoding: [0x7f,0xf0,0x7f,0x70] 1628*9880d681SAndroid Build Coastguard Worker@ CHECK: itte eq @ encoding: [0x06,0xbf] 1629*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnseq r1, #12 @ encoding: [0x7f,0xf0,0x0c,0x01] 1630*9880d681SAndroid Build Coastguard Worker@ CHECK: mvneq r1, #12 @ encoding: [0x6f,0xf0,0x0c,0x01] 1631*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnne r1, #12 @ encoding: [0x6f,0xf0,0x0c,0x01] 1632*9880d681SAndroid Build Coastguard Worker 1633*9880d681SAndroid Build Coastguard Worker 1634*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1635*9880d681SAndroid Build Coastguard Worker@ MVN(register) 1636*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1637*9880d681SAndroid Build Coastguard Worker mvn r2, r3 1638*9880d681SAndroid Build Coastguard Worker mvns r2, r3 1639*9880d681SAndroid Build Coastguard Worker mvn r5, r6, lsl #19 1640*9880d681SAndroid Build Coastguard Worker mvn r5, r6, lsr #9 1641*9880d681SAndroid Build Coastguard Worker mvn.w r5, r6, asr #4 1642*9880d681SAndroid Build Coastguard Worker mvn r5, r6, ror #6 1643*9880d681SAndroid Build Coastguard Worker mvn r5, r6, rrx 1644*9880d681SAndroid Build Coastguard Worker it eq 1645*9880d681SAndroid Build Coastguard Worker mvneq r2, r3 1646*9880d681SAndroid Build Coastguard Worker 1647*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn.w r2, r3 @ encoding: [0x6f,0xea,0x03,0x02] 1648*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns r2, r3 @ encoding: [0xda,0x43] 1649*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn.w r5, r6, lsl #19 @ encoding: [0x6f,0xea,0xc6,0x45] 1650*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn.w r5, r6, lsr #9 @ encoding: [0x6f,0xea,0x56,0x25] 1651*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn.w r5, r6, asr #4 @ encoding: [0x6f,0xea,0x26,0x15] 1652*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn.w r5, r6, ror #6 @ encoding: [0x6f,0xea,0xb6,0x15] 1653*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn.w r5, r6, rrx @ encoding: [0x6f,0xea,0x36,0x05] 1654*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 1655*9880d681SAndroid Build Coastguard Worker@ CHECK: mvneq r2, r3 @ encoding: [0xda,0x43] 1656*9880d681SAndroid Build Coastguard Worker 1657*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1658*9880d681SAndroid Build Coastguard Worker@ NEG 1659*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1660*9880d681SAndroid Build Coastguard Worker neg r5, r2 1661*9880d681SAndroid Build Coastguard Worker neg r5, r8 1662*9880d681SAndroid Build Coastguard Worker 1663*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r5, r2, #0 @ encoding: [0xc2,0xf1,0x00,0x05] 1664*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r5, r8, #0 @ encoding: [0xc8,0xf1,0x00,0x05] 1665*9880d681SAndroid Build Coastguard Worker 1666*9880d681SAndroid Build Coastguard Worker 1667*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1668*9880d681SAndroid Build Coastguard Worker@ NOP 1669*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1670*9880d681SAndroid Build Coastguard Worker nop.w 1671*9880d681SAndroid Build Coastguard Worker 1672*9880d681SAndroid Build Coastguard Worker@ CHECK: nop.w @ encoding: [0xaf,0xf3,0x00,0x80] 1673*9880d681SAndroid Build Coastguard Worker 1674*9880d681SAndroid Build Coastguard Worker 1675*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1676*9880d681SAndroid Build Coastguard Worker@ ORN 1677*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1678*9880d681SAndroid Build Coastguard Worker orn r4, r5, #0xf000 1679*9880d681SAndroid Build Coastguard Worker orn r4, r5, r6 1680*9880d681SAndroid Build Coastguard Worker orns r4, r5, r6 1681*9880d681SAndroid Build Coastguard Worker orn r4, r5, r6, lsl #5 1682*9880d681SAndroid Build Coastguard Worker orns r4, r5, r6, lsr #5 1683*9880d681SAndroid Build Coastguard Worker orn r4, r5, r6, lsr #5 1684*9880d681SAndroid Build Coastguard Worker orns r4, r5, r6, asr #5 1685*9880d681SAndroid Build Coastguard Worker orn r4, r5, r6, ror #5 1686*9880d681SAndroid Build Coastguard Worker 1687*9880d681SAndroid Build Coastguard Worker@ CHECK: orn r4, r5, #61440 @ encoding: [0x65,0xf4,0x70,0x44] 1688*9880d681SAndroid Build Coastguard Worker@ CHECK: orn r4, r5, r6 @ encoding: [0x65,0xea,0x06,0x04] 1689*9880d681SAndroid Build Coastguard Worker@ CHECK: orns r4, r5, r6 @ encoding: [0x75,0xea,0x06,0x04] 1690*9880d681SAndroid Build Coastguard Worker@ CHECK: orn r4, r5, r6, lsl #5 @ encoding: [0x65,0xea,0x46,0x14] 1691*9880d681SAndroid Build Coastguard Worker@ CHECK: orns r4, r5, r6, lsr #5 @ encoding: [0x75,0xea,0x56,0x14] 1692*9880d681SAndroid Build Coastguard Worker@ CHECK: orn r4, r5, r6, lsr #5 @ encoding: [0x65,0xea,0x56,0x14] 1693*9880d681SAndroid Build Coastguard Worker@ CHECK: orns r4, r5, r6, asr #5 @ encoding: [0x75,0xea,0x66,0x14] 1694*9880d681SAndroid Build Coastguard Worker@ CHECK: orn r4, r5, r6, ror #5 @ encoding: [0x65,0xea,0x76,0x14] 1695*9880d681SAndroid Build Coastguard Worker 1696*9880d681SAndroid Build Coastguard Worker 1697*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1698*9880d681SAndroid Build Coastguard Worker@ ORR 1699*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1700*9880d681SAndroid Build Coastguard Worker orr r4, r5, #0xf000 1701*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6 1702*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, lsl #5 1703*9880d681SAndroid Build Coastguard Worker orrs r4, r5, r6, lsr #5 1704*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, lsr #5 1705*9880d681SAndroid Build Coastguard Worker orrs r4, r5, r6, asr #5 1706*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, ror #5 1707*9880d681SAndroid Build Coastguard Worker 1708*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, #61440 @ encoding: [0x45,0xf4,0x70,0x44] 1709*9880d681SAndroid Build Coastguard Worker@ CHECK: orr.w r4, r5, r6 @ encoding: [0x45,0xea,0x06,0x04] 1710*9880d681SAndroid Build Coastguard Worker@ CHECK: orr.w r4, r5, r6, lsl #5 @ encoding: [0x45,0xea,0x46,0x14] 1711*9880d681SAndroid Build Coastguard Worker@ CHECK: orrs.w r4, r5, r6, lsr #5 @ encoding: [0x55,0xea,0x56,0x14] 1712*9880d681SAndroid Build Coastguard Worker@ CHECK: orr.w r4, r5, r6, lsr #5 @ encoding: [0x45,0xea,0x56,0x14] 1713*9880d681SAndroid Build Coastguard Worker@ CHECK: orrs.w r4, r5, r6, asr #5 @ encoding: [0x55,0xea,0x66,0x14] 1714*9880d681SAndroid Build Coastguard Worker@ CHECK: orr.w r4, r5, r6, ror #5 @ encoding: [0x45,0xea,0x76,0x14] 1715*9880d681SAndroid Build Coastguard Worker 1716*9880d681SAndroid Build Coastguard Worker 1717*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1718*9880d681SAndroid Build Coastguard Worker@ PKH 1719*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1720*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3 1721*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #31 1722*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #0 1723*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #15 1724*9880d681SAndroid Build Coastguard Worker 1725*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3 1726*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3, asr #31 1727*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3, asr #15 1728*9880d681SAndroid Build Coastguard Worker 1729*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3 @ encoding: [0xc2,0xea,0x03,0x02] 1730*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3, lsl #31 @ encoding: [0xc2,0xea,0xc3,0x72] 1731*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3 @ encoding: [0xc2,0xea,0x03,0x02] 1732*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3, lsl #15 @ encoding: [0xc2,0xea,0xc3,0x32] 1733*9880d681SAndroid Build Coastguard Worker 1734*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r3, r2 @ encoding: [0xc3,0xea,0x02,0x02] 1735*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhtb r2, r2, r3, asr #31 @ encoding: [0xc2,0xea,0xe3,0x72] 1736*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhtb r2, r2, r3, asr #15 @ encoding: [0xc2,0xea,0xe3,0x32] 1737*9880d681SAndroid Build Coastguard Worker 1738*9880d681SAndroid Build Coastguard Worker 1739*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1740*9880d681SAndroid Build Coastguard Worker@ PLD(immediate) 1741*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1742*9880d681SAndroid Build Coastguard Worker pld [r5, #-4] 1743*9880d681SAndroid Build Coastguard Worker pld [r6, #32] 1744*9880d681SAndroid Build Coastguard Worker pld [r6, #33] 1745*9880d681SAndroid Build Coastguard Worker pld [r6, #257] 1746*9880d681SAndroid Build Coastguard Worker pld [r7, #257] 1747*9880d681SAndroid Build Coastguard Worker pld [r1, #0] 1748*9880d681SAndroid Build Coastguard Worker pld [r1, #-0] 1749*9880d681SAndroid Build Coastguard Worker 1750*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r5, #-4] @ encoding: [0x15,0xf8,0x04,0xfc] 1751*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r6, #32] @ encoding: [0x96,0xf8,0x20,0xf0] 1752*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r6, #33] @ encoding: [0x96,0xf8,0x21,0xf0] 1753*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r6, #257] @ encoding: [0x96,0xf8,0x01,0xf1] 1754*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r7, #257] @ encoding: [0x97,0xf8,0x01,0xf1] 1755*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r1] @ encoding: [0x91,0xf8,0x00,0xf0] 1756*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r1, #-0] @ encoding: [0x11,0xf8,0x00,0xfc] 1757*9880d681SAndroid Build Coastguard Worker 1758*9880d681SAndroid Build Coastguard Worker 1759*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1760*9880d681SAndroid Build Coastguard Worker@ PLD(literal) 1761*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1762*9880d681SAndroid Build Coastguard Worker@ pld _foo 1763*9880d681SAndroid Build Coastguard Worker 1764*9880d681SAndroid Build Coastguard Worker@ FIXME: pld _foo @ encoding: [0x9f'A',0xf8'A',A,0xf0'A'] 1765*9880d681SAndroid Build Coastguard Worker @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 1766*9880d681SAndroid Build Coastguard Worker 1767*9880d681SAndroid Build Coastguard Worker pld [pc,#-4095] 1768*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [pc, #-4095] @ encoding: [0x1f,0xf8,0xff,0xff] 1769*9880d681SAndroid Build Coastguard Worker 1770*9880d681SAndroid Build Coastguard Worker 1771*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1772*9880d681SAndroid Build Coastguard Worker@ PLD(register) 1773*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1774*9880d681SAndroid Build Coastguard Worker pld [r8, r1] 1775*9880d681SAndroid Build Coastguard Worker pld [r5, r2] 1776*9880d681SAndroid Build Coastguard Worker pld [r0, r2, lsl #3] 1777*9880d681SAndroid Build Coastguard Worker pld [r8, r2, lsl #2] 1778*9880d681SAndroid Build Coastguard Worker pld [sp, r2, lsl #1] 1779*9880d681SAndroid Build Coastguard Worker pld [sp, r2, lsl #0] 1780*9880d681SAndroid Build Coastguard Worker 1781*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r8, r1] @ encoding: [0x18,0xf8,0x01,0xf0] 1782*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r5, r2] @ encoding: [0x15,0xf8,0x02,0xf0] 1783*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r0, r2, lsl #3] @ encoding: [0x10,0xf8,0x32,0xf0] 1784*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [r8, r2, lsl #2] @ encoding: [0x18,0xf8,0x22,0xf0] 1785*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [sp, r2, lsl #1] @ encoding: [0x1d,0xf8,0x12,0xf0] 1786*9880d681SAndroid Build Coastguard Worker@ CHECK: pld [sp, r2] @ encoding: [0x1d,0xf8,0x02,0xf0] 1787*9880d681SAndroid Build Coastguard Worker 1788*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1789*9880d681SAndroid Build Coastguard Worker@ PLI(immediate) 1790*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1791*9880d681SAndroid Build Coastguard Worker pli [r5, #-4] 1792*9880d681SAndroid Build Coastguard Worker pli [r6, #32] 1793*9880d681SAndroid Build Coastguard Worker pli [r6, #33] 1794*9880d681SAndroid Build Coastguard Worker pli [r6, #257] 1795*9880d681SAndroid Build Coastguard Worker pli [r7, #257] 1796*9880d681SAndroid Build Coastguard Worker pli [pc, #+4095] 1797*9880d681SAndroid Build Coastguard Worker pli [pc, #-4095] 1798*9880d681SAndroid Build Coastguard Worker 1799*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r5, #-4] @ encoding: [0x15,0xf9,0x04,0xfc] 1800*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r6, #32] @ encoding: [0x96,0xf9,0x20,0xf0] 1801*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r6, #33] @ encoding: [0x96,0xf9,0x21,0xf0] 1802*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r6, #257] @ encoding: [0x96,0xf9,0x01,0xf1] 1803*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r7, #257] @ encoding: [0x97,0xf9,0x01,0xf1] 1804*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [pc, #4095] @ encoding: [0x9f,0xf9,0xff,0xff] 1805*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [pc, #-4095] @ encoding: [0x1f,0xf9,0xff,0xff] 1806*9880d681SAndroid Build Coastguard Worker 1807*9880d681SAndroid Build Coastguard Worker 1808*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1809*9880d681SAndroid Build Coastguard Worker@ PLI(literal) 1810*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1811*9880d681SAndroid Build Coastguard Worker@ pli _foo 1812*9880d681SAndroid Build Coastguard Worker 1813*9880d681SAndroid Build Coastguard Worker 1814*9880d681SAndroid Build Coastguard Worker@ FIXME: pli _foo @ encoding: [0x9f'A',0xf9'A',A,0xf0'A'] 1815*9880d681SAndroid Build Coastguard Worker @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 1816*9880d681SAndroid Build Coastguard Worker 1817*9880d681SAndroid Build Coastguard Worker 1818*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1819*9880d681SAndroid Build Coastguard Worker@ PLI(register) 1820*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1821*9880d681SAndroid Build Coastguard Worker pli [r8, r1] 1822*9880d681SAndroid Build Coastguard Worker pli [r5, r2] 1823*9880d681SAndroid Build Coastguard Worker pli [r0, r2, lsl #3] 1824*9880d681SAndroid Build Coastguard Worker pli [r8, r2, lsl #2] 1825*9880d681SAndroid Build Coastguard Worker pli [sp, r2, lsl #1] 1826*9880d681SAndroid Build Coastguard Worker pli [sp, r2, lsl #0] 1827*9880d681SAndroid Build Coastguard Worker 1828*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r8, r1] @ encoding: [0x18,0xf9,0x01,0xf0] 1829*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r5, r2] @ encoding: [0x15,0xf9,0x02,0xf0] 1830*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r0, r2, lsl #3] @ encoding: [0x10,0xf9,0x32,0xf0] 1831*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [r8, r2, lsl #2] @ encoding: [0x18,0xf9,0x22,0xf0] 1832*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [sp, r2, lsl #1] @ encoding: [0x1d,0xf9,0x12,0xf0] 1833*9880d681SAndroid Build Coastguard Worker@ CHECK: pli [sp, r2] @ encoding: [0x1d,0xf9,0x02,0xf0] 1834*9880d681SAndroid Build Coastguard Worker 1835*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1836*9880d681SAndroid Build Coastguard Worker@ POP (alias) 1837*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1838*9880d681SAndroid Build Coastguard Worker pop {r2, r9} 1839*9880d681SAndroid Build Coastguard Worker 1840*9880d681SAndroid Build Coastguard Worker@ CHECK: pop.w {r2, r9} @ encoding: [0xbd,0xe8,0x04,0x02] 1841*9880d681SAndroid Build Coastguard Worker 1842*9880d681SAndroid Build Coastguard Worker 1843*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1844*9880d681SAndroid Build Coastguard Worker@ PUSH (alias) 1845*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1846*9880d681SAndroid Build Coastguard Worker push {r2, r9} 1847*9880d681SAndroid Build Coastguard Worker 1848*9880d681SAndroid Build Coastguard Worker@ CHECK: push.w {r2, r9} @ encoding: [0x2d,0xe9,0x04,0x02] 1849*9880d681SAndroid Build Coastguard Worker 1850*9880d681SAndroid Build Coastguard Worker 1851*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1852*9880d681SAndroid Build Coastguard Worker@ QADD/QADD16/QADD8 1853*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1854*9880d681SAndroid Build Coastguard Worker qadd r1, r2, r3 1855*9880d681SAndroid Build Coastguard Worker qadd16 r1, r2, r3 1856*9880d681SAndroid Build Coastguard Worker qadd8 r1, r2, r3 1857*9880d681SAndroid Build Coastguard Worker itte gt 1858*9880d681SAndroid Build Coastguard Worker qaddgt r1, r2, r3 1859*9880d681SAndroid Build Coastguard Worker qadd16gt r1, r2, r3 1860*9880d681SAndroid Build Coastguard Worker qadd8le r1, r2, r3 1861*9880d681SAndroid Build Coastguard Worker 1862*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd r1, r2, r3 @ encoding: [0x83,0xfa,0x82,0xf1] 1863*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd16 r1, r2, r3 @ encoding: [0x92,0xfa,0x13,0xf1] 1864*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd8 r1, r2, r3 @ encoding: [0x82,0xfa,0x13,0xf1] 1865*9880d681SAndroid Build Coastguard Worker@ CHECK: itte gt @ encoding: [0xc6,0xbf] 1866*9880d681SAndroid Build Coastguard Worker@ CHECK: qaddgt r1, r2, r3 @ encoding: [0x83,0xfa,0x82,0xf1] 1867*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd16gt r1, r2, r3 @ encoding: [0x92,0xfa,0x13,0xf1] 1868*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd8le r1, r2, r3 @ encoding: [0x82,0xfa,0x13,0xf1] 1869*9880d681SAndroid Build Coastguard Worker 1870*9880d681SAndroid Build Coastguard Worker 1871*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1872*9880d681SAndroid Build Coastguard Worker@ QDADD/QDSUB 1873*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1874*9880d681SAndroid Build Coastguard Worker qdadd r6, r7, r8 1875*9880d681SAndroid Build Coastguard Worker qdsub r6, r7, r8 1876*9880d681SAndroid Build Coastguard Worker itt hi 1877*9880d681SAndroid Build Coastguard Worker qdaddhi r6, r7, r8 1878*9880d681SAndroid Build Coastguard Worker qdsubhi r6, r7, r8 1879*9880d681SAndroid Build Coastguard Worker 1880*9880d681SAndroid Build Coastguard Worker@ CHECK: qdadd r6, r7, r8 @ encoding: [0x88,0xfa,0x97,0xf6] 1881*9880d681SAndroid Build Coastguard Worker@ CHECK: qdsub r6, r7, r8 @ encoding: [0x88,0xfa,0xb7,0xf6] 1882*9880d681SAndroid Build Coastguard Worker@ CHECK: itt hi @ encoding: [0x84,0xbf] 1883*9880d681SAndroid Build Coastguard Worker@ CHECK: qdaddhi r6, r7, r8 @ encoding: [0x88,0xfa,0x97,0xf6] 1884*9880d681SAndroid Build Coastguard Worker@ CHECK: qdsubhi r6, r7, r8 @ encoding: [0x88,0xfa,0xb7,0xf6] 1885*9880d681SAndroid Build Coastguard Worker 1886*9880d681SAndroid Build Coastguard Worker 1887*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1888*9880d681SAndroid Build Coastguard Worker@ QSAX 1889*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1890*9880d681SAndroid Build Coastguard Worker qsax r9, r12, r0 1891*9880d681SAndroid Build Coastguard Worker it eq 1892*9880d681SAndroid Build Coastguard Worker qsaxeq r9, r12, r0 1893*9880d681SAndroid Build Coastguard Worker 1894*9880d681SAndroid Build Coastguard Worker@ CHECK: qsax r9, r12, r0 @ encoding: [0xec,0xfa,0x10,0xf9] 1895*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 1896*9880d681SAndroid Build Coastguard Worker@ CHECK: qsaxeq r9, r12, r0 @ encoding: [0xec,0xfa,0x10,0xf9] 1897*9880d681SAndroid Build Coastguard Worker 1898*9880d681SAndroid Build Coastguard Worker 1899*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1900*9880d681SAndroid Build Coastguard Worker@ QSUB/QSUB16/QSUB8 1901*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1902*9880d681SAndroid Build Coastguard Worker qsub r1, r2, r3 1903*9880d681SAndroid Build Coastguard Worker qsub16 r1, r2, r3 1904*9880d681SAndroid Build Coastguard Worker qsub8 r1, r2, r3 1905*9880d681SAndroid Build Coastguard Worker itet le 1906*9880d681SAndroid Build Coastguard Worker qsuble r1, r2, r3 1907*9880d681SAndroid Build Coastguard Worker qsub16gt r1, r2, r3 1908*9880d681SAndroid Build Coastguard Worker qsub8le r1, r2, r3 1909*9880d681SAndroid Build Coastguard Worker 1910*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub r1, r2, r3 @ encoding: [0x83,0xfa,0xa2,0xf1] 1911*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub16 r1, r2, r3 @ encoding: [0xd2,0xfa,0x13,0xf1] 1912*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub8 r1, r2, r3 @ encoding: [0xc2,0xfa,0x13,0xf1] 1913*9880d681SAndroid Build Coastguard Worker@ CHECK: itet le @ encoding: [0xd6,0xbf] 1914*9880d681SAndroid Build Coastguard Worker@ CHECK: qsuble r1, r2, r3 @ encoding: [0x83,0xfa,0xa2,0xf1] 1915*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub16gt r1, r2, r3 @ encoding: [0xd2,0xfa,0x13,0xf1] 1916*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub8le r1, r2, r3 @ encoding: [0xc2,0xfa,0x13,0xf1] 1917*9880d681SAndroid Build Coastguard Worker 1918*9880d681SAndroid Build Coastguard Worker 1919*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1920*9880d681SAndroid Build Coastguard Worker@ RBIT 1921*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1922*9880d681SAndroid Build Coastguard Worker rbit r1, r2 1923*9880d681SAndroid Build Coastguard Worker it ne 1924*9880d681SAndroid Build Coastguard Worker rbitne r1, r2 1925*9880d681SAndroid Build Coastguard Worker 1926*9880d681SAndroid Build Coastguard Worker@ CHECK: rbit r1, r2 @ encoding: [0x92,0xfa,0xa2,0xf1] 1927*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 1928*9880d681SAndroid Build Coastguard Worker@ CHECK: rbitne r1, r2 @ encoding: [0x92,0xfa,0xa2,0xf1] 1929*9880d681SAndroid Build Coastguard Worker 1930*9880d681SAndroid Build Coastguard Worker 1931*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1932*9880d681SAndroid Build Coastguard Worker@ REV 1933*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1934*9880d681SAndroid Build Coastguard Worker rev.w r1, r2 1935*9880d681SAndroid Build Coastguard Worker rev r2, r8 1936*9880d681SAndroid Build Coastguard Worker itt ne 1937*9880d681SAndroid Build Coastguard Worker revne r1, r2 1938*9880d681SAndroid Build Coastguard Worker revne r1, r8 1939*9880d681SAndroid Build Coastguard Worker 1940*9880d681SAndroid Build Coastguard Worker@ CHECK: rev.w r1, r2 @ encoding: [0x92,0xfa,0x82,0xf1] 1941*9880d681SAndroid Build Coastguard Worker@ CHECK: rev.w r2, r8 @ encoding: [0x98,0xfa,0x88,0xf2] 1942*9880d681SAndroid Build Coastguard Worker@ CHECK: itt ne @ encoding: [0x1c,0xbf] 1943*9880d681SAndroid Build Coastguard Worker@ CHECK: revne r1, r2 @ encoding: [0x11,0xba] 1944*9880d681SAndroid Build Coastguard Worker@ CHECK: revne.w r1, r8 @ encoding: [0x98,0xfa,0x88,0xf1] 1945*9880d681SAndroid Build Coastguard Worker 1946*9880d681SAndroid Build Coastguard Worker 1947*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1948*9880d681SAndroid Build Coastguard Worker@ REV16 1949*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1950*9880d681SAndroid Build Coastguard Worker rev16.w r1, r2 1951*9880d681SAndroid Build Coastguard Worker rev16 r2, r8 1952*9880d681SAndroid Build Coastguard Worker itt ne 1953*9880d681SAndroid Build Coastguard Worker rev16ne r1, r2 1954*9880d681SAndroid Build Coastguard Worker rev16ne r1, r8 1955*9880d681SAndroid Build Coastguard Worker 1956*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16.w r1, r2 @ encoding: [0x92,0xfa,0x92,0xf1] 1957*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16.w r2, r8 @ encoding: [0x98,0xfa,0x98,0xf2] 1958*9880d681SAndroid Build Coastguard Worker@ CHECK: itt ne @ encoding: [0x1c,0xbf] 1959*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16ne r1, r2 @ encoding: [0x51,0xba] 1960*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16ne.w r1, r8 @ encoding: [0x98,0xfa,0x98,0xf1] 1961*9880d681SAndroid Build Coastguard Worker 1962*9880d681SAndroid Build Coastguard Worker 1963*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1964*9880d681SAndroid Build Coastguard Worker@ REVSH 1965*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1966*9880d681SAndroid Build Coastguard Worker revsh.w r1, r2 1967*9880d681SAndroid Build Coastguard Worker revsh r2, r8 1968*9880d681SAndroid Build Coastguard Worker itt ne 1969*9880d681SAndroid Build Coastguard Worker revshne r1, r2 1970*9880d681SAndroid Build Coastguard Worker revshne r1, r8 1971*9880d681SAndroid Build Coastguard Worker 1972*9880d681SAndroid Build Coastguard Worker@ CHECK: revsh.w r1, r2 @ encoding: [0x92,0xfa,0xb2,0xf1] 1973*9880d681SAndroid Build Coastguard Worker@ CHECK: revsh.w r2, r8 @ encoding: [0x98,0xfa,0xb8,0xf2] 1974*9880d681SAndroid Build Coastguard Worker@ CHECK: itt ne @ encoding: [0x1c,0xbf] 1975*9880d681SAndroid Build Coastguard Worker@ CHECK: revshne r1, r2 @ encoding: [0xd1,0xba] 1976*9880d681SAndroid Build Coastguard Worker@ CHECK: revshne.w r1, r8 @ encoding: [0x98,0xfa,0xb8,0xf1] 1977*9880d681SAndroid Build Coastguard Worker 1978*9880d681SAndroid Build Coastguard Worker 1979*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1980*9880d681SAndroid Build Coastguard Worker@ ROR (immediate) 1981*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1982*9880d681SAndroid Build Coastguard Worker ror r2, r3, #12 1983*9880d681SAndroid Build Coastguard Worker rors r8, r3, #31 1984*9880d681SAndroid Build Coastguard Worker rors.w r2, r3, #1 1985*9880d681SAndroid Build Coastguard Worker ror r2, r3, #4 1986*9880d681SAndroid Build Coastguard Worker rors r2, r12, #15 1987*9880d681SAndroid Build Coastguard Worker 1988*9880d681SAndroid Build Coastguard Worker ror r3, #19 1989*9880d681SAndroid Build Coastguard Worker rors r8, #2 1990*9880d681SAndroid Build Coastguard Worker rors.w r7, #5 1991*9880d681SAndroid Build Coastguard Worker ror.w r12, #21 1992*9880d681SAndroid Build Coastguard Worker 1993*9880d681SAndroid Build Coastguard Worker@ CHECK: ror.w r2, r3, #12 @ encoding: [0x4f,0xea,0x33,0x32] 1994*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r8, r3, #31 @ encoding: [0x5f,0xea,0xf3,0x78] 1995*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r2, r3, #1 @ encoding: [0x5f,0xea,0x73,0x02] 1996*9880d681SAndroid Build Coastguard Worker@ CHECK: ror.w r2, r3, #4 @ encoding: [0x4f,0xea,0x33,0x12] 1997*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r2, r12, #15 @ encoding: [0x5f,0xea,0xfc,0x32] 1998*9880d681SAndroid Build Coastguard Worker 1999*9880d681SAndroid Build Coastguard Worker@ CHECK: ror.w r3, r3, #19 @ encoding: [0x4f,0xea,0xf3,0x43] 2000*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r8, r8, #2 @ encoding: [0x5f,0xea,0xb8,0x08] 2001*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r7, r7, #5 @ encoding: [0x5f,0xea,0x77,0x17] 2002*9880d681SAndroid Build Coastguard Worker@ CHECK: ror.w r12, r12, #21 @ encoding: [0x4f,0xea,0x7c,0x5c] 2003*9880d681SAndroid Build Coastguard Worker 2004*9880d681SAndroid Build Coastguard Worker 2005*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2006*9880d681SAndroid Build Coastguard Worker@ ROR (register) 2007*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2008*9880d681SAndroid Build Coastguard Worker ror r3, r4, r2 2009*9880d681SAndroid Build Coastguard Worker ror.w r1, r2 2010*9880d681SAndroid Build Coastguard Worker rors r3, r4, r8 2011*9880d681SAndroid Build Coastguard Worker 2012*9880d681SAndroid Build Coastguard Worker@ CHECK: ror.w r3, r4, r2 @ encoding: [0x64,0xfa,0x02,0xf3] 2013*9880d681SAndroid Build Coastguard Worker@ CHECK: ror.w r1, r1, r2 @ encoding: [0x61,0xfa,0x02,0xf1] 2014*9880d681SAndroid Build Coastguard Worker@ CHECK: rors.w r3, r4, r8 @ encoding: [0x74,0xfa,0x08,0xf3] 2015*9880d681SAndroid Build Coastguard Worker 2016*9880d681SAndroid Build Coastguard Worker 2017*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2018*9880d681SAndroid Build Coastguard Worker@ RRX 2019*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2020*9880d681SAndroid Build Coastguard Worker rrx r1, r2 2021*9880d681SAndroid Build Coastguard Worker rrxs r1, r2 2022*9880d681SAndroid Build Coastguard Worker ite lt 2023*9880d681SAndroid Build Coastguard Worker rrxlt r9, r12 2024*9880d681SAndroid Build Coastguard Worker rrxsge r8, r3 2025*9880d681SAndroid Build Coastguard Worker 2026*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx r1, r2 @ encoding: [0x4f,0xea,0x32,0x01] 2027*9880d681SAndroid Build Coastguard Worker@ CHECK: rrxs r1, r2 @ encoding: [0x5f,0xea,0x32,0x01] 2028*9880d681SAndroid Build Coastguard Worker@ CHECK: ite lt @ encoding: [0xb4,0xbf] 2029*9880d681SAndroid Build Coastguard Worker@ CHECK: rrxlt r9, r12 @ encoding: [0x4f,0xea,0x3c,0x09] 2030*9880d681SAndroid Build Coastguard Worker@ CHECK: rrxsge r8, r3 @ encoding: [0x5f,0xea,0x33,0x08] 2031*9880d681SAndroid Build Coastguard Worker 2032*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2033*9880d681SAndroid Build Coastguard Worker@ RSB (immediate) 2034*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2035*9880d681SAndroid Build Coastguard Worker rsb r2, r5, #0xff000 2036*9880d681SAndroid Build Coastguard Worker rsbs r3, r12, #0xf 2037*9880d681SAndroid Build Coastguard Worker rsb r1, #0xff 2038*9880d681SAndroid Build Coastguard Worker rsb r1, r1, #0xff 2039*9880d681SAndroid Build Coastguard Worker rsb r11, r11, #0 2040*9880d681SAndroid Build Coastguard Worker rsb r9, #0 2041*9880d681SAndroid Build Coastguard Worker rsbs r3, r1, #0 2042*9880d681SAndroid Build Coastguard Worker rsb r3, r1, #0 2043*9880d681SAndroid Build Coastguard Worker 2044*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r2, r5, #1044480 @ encoding: [0xc5,0xf5,0x7f,0x22] 2045*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs.w r3, r12, #15 @ encoding: [0xdc,0xf1,0x0f,0x03] 2046*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r1, r1, #255 @ encoding: [0xc1,0xf1,0xff,0x01] 2047*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r1, r1, #255 @ encoding: [0xc1,0xf1,0xff,0x01] 2048*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r11, r11, #0 @ encoding: [0xcb,0xf1,0x00,0x0b] 2049*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r9, r9, #0 @ encoding: [0xc9,0xf1,0x00,0x09] 2050*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r3, r1, #0 @ encoding: [0x4b,0x42] 2051*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb.w r3, r1, #0 @ encoding: [0xc1,0xf1,0x00,0x03] 2052*9880d681SAndroid Build Coastguard Worker 2053*9880d681SAndroid Build Coastguard Worker 2054*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2055*9880d681SAndroid Build Coastguard Worker@ RSB (register) 2056*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2057*9880d681SAndroid Build Coastguard Worker rsb r4, r8 2058*9880d681SAndroid Build Coastguard Worker rsb r4, r9, r8 2059*9880d681SAndroid Build Coastguard Worker rsb r1, r4, r8, asr #3 2060*9880d681SAndroid Build Coastguard Worker rsbs r2, r1, r7, lsl #1 2061*9880d681SAndroid Build Coastguard Worker 2062*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r4, r8 @ encoding: [0xc4,0xeb,0x08,0x04] 2063*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r9, r8 @ encoding: [0xc9,0xeb,0x08,0x04] 2064*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r1, r4, r8, asr #3 @ encoding: [0xc4,0xeb,0xe8,0x01] 2065*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r2, r1, r7, lsl #1 @ encoding: [0xd1,0xeb,0x47,0x02] 2066*9880d681SAndroid Build Coastguard Worker 2067*9880d681SAndroid Build Coastguard Worker 2068*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2069*9880d681SAndroid Build Coastguard Worker@ SADD16 2070*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2071*9880d681SAndroid Build Coastguard Worker sadd16 r3, r4, r8 2072*9880d681SAndroid Build Coastguard Worker it ne 2073*9880d681SAndroid Build Coastguard Worker sadd16ne r3, r4, r8 2074*9880d681SAndroid Build Coastguard Worker 2075*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16 r3, r4, r8 @ encoding: [0x94,0xfa,0x08,0xf3] 2076*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 2077*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16ne r3, r4, r8 @ encoding: [0x94,0xfa,0x08,0xf3] 2078*9880d681SAndroid Build Coastguard Worker 2079*9880d681SAndroid Build Coastguard Worker 2080*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2081*9880d681SAndroid Build Coastguard Worker@ SADD8 2082*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2083*9880d681SAndroid Build Coastguard Worker sadd8 r3, r4, r8 2084*9880d681SAndroid Build Coastguard Worker it ne 2085*9880d681SAndroid Build Coastguard Worker sadd8ne r3, r4, r8 2086*9880d681SAndroid Build Coastguard Worker 2087*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8 r3, r4, r8 @ encoding: [0x84,0xfa,0x08,0xf3] 2088*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 2089*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8ne r3, r4, r8 @ encoding: [0x84,0xfa,0x08,0xf3] 2090*9880d681SAndroid Build Coastguard Worker 2091*9880d681SAndroid Build Coastguard Worker 2092*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2093*9880d681SAndroid Build Coastguard Worker@ SASX 2094*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2095*9880d681SAndroid Build Coastguard Worker saddsubx r9, r2, r7 2096*9880d681SAndroid Build Coastguard Worker it ne 2097*9880d681SAndroid Build Coastguard Worker saddsubxne r2, r5, r6 2098*9880d681SAndroid Build Coastguard Worker sasx r9, r2, r7 2099*9880d681SAndroid Build Coastguard Worker it ne 2100*9880d681SAndroid Build Coastguard Worker sasxne r2, r5, r6 2101*9880d681SAndroid Build Coastguard Worker 2102*9880d681SAndroid Build Coastguard Worker@ CHECK: sasx r9, r2, r7 @ encoding: [0xa2,0xfa,0x07,0xf9] 2103*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 2104*9880d681SAndroid Build Coastguard Worker@ CHECK: sasxne r2, r5, r6 @ encoding: [0xa5,0xfa,0x06,0xf2] 2105*9880d681SAndroid Build Coastguard Worker@ CHECK: sasx r9, r2, r7 @ encoding: [0xa2,0xfa,0x07,0xf9] 2106*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 2107*9880d681SAndroid Build Coastguard Worker@ CHECK: sasxne r2, r5, r6 @ encoding: [0xa5,0xfa,0x06,0xf2] 2108*9880d681SAndroid Build Coastguard Worker 2109*9880d681SAndroid Build Coastguard Worker 2110*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2111*9880d681SAndroid Build Coastguard Worker@ SBC (immediate) 2112*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2113*9880d681SAndroid Build Coastguard Worker sbc r0, r1, #4 2114*9880d681SAndroid Build Coastguard Worker sbcs r0, r1, #0 2115*9880d681SAndroid Build Coastguard Worker sbc r1, r2, #255 2116*9880d681SAndroid Build Coastguard Worker sbc r3, r7, #0x00550055 2117*9880d681SAndroid Build Coastguard Worker sbc r8, r12, #0xaa00aa00 2118*9880d681SAndroid Build Coastguard Worker sbc r9, r7, #0xa5a5a5a5 2119*9880d681SAndroid Build Coastguard Worker sbc r5, r3, #0x87000000 2120*9880d681SAndroid Build Coastguard Worker sbc r4, r2, #0x7f800000 2121*9880d681SAndroid Build Coastguard Worker sbc r4, r2, #0x00000680 2122*9880d681SAndroid Build Coastguard Worker 2123*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r0, r1, #4 @ encoding: [0x61,0xf1,0x04,0x00] 2124*9880d681SAndroid Build Coastguard Worker@ CHECK: sbcs r0, r1, #0 @ encoding: [0x71,0xf1,0x00,0x00] 2125*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r1, r2, #255 @ encoding: [0x62,0xf1,0xff,0x01] 2126*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r3, r7, #5570645 @ encoding: [0x67,0xf1,0x55,0x13] 2127*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r8, r12, #2852170240 @ encoding: [0x6c,0xf1,0xaa,0x28] 2128*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r9, r7, #2779096485 @ encoding: [0x67,0xf1,0xa5,0x39] 2129*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r5, r3, #2264924160 @ encoding: [0x63,0xf1,0x07,0x45] 2130*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r2, #2139095040 @ encoding: [0x62,0xf1,0xff,0x44] 2131*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r2, #1664 @ encoding: [0x62,0xf5,0xd0,0x64] 2132*9880d681SAndroid Build Coastguard Worker 2133*9880d681SAndroid Build Coastguard Worker 2134*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2135*9880d681SAndroid Build Coastguard Worker@ SBC (register) 2136*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2137*9880d681SAndroid Build Coastguard Worker sbc r4, r5, r6 2138*9880d681SAndroid Build Coastguard Worker sbcs r4, r5, r6 2139*9880d681SAndroid Build Coastguard Worker sbc.w r9, r1, r3 2140*9880d681SAndroid Build Coastguard Worker sbcs.w r9, r1, r3 2141*9880d681SAndroid Build Coastguard Worker sbc r0, r1, r3, ror #4 2142*9880d681SAndroid Build Coastguard Worker sbcs r0, r1, r3, lsl #7 2143*9880d681SAndroid Build Coastguard Worker sbc.w r0, r1, r3, lsr #31 2144*9880d681SAndroid Build Coastguard Worker sbcs.w r0, r1, r3, asr #32 2145*9880d681SAndroid Build Coastguard Worker 2146*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc.w r4, r5, r6 @ encoding: [0x65,0xeb,0x06,0x04] 2147*9880d681SAndroid Build Coastguard Worker@ CHECK: sbcs.w r4, r5, r6 @ encoding: [0x75,0xeb,0x06,0x04] 2148*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc.w r9, r1, r3 @ encoding: [0x61,0xeb,0x03,0x09] 2149*9880d681SAndroid Build Coastguard Worker@ CHECK: sbcs.w r9, r1, r3 @ encoding: [0x71,0xeb,0x03,0x09] 2150*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc.w r0, r1, r3, ror #4 @ encoding: [0x61,0xeb,0x33,0x10] 2151*9880d681SAndroid Build Coastguard Worker@ CHECK: sbcs.w r0, r1, r3, lsl #7 @ encoding: [0x71,0xeb,0xc3,0x10] 2152*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc.w r0, r1, r3, lsr #31 @ encoding: [0x61,0xeb,0xd3,0x70] 2153*9880d681SAndroid Build Coastguard Worker@ CHECK: sbcs.w r0, r1, r3, asr #32 @ encoding: [0x71,0xeb,0x23,0x00] 2154*9880d681SAndroid Build Coastguard Worker 2155*9880d681SAndroid Build Coastguard Worker 2156*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2157*9880d681SAndroid Build Coastguard Worker@ SBFX 2158*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2159*9880d681SAndroid Build Coastguard Worker sbfx r4, r5, #16, #1 2160*9880d681SAndroid Build Coastguard Worker it gt 2161*9880d681SAndroid Build Coastguard Worker sbfxgt r4, r5, #16, #16 2162*9880d681SAndroid Build Coastguard Worker 2163*9880d681SAndroid Build Coastguard Worker@ CHECK: sbfx r4, r5, #16, #1 @ encoding: [0x45,0xf3,0x00,0x44] 2164*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 2165*9880d681SAndroid Build Coastguard Worker@ CHECK: sbfxgt r4, r5, #16, #16 @ encoding: [0x45,0xf3,0x0f,0x44] 2166*9880d681SAndroid Build Coastguard Worker 2167*9880d681SAndroid Build Coastguard Worker 2168*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2169*9880d681SAndroid Build Coastguard Worker@ SEL 2170*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2171*9880d681SAndroid Build Coastguard Worker sel r5, r9, r2 2172*9880d681SAndroid Build Coastguard Worker it le 2173*9880d681SAndroid Build Coastguard Worker selle r5, r9, r2 2174*9880d681SAndroid Build Coastguard Worker 2175*9880d681SAndroid Build Coastguard Worker@ CHECK: sel r5, r9, r2 @ encoding: [0xa9,0xfa,0x82,0xf5] 2176*9880d681SAndroid Build Coastguard Worker@ CHECK: it le @ encoding: [0xd8,0xbf] 2177*9880d681SAndroid Build Coastguard Worker@ CHECK: selle r5, r9, r2 @ encoding: [0xa9,0xfa,0x82,0xf5] 2178*9880d681SAndroid Build Coastguard Worker 2179*9880d681SAndroid Build Coastguard Worker 2180*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2181*9880d681SAndroid Build Coastguard Worker@ SEV 2182*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2183*9880d681SAndroid Build Coastguard Worker sev.w 2184*9880d681SAndroid Build Coastguard Worker it eq 2185*9880d681SAndroid Build Coastguard Worker seveq.w 2186*9880d681SAndroid Build Coastguard Worker 2187*9880d681SAndroid Build Coastguard Worker@ CHECK: sev.w @ encoding: [0xaf,0xf3,0x04,0x80] 2188*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 2189*9880d681SAndroid Build Coastguard Worker@ CHECK: seveq.w @ encoding: [0xaf,0xf3,0x04,0x80] 2190*9880d681SAndroid Build Coastguard Worker 2191*9880d681SAndroid Build Coastguard Worker 2192*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2193*9880d681SAndroid Build Coastguard Worker@ SADD16/SADD8 2194*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2195*9880d681SAndroid Build Coastguard Worker sadd16 r1, r2, r3 2196*9880d681SAndroid Build Coastguard Worker sadd8 r1, r2, r3 2197*9880d681SAndroid Build Coastguard Worker ite gt 2198*9880d681SAndroid Build Coastguard Worker sadd16gt r1, r2, r3 2199*9880d681SAndroid Build Coastguard Worker sadd8le r1, r2, r3 2200*9880d681SAndroid Build Coastguard Worker 2201*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16 r1, r2, r3 @ encoding: [0x92,0xfa,0x03,0xf1] 2202*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8 r1, r2, r3 @ encoding: [0x82,0xfa,0x03,0xf1] 2203*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 2204*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16gt r1, r2, r3 @ encoding: [0x92,0xfa,0x03,0xf1] 2205*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8le r1, r2, r3 @ encoding: [0x82,0xfa,0x03,0xf1] 2206*9880d681SAndroid Build Coastguard Worker 2207*9880d681SAndroid Build Coastguard Worker 2208*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2209*9880d681SAndroid Build Coastguard Worker@ SHASX 2210*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2211*9880d681SAndroid Build Coastguard Worker shasx r4, r8, r2 2212*9880d681SAndroid Build Coastguard Worker it gt 2213*9880d681SAndroid Build Coastguard Worker shasxgt r4, r8, r2 2214*9880d681SAndroid Build Coastguard Worker shaddsubx r4, r8, r2 2215*9880d681SAndroid Build Coastguard Worker it gt 2216*9880d681SAndroid Build Coastguard Worker shaddsubxgt r4, r8, r2 2217*9880d681SAndroid Build Coastguard Worker 2218*9880d681SAndroid Build Coastguard Worker@ CHECK: shasx r4, r8, r2 @ encoding: [0xa8,0xfa,0x22,0xf4] 2219*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 2220*9880d681SAndroid Build Coastguard Worker@ CHECK: shasxgt r4, r8, r2 @ encoding: [0xa8,0xfa,0x22,0xf4] 2221*9880d681SAndroid Build Coastguard Worker@ CHECK: shasx r4, r8, r2 @ encoding: [0xa8,0xfa,0x22,0xf4] 2222*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 2223*9880d681SAndroid Build Coastguard Worker@ CHECK: shasxgt r4, r8, r2 @ encoding: [0xa8,0xfa,0x22,0xf4] 2224*9880d681SAndroid Build Coastguard Worker 2225*9880d681SAndroid Build Coastguard Worker 2226*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2227*9880d681SAndroid Build Coastguard Worker@ SHASX 2228*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2229*9880d681SAndroid Build Coastguard Worker shsax r4, r8, r2 2230*9880d681SAndroid Build Coastguard Worker it gt 2231*9880d681SAndroid Build Coastguard Worker shsaxgt r4, r8, r2 2232*9880d681SAndroid Build Coastguard Worker shsubaddx r4, r8, r2 2233*9880d681SAndroid Build Coastguard Worker it gt 2234*9880d681SAndroid Build Coastguard Worker shsubaddxgt r4, r8, r2 2235*9880d681SAndroid Build Coastguard Worker 2236*9880d681SAndroid Build Coastguard Worker@ CHECK: shsax r4, r8, r2 @ encoding: [0xe8,0xfa,0x22,0xf4] 2237*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 2238*9880d681SAndroid Build Coastguard Worker@ CHECK: shsaxgt r4, r8, r2 @ encoding: [0xe8,0xfa,0x22,0xf4] 2239*9880d681SAndroid Build Coastguard Worker@ CHECK: shsax r4, r8, r2 @ encoding: [0xe8,0xfa,0x22,0xf4] 2240*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 2241*9880d681SAndroid Build Coastguard Worker@ CHECK: shsaxgt r4, r8, r2 @ encoding: [0xe8,0xfa,0x22,0xf4] 2242*9880d681SAndroid Build Coastguard Worker 2243*9880d681SAndroid Build Coastguard Worker 2244*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2245*9880d681SAndroid Build Coastguard Worker@ SHSUB16/SHSUB8 2246*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2247*9880d681SAndroid Build Coastguard Worker shsub16 r4, r8, r2 2248*9880d681SAndroid Build Coastguard Worker shsub8 r4, r8, r2 2249*9880d681SAndroid Build Coastguard Worker itt gt 2250*9880d681SAndroid Build Coastguard Worker shsub16gt r4, r8, r2 2251*9880d681SAndroid Build Coastguard Worker shsub8gt r4, r8, r2 2252*9880d681SAndroid Build Coastguard Worker 2253*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub16 r4, r8, r2 @ encoding: [0xd8,0xfa,0x22,0xf4] 2254*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub8 r4, r8, r2 @ encoding: [0xc8,0xfa,0x22,0xf4] 2255*9880d681SAndroid Build Coastguard Worker@ CHECK: itt gt @ encoding: [0xc4,0xbf] 2256*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub16gt r4, r8, r2 @ encoding: [0xd8,0xfa,0x22,0xf4] 2257*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub8gt r4, r8, r2 @ encoding: [0xc8,0xfa,0x22,0xf4] 2258*9880d681SAndroid Build Coastguard Worker 2259*9880d681SAndroid Build Coastguard Worker 2260*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2261*9880d681SAndroid Build Coastguard Worker@ SMLABB/SMLABT/SMLATB/SMLATT 2262*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2263*9880d681SAndroid Build Coastguard Worker smlabb r3, r1, r9, r0 2264*9880d681SAndroid Build Coastguard Worker smlabt r5, r6, r4, r1 2265*9880d681SAndroid Build Coastguard Worker smlatb r4, r2, r3, r2 2266*9880d681SAndroid Build Coastguard Worker smlatt r8, r3, r8, r4 2267*9880d681SAndroid Build Coastguard Worker itete gt 2268*9880d681SAndroid Build Coastguard Worker smlabbgt r3, r1, r9, r0 2269*9880d681SAndroid Build Coastguard Worker smlabtle r5, r6, r4, r1 2270*9880d681SAndroid Build Coastguard Worker smlatbgt r4, r2, r3, r2 2271*9880d681SAndroid Build Coastguard Worker smlattle r8, r3, r8, r4 2272*9880d681SAndroid Build Coastguard Worker 2273*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabb r3, r1, r9, r0 @ encoding: [0x11,0xfb,0x09,0x03] 2274*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabt r5, r6, r4, r1 @ encoding: [0x16,0xfb,0x14,0x15] 2275*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatb r4, r2, r3, r2 @ encoding: [0x12,0xfb,0x23,0x24] 2276*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatt r8, r3, r8, r4 @ encoding: [0x13,0xfb,0x38,0x48] 2277*9880d681SAndroid Build Coastguard Worker@ CHECK: itete gt @ encoding: [0xcb,0xbf] 2278*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabbgt r3, r1, r9, r0 @ encoding: [0x11,0xfb,0x09,0x03] 2279*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabtle r5, r6, r4, r1 @ encoding: [0x16,0xfb,0x14,0x15] 2280*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatbgt r4, r2, r3, r2 @ encoding: [0x12,0xfb,0x23,0x24] 2281*9880d681SAndroid Build Coastguard Worker@ CHECK: smlattle r8, r3, r8, r4 @ encoding: [0x13,0xfb,0x38,0x48] 2282*9880d681SAndroid Build Coastguard Worker 2283*9880d681SAndroid Build Coastguard Worker 2284*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2285*9880d681SAndroid Build Coastguard Worker@ SMLAD/SMLADX 2286*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2287*9880d681SAndroid Build Coastguard Worker smlad r2, r3, r5, r8 2288*9880d681SAndroid Build Coastguard Worker smladx r2, r3, r5, r8 2289*9880d681SAndroid Build Coastguard Worker itt hi 2290*9880d681SAndroid Build Coastguard Worker smladhi r2, r3, r5, r8 2291*9880d681SAndroid Build Coastguard Worker smladxhi r2, r3, r5, r8 2292*9880d681SAndroid Build Coastguard Worker 2293*9880d681SAndroid Build Coastguard Worker@ CHECK: smlad r2, r3, r5, r8 @ encoding: [0x23,0xfb,0x05,0x82] 2294*9880d681SAndroid Build Coastguard Worker@ CHECK: smladx r2, r3, r5, r8 @ encoding: [0x23,0xfb,0x15,0x82] 2295*9880d681SAndroid Build Coastguard Worker@ CHECK: itt hi @ encoding: [0x84,0xbf] 2296*9880d681SAndroid Build Coastguard Worker@ CHECK: smladhi r2, r3, r5, r8 @ encoding: [0x23,0xfb,0x05,0x82] 2297*9880d681SAndroid Build Coastguard Worker@ CHECK: smladxhi r2, r3, r5, r8 @ encoding: [0x23,0xfb,0x15,0x82] 2298*9880d681SAndroid Build Coastguard Worker 2299*9880d681SAndroid Build Coastguard Worker 2300*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2301*9880d681SAndroid Build Coastguard Worker@ SMLAL 2302*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2303*9880d681SAndroid Build Coastguard Worker smlal r2, r3, r5, r8 2304*9880d681SAndroid Build Coastguard Worker it eq 2305*9880d681SAndroid Build Coastguard Worker smlaleq r2, r3, r5, r8 2306*9880d681SAndroid Build Coastguard Worker 2307*9880d681SAndroid Build Coastguard Worker@ CHECK: smlal r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0x08,0x23] 2308*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 2309*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaleq r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0x08,0x23] 2310*9880d681SAndroid Build Coastguard Worker 2311*9880d681SAndroid Build Coastguard Worker 2312*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2313*9880d681SAndroid Build Coastguard Worker@ SMLALBB/SMLALBT/SMLALTB/SMLALTT 2314*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2315*9880d681SAndroid Build Coastguard Worker smlalbb r3, r1, r9, r0 2316*9880d681SAndroid Build Coastguard Worker smlalbt r5, r6, r4, r1 2317*9880d681SAndroid Build Coastguard Worker smlaltb r4, r2, r3, r2 2318*9880d681SAndroid Build Coastguard Worker smlaltt r8, r3, r8, r4 2319*9880d681SAndroid Build Coastguard Worker iteet ge 2320*9880d681SAndroid Build Coastguard Worker smlalbbge r3, r1, r9, r0 2321*9880d681SAndroid Build Coastguard Worker smlalbtlt r5, r6, r4, r1 2322*9880d681SAndroid Build Coastguard Worker smlaltblt r4, r2, r3, r2 2323*9880d681SAndroid Build Coastguard Worker smlalttge r8, r3, r8, r4 2324*9880d681SAndroid Build Coastguard Worker 2325*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbb r3, r1, r9, r0 @ encoding: [0xc9,0xfb,0x80,0x31] 2326*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbt r5, r6, r4, r1 @ encoding: [0xc4,0xfb,0x91,0x56] 2327*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltb r4, r2, r3, r2 @ encoding: [0xc3,0xfb,0xa2,0x42] 2328*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltt r8, r3, r8, r4 @ encoding: [0xc8,0xfb,0xb4,0x83] 2329*9880d681SAndroid Build Coastguard Worker@ CHECK: iteet ge @ encoding: [0xad,0xbf] 2330*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbbge r3, r1, r9, r0 @ encoding: [0xc9,0xfb,0x80,0x31] 2331*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbtlt r5, r6, r4, r1 @ encoding: [0xc4,0xfb,0x91,0x56] 2332*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltblt r4, r2, r3, r2 @ encoding: [0xc3,0xfb,0xa2,0x42] 2333*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalttge r8, r3, r8, r4 @ encoding: [0xc8,0xfb,0xb4,0x83] 2334*9880d681SAndroid Build Coastguard Worker 2335*9880d681SAndroid Build Coastguard Worker 2336*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2337*9880d681SAndroid Build Coastguard Worker@ SMLALD/SMLALDX 2338*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2339*9880d681SAndroid Build Coastguard Worker smlald r2, r3, r5, r8 2340*9880d681SAndroid Build Coastguard Worker smlaldx r2, r3, r5, r8 2341*9880d681SAndroid Build Coastguard Worker ite eq 2342*9880d681SAndroid Build Coastguard Worker smlaldeq r2, r3, r5, r8 2343*9880d681SAndroid Build Coastguard Worker smlaldxne r2, r3, r5, r8 2344*9880d681SAndroid Build Coastguard Worker 2345*9880d681SAndroid Build Coastguard Worker@ CHECK: smlald r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0xc8,0x23] 2346*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldx r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0xd8,0x23] 2347*9880d681SAndroid Build Coastguard Worker@ CHECK: ite eq @ encoding: [0x0c,0xbf] 2348*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldeq r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0xc8,0x23] 2349*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldxne r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0xd8,0x23] 2350*9880d681SAndroid Build Coastguard Worker 2351*9880d681SAndroid Build Coastguard Worker 2352*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2353*9880d681SAndroid Build Coastguard Worker@ SMLAWB/SMLAWT 2354*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2355*9880d681SAndroid Build Coastguard Worker smlawb r2, r3, r10, r8 2356*9880d681SAndroid Build Coastguard Worker smlawt r8, r3, r5, r9 2357*9880d681SAndroid Build Coastguard Worker ite eq 2358*9880d681SAndroid Build Coastguard Worker smlawbeq r2, r7, r5, r8 2359*9880d681SAndroid Build Coastguard Worker smlawtne r1, r3, r0, r8 2360*9880d681SAndroid Build Coastguard Worker 2361*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawb r2, r3, r10, r8 @ encoding: [0x33,0xfb,0x0a,0x82] 2362*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawt r8, r3, r5, r9 @ encoding: [0x33,0xfb,0x15,0x98] 2363*9880d681SAndroid Build Coastguard Worker@ CHECK: ite eq @ encoding: [0x0c,0xbf] 2364*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawbeq r2, r7, r5, r8 @ encoding: [0x37,0xfb,0x05,0x82] 2365*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawtne r1, r3, r0, r8 @ encoding: [0x33,0xfb,0x10,0x81] 2366*9880d681SAndroid Build Coastguard Worker 2367*9880d681SAndroid Build Coastguard Worker 2368*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2369*9880d681SAndroid Build Coastguard Worker@ SMLSD/SMLSDX 2370*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2371*9880d681SAndroid Build Coastguard Worker smlsd r2, r3, r5, r8 2372*9880d681SAndroid Build Coastguard Worker smlsdx r2, r3, r5, r8 2373*9880d681SAndroid Build Coastguard Worker ite le 2374*9880d681SAndroid Build Coastguard Worker smlsdle r2, r3, r5, r8 2375*9880d681SAndroid Build Coastguard Worker smlsdxgt r2, r3, r5, r8 2376*9880d681SAndroid Build Coastguard Worker 2377*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsd r2, r3, r5, r8 @ encoding: [0x43,0xfb,0x05,0x82] 2378*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdx r2, r3, r5, r8 @ encoding: [0x43,0xfb,0x15,0x82] 2379*9880d681SAndroid Build Coastguard Worker@ CHECK: ite le @ encoding: [0xd4,0xbf] 2380*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdle r2, r3, r5, r8 @ encoding: [0x43,0xfb,0x05,0x82] 2381*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdxgt r2, r3, r5, r8 @ encoding: [0x43,0xfb,0x15,0x82] 2382*9880d681SAndroid Build Coastguard Worker 2383*9880d681SAndroid Build Coastguard Worker 2384*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2385*9880d681SAndroid Build Coastguard Worker@ SMLSLD/SMLSLDX 2386*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2387*9880d681SAndroid Build Coastguard Worker smlsld r2, r9, r5, r1 2388*9880d681SAndroid Build Coastguard Worker smlsldx r4, r11, r2, r8 2389*9880d681SAndroid Build Coastguard Worker ite ge 2390*9880d681SAndroid Build Coastguard Worker smlsldge r8, r2, r5, r6 2391*9880d681SAndroid Build Coastguard Worker smlsldxlt r1, r0, r3, r8 2392*9880d681SAndroid Build Coastguard Worker 2393*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsld r2, r9, r5, r1 @ encoding: [0xd5,0xfb,0xc1,0x29] 2394*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldx r4, r11, r2, r8 @ encoding: [0xd2,0xfb,0xd8,0x4b] 2395*9880d681SAndroid Build Coastguard Worker@ CHECK: ite ge @ encoding: [0xac,0xbf] 2396*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldge r8, r2, r5, r6 @ encoding: [0xd5,0xfb,0xc6,0x82] 2397*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldxlt r1, r0, r3, r8 @ encoding: [0xd3,0xfb,0xd8,0x10] 2398*9880d681SAndroid Build Coastguard Worker 2399*9880d681SAndroid Build Coastguard Worker 2400*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2401*9880d681SAndroid Build Coastguard Worker@ SMMLA/SMMLAR 2402*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2403*9880d681SAndroid Build Coastguard Worker smmla r1, r2, r3, r4 2404*9880d681SAndroid Build Coastguard Worker smmlar r4, r3, r2, r1 2405*9880d681SAndroid Build Coastguard Worker ite lo 2406*9880d681SAndroid Build Coastguard Worker smmlalo r1, r2, r3, r4 2407*9880d681SAndroid Build Coastguard Worker smmlarcs r4, r3, r2, r1 2408*9880d681SAndroid Build Coastguard Worker 2409*9880d681SAndroid Build Coastguard Worker@ CHECK: smmla r1, r2, r3, r4 @ encoding: [0x52,0xfb,0x03,0x41] 2410*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlar r4, r3, r2, r1 @ encoding: [0x53,0xfb,0x12,0x14] 2411*9880d681SAndroid Build Coastguard Worker@ CHECK: ite lo @ encoding: [0x34,0xbf] 2412*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlalo r1, r2, r3, r4 @ encoding: [0x52,0xfb,0x03,0x41] 2413*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlarhs r4, r3, r2, r1 @ encoding: [0x53,0xfb,0x12,0x14] 2414*9880d681SAndroid Build Coastguard Worker 2415*9880d681SAndroid Build Coastguard Worker 2416*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2417*9880d681SAndroid Build Coastguard Worker@ SMMLS/SMMLSR 2418*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2419*9880d681SAndroid Build Coastguard Worker smmls r1, r2, r3, r4 2420*9880d681SAndroid Build Coastguard Worker smmlsr r4, r3, r2, r1 2421*9880d681SAndroid Build Coastguard Worker ite lo 2422*9880d681SAndroid Build Coastguard Worker smmlslo r1, r2, r3, r4 2423*9880d681SAndroid Build Coastguard Worker smmlsrcs r4, r3, r2, r1 2424*9880d681SAndroid Build Coastguard Worker 2425*9880d681SAndroid Build Coastguard Worker@ CHECK: smmls r1, r2, r3, r4 @ encoding: [0x62,0xfb,0x03,0x41] 2426*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlsr r4, r3, r2, r1 @ encoding: [0x63,0xfb,0x12,0x14] 2427*9880d681SAndroid Build Coastguard Worker@ CHECK: ite lo @ encoding: [0x34,0xbf] 2428*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlslo r1, r2, r3, r4 @ encoding: [0x62,0xfb,0x03,0x41] 2429*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlsrhs r4, r3, r2, r1 @ encoding: [0x63,0xfb,0x12,0x14] 2430*9880d681SAndroid Build Coastguard Worker 2431*9880d681SAndroid Build Coastguard Worker 2432*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2433*9880d681SAndroid Build Coastguard Worker@ SMMUL/SMMULR 2434*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2435*9880d681SAndroid Build Coastguard Worker smmul r2, r3, r4 2436*9880d681SAndroid Build Coastguard Worker smmulr r3, r2, r1 2437*9880d681SAndroid Build Coastguard Worker ite cc 2438*9880d681SAndroid Build Coastguard Worker smmulcc r2, r3, r4 2439*9880d681SAndroid Build Coastguard Worker smmulrhs r3, r2, r1 2440*9880d681SAndroid Build Coastguard Worker 2441*9880d681SAndroid Build Coastguard Worker@ CHECK: smmul r2, r3, r4 @ encoding: [0x53,0xfb,0x04,0xf2] 2442*9880d681SAndroid Build Coastguard Worker@ CHECK: smmulr r3, r2, r1 @ encoding: [0x52,0xfb,0x11,0xf3] 2443*9880d681SAndroid Build Coastguard Worker@ CHECK: ite lo @ encoding: [0x34,0xbf] 2444*9880d681SAndroid Build Coastguard Worker@ CHECK: smmullo r2, r3, r4 @ encoding: [0x53,0xfb,0x04,0xf2] 2445*9880d681SAndroid Build Coastguard Worker@ CHECK: smmulrhs r3, r2, r1 @ encoding: [0x52,0xfb,0x11,0xf3] 2446*9880d681SAndroid Build Coastguard Worker 2447*9880d681SAndroid Build Coastguard Worker 2448*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2449*9880d681SAndroid Build Coastguard Worker@ SMUAD/SMUADX 2450*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2451*9880d681SAndroid Build Coastguard Worker smuad r2, r3, r4 2452*9880d681SAndroid Build Coastguard Worker smuadx r3, r2, r1 2453*9880d681SAndroid Build Coastguard Worker ite lt 2454*9880d681SAndroid Build Coastguard Worker smuadlt r2, r3, r4 2455*9880d681SAndroid Build Coastguard Worker smuadxge r3, r2, r1 2456*9880d681SAndroid Build Coastguard Worker 2457*9880d681SAndroid Build Coastguard Worker@ CHECK: smuad r2, r3, r4 @ encoding: [0x23,0xfb,0x04,0xf2] 2458*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadx r3, r2, r1 @ encoding: [0x22,0xfb,0x11,0xf3] 2459*9880d681SAndroid Build Coastguard Worker@ CHECK: ite lt @ encoding: [0xb4,0xbf] 2460*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadlt r2, r3, r4 @ encoding: [0x23,0xfb,0x04,0xf2] 2461*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadxge r3, r2, r1 @ encoding: [0x22,0xfb,0x11,0xf3] 2462*9880d681SAndroid Build Coastguard Worker 2463*9880d681SAndroid Build Coastguard Worker 2464*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2465*9880d681SAndroid Build Coastguard Worker@ SMULBB/SMULBT/SMULTB/SMULTT 2466*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2467*9880d681SAndroid Build Coastguard Worker smulbb r3, r9, r0 2468*9880d681SAndroid Build Coastguard Worker smulbt r5, r4, r1 2469*9880d681SAndroid Build Coastguard Worker smultb r4, r2, r2 2470*9880d681SAndroid Build Coastguard Worker smultt r8, r3, r4 2471*9880d681SAndroid Build Coastguard Worker itete ge 2472*9880d681SAndroid Build Coastguard Worker smulbbge r1, r9, r0 2473*9880d681SAndroid Build Coastguard Worker smulbtlt r5, r6, r4 2474*9880d681SAndroid Build Coastguard Worker smultbge r2, r3, r2 2475*9880d681SAndroid Build Coastguard Worker smulttlt r8, r3, r4 2476*9880d681SAndroid Build Coastguard Worker 2477*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbb r3, r9, r0 @ encoding: [0x19,0xfb,0x00,0xf3] 2478*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbt r5, r4, r1 @ encoding: [0x14,0xfb,0x11,0xf5] 2479*9880d681SAndroid Build Coastguard Worker@ CHECK: smultb r4, r2, r2 @ encoding: [0x12,0xfb,0x22,0xf4] 2480*9880d681SAndroid Build Coastguard Worker@ CHECK: smultt r8, r3, r4 @ encoding: [0x13,0xfb,0x34,0xf8] 2481*9880d681SAndroid Build Coastguard Worker@ CHECK: itete ge @ encoding: [0xab,0xbf] 2482*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbbge r1, r9, r0 @ encoding: [0x19,0xfb,0x00,0xf1] 2483*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbtlt r5, r6, r4 @ encoding: [0x16,0xfb,0x14,0xf5] 2484*9880d681SAndroid Build Coastguard Worker@ CHECK: smultbge r2, r3, r2 @ encoding: [0x13,0xfb,0x22,0xf2] 2485*9880d681SAndroid Build Coastguard Worker@ CHECK: smulttlt r8, r3, r4 @ encoding: [0x13,0xfb,0x34,0xf8] 2486*9880d681SAndroid Build Coastguard Worker 2487*9880d681SAndroid Build Coastguard Worker 2488*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2489*9880d681SAndroid Build Coastguard Worker@ SMULL 2490*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2491*9880d681SAndroid Build Coastguard Worker smull r3, r9, r0, r1 2492*9880d681SAndroid Build Coastguard Worker it eq 2493*9880d681SAndroid Build Coastguard Worker smulleq r8, r3, r4, r5 2494*9880d681SAndroid Build Coastguard Worker 2495*9880d681SAndroid Build Coastguard Worker@ CHECK: smull r3, r9, r0, r1 @ encoding: [0x80,0xfb,0x01,0x39] 2496*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 2497*9880d681SAndroid Build Coastguard Worker@ CHECK: smulleq r8, r3, r4, r5 @ encoding: [0x84,0xfb,0x05,0x83] 2498*9880d681SAndroid Build Coastguard Worker 2499*9880d681SAndroid Build Coastguard Worker 2500*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2501*9880d681SAndroid Build Coastguard Worker@ SMULWB/SMULWT 2502*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2503*9880d681SAndroid Build Coastguard Worker smulwb r3, r9, r0 2504*9880d681SAndroid Build Coastguard Worker smulwt r3, r9, r2 2505*9880d681SAndroid Build Coastguard Worker ite gt 2506*9880d681SAndroid Build Coastguard Worker smulwbgt r3, r9, r0 2507*9880d681SAndroid Build Coastguard Worker smulwtle r3, r9, r2 2508*9880d681SAndroid Build Coastguard Worker 2509*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwb r3, r9, r0 @ encoding: [0x39,0xfb,0x00,0xf3] 2510*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwt r3, r9, r2 @ encoding: [0x39,0xfb,0x12,0xf3] 2511*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 2512*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwbgt r3, r9, r0 @ encoding: [0x39,0xfb,0x00,0xf3] 2513*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwtle r3, r9, r2 @ encoding: [0x39,0xfb,0x12,0xf3] 2514*9880d681SAndroid Build Coastguard Worker 2515*9880d681SAndroid Build Coastguard Worker 2516*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2517*9880d681SAndroid Build Coastguard Worker@ SMUSD/SMUSDX 2518*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2519*9880d681SAndroid Build Coastguard Worker smusd r3, r0, r1 2520*9880d681SAndroid Build Coastguard Worker smusdx r3, r9, r2 2521*9880d681SAndroid Build Coastguard Worker ite eq 2522*9880d681SAndroid Build Coastguard Worker smusdeq r8, r3, r2 2523*9880d681SAndroid Build Coastguard Worker smusdxne r7, r4, r3 2524*9880d681SAndroid Build Coastguard Worker 2525*9880d681SAndroid Build Coastguard Worker@ CHECK: smusd r3, r0, r1 @ encoding: [0x40,0xfb,0x01,0xf3] 2526*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdx r3, r9, r2 @ encoding: [0x49,0xfb,0x12,0xf3] 2527*9880d681SAndroid Build Coastguard Worker@ CHECK: ite eq @ encoding: [0x0c,0xbf] 2528*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdeq r8, r3, r2 @ encoding: [0x43,0xfb,0x02,0xf8] 2529*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdxne r7, r4, r3 @ encoding: [0x44,0xfb,0x13,0xf7] 2530*9880d681SAndroid Build Coastguard Worker 2531*9880d681SAndroid Build Coastguard Worker 2532*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2533*9880d681SAndroid Build Coastguard Worker@ SRS 2534*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2535*9880d681SAndroid Build Coastguard Worker srsdb sp, #1 2536*9880d681SAndroid Build Coastguard Worker srsia sp, #0 2537*9880d681SAndroid Build Coastguard Worker 2538*9880d681SAndroid Build Coastguard Worker srsdb sp!, #19 2539*9880d681SAndroid Build Coastguard Worker srsia sp!, #2 2540*9880d681SAndroid Build Coastguard Worker 2541*9880d681SAndroid Build Coastguard Worker srsea sp, #10 2542*9880d681SAndroid Build Coastguard Worker srsfd sp, #9 2543*9880d681SAndroid Build Coastguard Worker 2544*9880d681SAndroid Build Coastguard Worker srsea sp!, #5 2545*9880d681SAndroid Build Coastguard Worker srsfd sp!, #5 2546*9880d681SAndroid Build Coastguard Worker 2547*9880d681SAndroid Build Coastguard Worker srs sp, #5 2548*9880d681SAndroid Build Coastguard Worker srs sp!, #5 2549*9880d681SAndroid Build Coastguard Worker 2550*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #1 @ encoding: [0x0d,0xe8,0x01,0xc0] 2551*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #0 @ encoding: [0x8d,0xe9,0x00,0xc0] 2552*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #19 @ encoding: [0x2d,0xe8,0x13,0xc0] 2553*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #2 @ encoding: [0xad,0xe9,0x02,0xc0] 2554*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #10 @ encoding: [0x8d,0xe9,0x0a,0xc0] 2555*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #9 @ encoding: [0x0d,0xe8,0x09,0xc0] 2556*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0xad,0xe9,0x05,0xc0] 2557*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #5 @ encoding: [0x2d,0xe8,0x05,0xc0] 2558*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #5 @ encoding: [0x8d,0xe9,0x05,0xc0] 2559*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0xad,0xe9,0x05,0xc0] 2560*9880d681SAndroid Build Coastguard Worker 2561*9880d681SAndroid Build Coastguard Worker srsdb #1 2562*9880d681SAndroid Build Coastguard Worker srsia #0 2563*9880d681SAndroid Build Coastguard Worker 2564*9880d681SAndroid Build Coastguard Worker srsdb #19! 2565*9880d681SAndroid Build Coastguard Worker srsia #2! 2566*9880d681SAndroid Build Coastguard Worker 2567*9880d681SAndroid Build Coastguard Worker srsea #10 2568*9880d681SAndroid Build Coastguard Worker srsfd #9 2569*9880d681SAndroid Build Coastguard Worker 2570*9880d681SAndroid Build Coastguard Worker srsea #5! 2571*9880d681SAndroid Build Coastguard Worker srsfd #5! 2572*9880d681SAndroid Build Coastguard Worker 2573*9880d681SAndroid Build Coastguard Worker srs #5 2574*9880d681SAndroid Build Coastguard Worker srs #5! 2575*9880d681SAndroid Build Coastguard Worker 2576*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #1 @ encoding: [0x0d,0xe8,0x01,0xc0] 2577*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #0 @ encoding: [0x8d,0xe9,0x00,0xc0] 2578*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #19 @ encoding: [0x2d,0xe8,0x13,0xc0] 2579*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #2 @ encoding: [0xad,0xe9,0x02,0xc0] 2580*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #10 @ encoding: [0x8d,0xe9,0x0a,0xc0] 2581*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #9 @ encoding: [0x0d,0xe8,0x09,0xc0] 2582*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0xad,0xe9,0x05,0xc0] 2583*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #5 @ encoding: [0x2d,0xe8,0x05,0xc0] 2584*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #5 @ encoding: [0x8d,0xe9,0x05,0xc0] 2585*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0xad,0xe9,0x05,0xc0] 2586*9880d681SAndroid Build Coastguard Worker 2587*9880d681SAndroid Build Coastguard Worker 2588*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2589*9880d681SAndroid Build Coastguard Worker@ SSAT 2590*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2591*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10 2592*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl #0 2593*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl #31 2594*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, asr #1 2595*9880d681SAndroid Build Coastguard Worker 2596*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10 @ encoding: [0x0a,0xf3,0x00,0x08] 2597*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10 @ encoding: [0x0a,0xf3,0x00,0x08] 2598*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10, lsl #31 @ encoding: [0x0a,0xf3,0xc0,0x78] 2599*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10, asr #1 @ encoding: [0x2a,0xf3,0x40,0x08] 2600*9880d681SAndroid Build Coastguard Worker 2601*9880d681SAndroid Build Coastguard Worker 2602*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2603*9880d681SAndroid Build Coastguard Worker@ SSAT16 2604*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2605*9880d681SAndroid Build Coastguard Worker ssat16 r2, #1, r7 2606*9880d681SAndroid Build Coastguard Worker ssat16 r3, #16, r5 2607*9880d681SAndroid Build Coastguard Worker 2608*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat16 r2, #1, r7 @ encoding: [0x27,0xf3,0x00,0x02] 2609*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat16 r3, #16, r5 @ encoding: [0x25,0xf3,0x0f,0x03] 2610*9880d681SAndroid Build Coastguard Worker 2611*9880d681SAndroid Build Coastguard Worker 2612*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2613*9880d681SAndroid Build Coastguard Worker@ SSAX 2614*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2615*9880d681SAndroid Build Coastguard Worker ssubaddx r2, r3, r4 2616*9880d681SAndroid Build Coastguard Worker it lt 2617*9880d681SAndroid Build Coastguard Worker ssubaddxlt r2, r3, r4 2618*9880d681SAndroid Build Coastguard Worker ssax r2, r3, r4 2619*9880d681SAndroid Build Coastguard Worker it lt 2620*9880d681SAndroid Build Coastguard Worker ssaxlt r2, r3, r4 2621*9880d681SAndroid Build Coastguard Worker 2622*9880d681SAndroid Build Coastguard Worker@ CHECK: ssax r2, r3, r4 @ encoding: [0xe3,0xfa,0x04,0xf2] 2623*9880d681SAndroid Build Coastguard Worker@ CHECK: it lt @ encoding: [0xb8,0xbf] 2624*9880d681SAndroid Build Coastguard Worker@ CHECK: ssaxlt r2, r3, r4 @ encoding: [0xe3,0xfa,0x04,0xf2] 2625*9880d681SAndroid Build Coastguard Worker@ CHECK: ssax r2, r3, r4 @ encoding: [0xe3,0xfa,0x04,0xf2] 2626*9880d681SAndroid Build Coastguard Worker@ CHECK: it lt @ encoding: [0xb8,0xbf] 2627*9880d681SAndroid Build Coastguard Worker@ CHECK: ssaxlt r2, r3, r4 @ encoding: [0xe3,0xfa,0x04,0xf2] 2628*9880d681SAndroid Build Coastguard Worker 2629*9880d681SAndroid Build Coastguard Worker 2630*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2631*9880d681SAndroid Build Coastguard Worker@ SSUB16/SSUB8 2632*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2633*9880d681SAndroid Build Coastguard Worker ssub16 r1, r0, r6 2634*9880d681SAndroid Build Coastguard Worker ssub8 r9, r2, r4 2635*9880d681SAndroid Build Coastguard Worker ite ne 2636*9880d681SAndroid Build Coastguard Worker ssub16ne r5, r3, r2 2637*9880d681SAndroid Build Coastguard Worker ssub8eq r5, r1, r2 2638*9880d681SAndroid Build Coastguard Worker 2639*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub16 r1, r0, r6 @ encoding: [0xd0,0xfa,0x06,0xf1] 2640*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub8 r9, r2, r4 @ encoding: [0xc2,0xfa,0x04,0xf9] 2641*9880d681SAndroid Build Coastguard Worker@ CHECK: ite ne @ encoding: [0x14,0xbf] 2642*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub16ne r5, r3, r2 @ encoding: [0xd3,0xfa,0x02,0xf5] 2643*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub8eq r5, r1, r2 @ encoding: [0xc1,0xfa,0x02,0xf5] 2644*9880d681SAndroid Build Coastguard Worker 2645*9880d681SAndroid Build Coastguard Worker 2646*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2647*9880d681SAndroid Build Coastguard Worker@ STC{L}/STC2{L} 2648*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2649*9880d681SAndroid Build Coastguard Worker stc2 p0, c8, [r1, #4] 2650*9880d681SAndroid Build Coastguard Worker stc2 p1, c7, [r2] 2651*9880d681SAndroid Build Coastguard Worker stc2 p2, c6, [r3, #-224] 2652*9880d681SAndroid Build Coastguard Worker stc2 p3, c5, [r4, #-120]! 2653*9880d681SAndroid Build Coastguard Worker stc2 p4, c4, [r5], #16 2654*9880d681SAndroid Build Coastguard Worker stc2 p5, c3, [r6], #-72 2655*9880d681SAndroid Build Coastguard Worker stc2l p6, c2, [r7, #4] 2656*9880d681SAndroid Build Coastguard Worker stc2l p7, c1, [r8] 2657*9880d681SAndroid Build Coastguard Worker stc2l p8, c0, [r9, #-224] 2658*9880d681SAndroid Build Coastguard Worker stc2l p9, c1, [r10, #-120]! 2659*9880d681SAndroid Build Coastguard Worker stc2l p0, c2, [r11], #16 2660*9880d681SAndroid Build Coastguard Worker stc2l p1, c3, [r12], #-72 2661*9880d681SAndroid Build Coastguard Worker 2662*9880d681SAndroid Build Coastguard Worker stc p12, c4, [r0, #4] 2663*9880d681SAndroid Build Coastguard Worker stc p13, c5, [r1] 2664*9880d681SAndroid Build Coastguard Worker stc p14, c6, [r2, #-224] 2665*9880d681SAndroid Build Coastguard Worker stc p15, c7, [r3, #-120]! 2666*9880d681SAndroid Build Coastguard Worker stc p5, c8, [r4], #16 2667*9880d681SAndroid Build Coastguard Worker stc p4, c9, [r5], #-72 2668*9880d681SAndroid Build Coastguard Worker stcl p3, c10, [r6, #4] 2669*9880d681SAndroid Build Coastguard Worker stcl p2, c11, [r7] 2670*9880d681SAndroid Build Coastguard Worker stcl p1, c12, [r8, #-224] 2671*9880d681SAndroid Build Coastguard Worker stcl p0, c13, [r9, #-120]! 2672*9880d681SAndroid Build Coastguard Worker stcl p6, c14, [r10], #16 2673*9880d681SAndroid Build Coastguard Worker stcl p7, c15, [r11], #-72 2674*9880d681SAndroid Build Coastguard Worker 2675*9880d681SAndroid Build Coastguard Worker stc2 p2, c8, [r1], { 25 } 2676*9880d681SAndroid Build Coastguard Worker 2677*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p0, c8, [r1, #4] @ encoding: [0x81,0xfd,0x01,0x80] 2678*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p1, c7, [r2] @ encoding: [0x82,0xfd,0x00,0x71] 2679*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p2, c6, [r3, #-224] @ encoding: [0x03,0xfd,0x38,0x62] 2680*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p3, c5, [r4, #-120]! @ encoding: [0x24,0xfd,0x1e,0x53] 2681*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p4, c4, [r5], #16 @ encoding: [0xa5,0xfc,0x04,0x44] 2682*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p5, c3, [r6], #-72 @ encoding: [0x26,0xfc,0x12,0x35] 2683*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p6, c2, [r7, #4] @ encoding: [0xc7,0xfd,0x01,0x26] 2684*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p7, c1, [r8] @ encoding: [0xc8,0xfd,0x00,0x17] 2685*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p8, c0, [r9, #-224] @ encoding: [0x49,0xfd,0x38,0x08] 2686*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p9, c1, [r10, #-120]! @ encoding: [0x6a,0xfd,0x1e,0x19] 2687*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p0, c2, [r11], #16 @ encoding: [0xeb,0xfc,0x04,0x20] 2688*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p1, c3, [r12], #-72 @ encoding: [0x6c,0xfc,0x12,0x31] 2689*9880d681SAndroid Build Coastguard Worker 2690*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p12, c4, [r0, #4] @ encoding: [0x80,0xed,0x01,0x4c] 2691*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p13, c5, [r1] @ encoding: [0x81,0xed,0x00,0x5d] 2692*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p14, c6, [r2, #-224] @ encoding: [0x02,0xed,0x38,0x6e] 2693*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p15, c7, [r3, #-120]! @ encoding: [0x23,0xed,0x1e,0x7f] 2694*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p5, c8, [r4], #16 @ encoding: [0xa4,0xec,0x04,0x85] 2695*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p4, c9, [r5], #-72 @ encoding: [0x25,0xec,0x12,0x94] 2696*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p3, c10, [r6, #4] @ encoding: [0xc6,0xed,0x01,0xa3] 2697*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p2, c11, [r7] @ encoding: [0xc7,0xed,0x00,0xb2] 2698*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p1, c12, [r8, #-224] @ encoding: [0x48,0xed,0x38,0xc1] 2699*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p0, c13, [r9, #-120]! @ encoding: [0x69,0xed,0x1e,0xd0] 2700*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p6, c14, [r10], #16 @ encoding: [0xea,0xec,0x04,0xe6] 2701*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p7, c15, [r11], #-72 @ encoding: [0x6b,0xec,0x12,0xf7] 2702*9880d681SAndroid Build Coastguard Worker 2703*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p2, c8, [r1], {25} @ encoding: [0x81,0xfc,0x19,0x82] 2704*9880d681SAndroid Build Coastguard Worker 2705*9880d681SAndroid Build Coastguard Worker 2706*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2707*9880d681SAndroid Build Coastguard Worker@ STMIA 2708*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2709*9880d681SAndroid Build Coastguard Worker stmia.w r4, {r4, r5, r8, r9} 2710*9880d681SAndroid Build Coastguard Worker stmia.w r4, {r5, r6} 2711*9880d681SAndroid Build Coastguard Worker stmia.w r5!, {r3, r8} 2712*9880d681SAndroid Build Coastguard Worker stm.w r4, {r4, r5, r8, r9} 2713*9880d681SAndroid Build Coastguard Worker stm.w r4, {r5, r6} 2714*9880d681SAndroid Build Coastguard Worker stm.w r5!, {r3, r8} 2715*9880d681SAndroid Build Coastguard Worker stm.w r5!, {r1, r2} 2716*9880d681SAndroid Build Coastguard Worker stm.w r2, {r1, r2} 2717*9880d681SAndroid Build Coastguard Worker 2718*9880d681SAndroid Build Coastguard Worker stmia r4, {r4, r5, r8, r9} 2719*9880d681SAndroid Build Coastguard Worker stmia r4, {r5, r6} 2720*9880d681SAndroid Build Coastguard Worker stmia r5!, {r3, r8} 2721*9880d681SAndroid Build Coastguard Worker stm r4, {r4, r5, r8, r9} 2722*9880d681SAndroid Build Coastguard Worker stm r4, {r5, r6} 2723*9880d681SAndroid Build Coastguard Worker stm r5!, {r3, r8} 2724*9880d681SAndroid Build Coastguard Worker stmea r5!, {r3, r8} 2725*9880d681SAndroid Build Coastguard Worker 2726*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r4, r5, r8, r9} @ encoding: [0x84,0xe8,0x30,0x03] 2727*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r5, r6} @ encoding: [0x84,0xe8,0x60,0x00] 2728*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r5!, {r3, r8} @ encoding: [0xa5,0xe8,0x08,0x01] 2729*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r4, r5, r8, r9} @ encoding: [0x84,0xe8,0x30,0x03] 2730*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r5, r6} @ encoding: [0x84,0xe8,0x60,0x00] 2731*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r5!, {r3, r8} @ encoding: [0xa5,0xe8,0x08,0x01] 2732*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r5!, {r1, r2} @ encoding: [0xa5,0xe8,0x06,0x00] 2733*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r2, {r1, r2} @ encoding: [0x82,0xe8,0x06,0x00] 2734*9880d681SAndroid Build Coastguard Worker 2735*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r4, r5, r8, r9} @ encoding: [0x84,0xe8,0x30,0x03] 2736*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r5, r6} @ encoding: [0x84,0xe8,0x60,0x00] 2737*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r5!, {r3, r8} @ encoding: [0xa5,0xe8,0x08,0x01] 2738*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r4, r5, r8, r9} @ encoding: [0x84,0xe8,0x30,0x03] 2739*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r4, {r5, r6} @ encoding: [0x84,0xe8,0x60,0x00] 2740*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r5!, {r3, r8} @ encoding: [0xa5,0xe8,0x08,0x01] 2741*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r5!, {r3, r8} @ encoding: [0xa5,0xe8,0x08,0x01] 2742*9880d681SAndroid Build Coastguard Worker 2743*9880d681SAndroid Build Coastguard Worker 2744*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2745*9880d681SAndroid Build Coastguard Worker@ STMDB 2746*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2747*9880d681SAndroid Build Coastguard Worker stmdb r4, {r4, r5, r8, r9} 2748*9880d681SAndroid Build Coastguard Worker stmdb r4, {r5, r6} 2749*9880d681SAndroid Build Coastguard Worker stmdb r5!, {r3, r8} 2750*9880d681SAndroid Build Coastguard Worker stmea r5!, {r3, r8} 2751*9880d681SAndroid Build Coastguard Worker stmdb.w r5, {r0, r1} 2752*9880d681SAndroid Build Coastguard Worker 2753*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb r4, {r4, r5, r8, r9} @ encoding: [0x04,0xe9,0x30,0x03] 2754*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb r4, {r5, r6} @ encoding: [0x04,0xe9,0x60,0x00] 2755*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb r5!, {r3, r8} @ encoding: [0x25,0xe9,0x08,0x01] 2756*9880d681SAndroid Build Coastguard Worker@ CHECK: stm.w r5!, {r3, r8} @ encoding: [0xa5,0xe8,0x08,0x01] 2757*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb r5, {r0, r1} @ encoding: [0x05,0xe9,0x03,0x00] 2758*9880d681SAndroid Build Coastguard Worker 2759*9880d681SAndroid Build Coastguard Worker 2760*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2761*9880d681SAndroid Build Coastguard Worker@ STR(immediate) 2762*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2763*9880d681SAndroid Build Coastguard Worker str r5, [r5, #-4] 2764*9880d681SAndroid Build Coastguard Worker str r5, [r6, #32] 2765*9880d681SAndroid Build Coastguard Worker str r5, [r6, #33] 2766*9880d681SAndroid Build Coastguard Worker str r5, [r6, #257] 2767*9880d681SAndroid Build Coastguard Worker str.w pc, [r7, #257] 2768*9880d681SAndroid Build Coastguard Worker str r2, [r4, #255]! 2769*9880d681SAndroid Build Coastguard Worker str r8, [sp, #4]! 2770*9880d681SAndroid Build Coastguard Worker str lr, [sp, #-4]! 2771*9880d681SAndroid Build Coastguard Worker str r2, [r4], #255 2772*9880d681SAndroid Build Coastguard Worker str r8, [sp], #4 2773*9880d681SAndroid Build Coastguard Worker str lr, [sp], #-4 2774*9880d681SAndroid Build Coastguard Worker 2775*9880d681SAndroid Build Coastguard Worker@ CHECK: str r5, [r5, #-4] @ encoding: [0x45,0xf8,0x04,0x5c] 2776*9880d681SAndroid Build Coastguard Worker@ CHECK: str r5, [r6, #32] @ encoding: [0x35,0x62] 2777*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r5, [r6, #33] @ encoding: [0xc6,0xf8,0x21,0x50] 2778*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r5, [r6, #257] @ encoding: [0xc6,0xf8,0x01,0x51] 2779*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w pc, [r7, #257] @ encoding: [0xc7,0xf8,0x01,0xf1] 2780*9880d681SAndroid Build Coastguard Worker@ CHECK: str r2, [r4, #255]! @ encoding: [0x44,0xf8,0xff,0x2f] 2781*9880d681SAndroid Build Coastguard Worker@ CHECK: str r8, [sp, #4]! @ encoding: [0x4d,0xf8,0x04,0x8f] 2782*9880d681SAndroid Build Coastguard Worker@ CHECK: str lr, [sp, #-4]! @ encoding: [0x4d,0xf8,0x04,0xed] 2783*9880d681SAndroid Build Coastguard Worker@ CHECK: str r2, [r4], #255 @ encoding: [0x44,0xf8,0xff,0x2b] 2784*9880d681SAndroid Build Coastguard Worker@ CHECK: str r8, [sp], #4 @ encoding: [0x4d,0xf8,0x04,0x8b] 2785*9880d681SAndroid Build Coastguard Worker@ CHECK: str lr, [sp], #-4 @ encoding: [0x4d,0xf8,0x04,0xe9] 2786*9880d681SAndroid Build Coastguard Worker 2787*9880d681SAndroid Build Coastguard Worker 2788*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2789*9880d681SAndroid Build Coastguard Worker@ STR(register) 2790*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2791*9880d681SAndroid Build Coastguard Worker str r1, [r8, r1] 2792*9880d681SAndroid Build Coastguard Worker str.w r4, [r5, r2] 2793*9880d681SAndroid Build Coastguard Worker str r6, [r0, r2, lsl #3] 2794*9880d681SAndroid Build Coastguard Worker str r8, [r8, r2, lsl #2] 2795*9880d681SAndroid Build Coastguard Worker str r7, [sp, r2, lsl #1] 2796*9880d681SAndroid Build Coastguard Worker str r7, [sp, r2, lsl #0] 2797*9880d681SAndroid Build Coastguard Worker 2798*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r1, [r8, r1] @ encoding: [0x48,0xf8,0x01,0x10] 2799*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r4, [r5, r2] @ encoding: [0x45,0xf8,0x02,0x40] 2800*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r6, [r0, r2, lsl #3] @ encoding: [0x40,0xf8,0x32,0x60] 2801*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r8, [r8, r2, lsl #2] @ encoding: [0x48,0xf8,0x22,0x80] 2802*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r7, [sp, r2, lsl #1] @ encoding: [0x4d,0xf8,0x12,0x70] 2803*9880d681SAndroid Build Coastguard Worker@ CHECK: str.w r7, [sp, r2] @ encoding: [0x4d,0xf8,0x02,0x70] 2804*9880d681SAndroid Build Coastguard Worker 2805*9880d681SAndroid Build Coastguard Worker 2806*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2807*9880d681SAndroid Build Coastguard Worker@ STRB(immediate) 2808*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2809*9880d681SAndroid Build Coastguard Worker strb r5, [r5, #-4] 2810*9880d681SAndroid Build Coastguard Worker strb r5, [r6, #32] 2811*9880d681SAndroid Build Coastguard Worker strb r5, [r6, #33] 2812*9880d681SAndroid Build Coastguard Worker strb r5, [r6, #257] 2813*9880d681SAndroid Build Coastguard Worker strb.w lr, [r7, #257] 2814*9880d681SAndroid Build Coastguard Worker strb r5, [r8, #255]! 2815*9880d681SAndroid Build Coastguard Worker strb r2, [r5, #4]! 2816*9880d681SAndroid Build Coastguard Worker strb r1, [r4, #-4]! 2817*9880d681SAndroid Build Coastguard Worker strb lr, [r3], #255 2818*9880d681SAndroid Build Coastguard Worker strb r9, [r2], #4 2819*9880d681SAndroid Build Coastguard Worker strb r3, [sp], #-4 2820*9880d681SAndroid Build Coastguard Worker strb r4, [r8, #-0]! 2821*9880d681SAndroid Build Coastguard Worker strb r1, [r0], #-0 2822*9880d681SAndroid Build Coastguard Worker 2823*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r5, [r5, #-4] @ encoding: [0x05,0xf8,0x04,0x5c] 2824*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r5, [r6, #32] @ encoding: [0x86,0xf8,0x20,0x50] 2825*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r5, [r6, #33] @ encoding: [0x86,0xf8,0x21,0x50] 2826*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r5, [r6, #257] @ encoding: [0x86,0xf8,0x01,0x51] 2827*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w lr, [r7, #257] @ encoding: [0x87,0xf8,0x01,0xe1] 2828*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r5, [r8, #255]! @ encoding: [0x08,0xf8,0xff,0x5f] 2829*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r2, [r5, #4]! @ encoding: [0x05,0xf8,0x04,0x2f] 2830*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r1, [r4, #-4]! @ encoding: [0x04,0xf8,0x04,0x1d] 2831*9880d681SAndroid Build Coastguard Worker@ CHECK: strb lr, [r3], #255 @ encoding: [0x03,0xf8,0xff,0xeb] 2832*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r9, [r2], #4 @ encoding: [0x02,0xf8,0x04,0x9b] 2833*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r3, [sp], #-4 @ encoding: [0x0d,0xf8,0x04,0x39] 2834*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r4, [r8, #-0]! @ encoding: [0x08,0xf8,0x00,0x4d] 2835*9880d681SAndroid Build Coastguard Worker@ CHECK: strb r1, [r0], #-0 @ encoding: [0x00,0xf8,0x00,0x19] 2836*9880d681SAndroid Build Coastguard Worker 2837*9880d681SAndroid Build Coastguard Worker 2838*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2839*9880d681SAndroid Build Coastguard Worker@ STRB(register) 2840*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2841*9880d681SAndroid Build Coastguard Worker strb r1, [r8, r1] 2842*9880d681SAndroid Build Coastguard Worker strb.w r4, [r5, r2] 2843*9880d681SAndroid Build Coastguard Worker strb r6, [r0, r2, lsl #3] 2844*9880d681SAndroid Build Coastguard Worker strb r8, [r8, r2, lsl #2] 2845*9880d681SAndroid Build Coastguard Worker strb r7, [sp, r2, lsl #1] 2846*9880d681SAndroid Build Coastguard Worker strb r7, [sp, r2, lsl #0] 2847*9880d681SAndroid Build Coastguard Worker 2848*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r1, [r8, r1] @ encoding: [0x08,0xf8,0x01,0x10] 2849*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r4, [r5, r2] @ encoding: [0x05,0xf8,0x02,0x40] 2850*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r6, [r0, r2, lsl #3] @ encoding: [0x00,0xf8,0x32,0x60] 2851*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r8, [r8, r2, lsl #2] @ encoding: [0x08,0xf8,0x22,0x80] 2852*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r7, [sp, r2, lsl #1] @ encoding: [0x0d,0xf8,0x12,0x70] 2853*9880d681SAndroid Build Coastguard Worker@ CHECK: strb.w r7, [sp, r2] @ encoding: [0x0d,0xf8,0x02,0x70] 2854*9880d681SAndroid Build Coastguard Worker 2855*9880d681SAndroid Build Coastguard Worker 2856*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2857*9880d681SAndroid Build Coastguard Worker@ STRBT 2858*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2859*9880d681SAndroid Build Coastguard Worker strbt r1, [r2] 2860*9880d681SAndroid Build Coastguard Worker strbt r1, [r8, #0] 2861*9880d681SAndroid Build Coastguard Worker strbt r1, [r8, #3] 2862*9880d681SAndroid Build Coastguard Worker strbt r1, [r8, #255] 2863*9880d681SAndroid Build Coastguard Worker 2864*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt r1, [r2] @ encoding: [0x02,0xf8,0x00,0x1e] 2865*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt r1, [r8] @ encoding: [0x08,0xf8,0x00,0x1e] 2866*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt r1, [r8, #3] @ encoding: [0x08,0xf8,0x03,0x1e] 2867*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt r1, [r8, #255] @ encoding: [0x08,0xf8,0xff,0x1e] 2868*9880d681SAndroid Build Coastguard Worker 2869*9880d681SAndroid Build Coastguard Worker 2870*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2871*9880d681SAndroid Build Coastguard Worker@ STRD 2872*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2873*9880d681SAndroid Build Coastguard Worker strd r3, r5, [r6, #24] 2874*9880d681SAndroid Build Coastguard Worker strd r3, r5, [r6, #24]! 2875*9880d681SAndroid Build Coastguard Worker strd r3, r5, [r6], #4 2876*9880d681SAndroid Build Coastguard Worker strd r3, r5, [r6], #-8 2877*9880d681SAndroid Build Coastguard Worker strd r3, r5, [r6] 2878*9880d681SAndroid Build Coastguard Worker strd r8, r1, [r3, #0] 2879*9880d681SAndroid Build Coastguard Worker strd r0, r1, [r2, #-0] 2880*9880d681SAndroid Build Coastguard Worker strd r0, r1, [r2, #-0]! 2881*9880d681SAndroid Build Coastguard Worker strd r0, r1, [r2], #-0 2882*9880d681SAndroid Build Coastguard Worker strd r0, r1, [r2, #256] 2883*9880d681SAndroid Build Coastguard Worker strd r0, r1, [r2, #256]! 2884*9880d681SAndroid Build Coastguard Worker strd r0, r1, [r2], #256 2885*9880d681SAndroid Build Coastguard Worker 2886*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r3, r5, [r6, #24] @ encoding: [0xc6,0xe9,0x06,0x35] 2887*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r3, r5, [r6, #24]! @ encoding: [0xe6,0xe9,0x06,0x35] 2888*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r3, r5, [r6], #4 @ encoding: [0xe6,0xe8,0x01,0x35] 2889*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r3, r5, [r6], #-8 @ encoding: [0x66,0xe8,0x02,0x35] 2890*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r3, r5, [r6] @ encoding: [0xc6,0xe9,0x00,0x35] 2891*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r8, r1, [r3] @ encoding: [0xc3,0xe9,0x00,0x81] 2892*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r0, r1, [r2, #-0] @ encoding: [0x42,0xe9,0x00,0x01] 2893*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r0, r1, [r2, #-0]! @ encoding: [0x62,0xe9,0x00,0x01] 2894*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r0, r1, [r2], #-0 @ encoding: [0x62,0xe8,0x00,0x01] 2895*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r0, r1, [r2, #256] @ encoding: [0xc2,0xe9,0x40,0x01] 2896*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r0, r1, [r2, #256]! @ encoding: [0xe2,0xe9,0x40,0x01] 2897*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r0, r1, [r2], #256 @ encoding: [0xe2,0xe8,0x40,0x01] 2898*9880d681SAndroid Build Coastguard Worker 2899*9880d681SAndroid Build Coastguard Worker 2900*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2901*9880d681SAndroid Build Coastguard Worker@ STREX/STREXB/STREXH/STREXD 2902*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2903*9880d681SAndroid Build Coastguard Worker strex r1, r8, [r4] 2904*9880d681SAndroid Build Coastguard Worker strex r8, r2, [r4, #0] 2905*9880d681SAndroid Build Coastguard Worker strex r2, r12, [sp, #128] 2906*9880d681SAndroid Build Coastguard Worker strexb r5, r1, [r7] 2907*9880d681SAndroid Build Coastguard Worker strexh r9, r7, [r12] 2908*9880d681SAndroid Build Coastguard Worker strexd r9, r3, r6, [r4] 2909*9880d681SAndroid Build Coastguard Worker 2910*9880d681SAndroid Build Coastguard Worker@ CHECK: strex r1, r8, [r4] @ encoding: [0x44,0xe8,0x00,0x81] 2911*9880d681SAndroid Build Coastguard Worker@ CHECK: strex r8, r2, [r4] @ encoding: [0x44,0xe8,0x00,0x28] 2912*9880d681SAndroid Build Coastguard Worker@ CHECK: strex r2, r12, [sp, #128] @ encoding: [0x4d,0xe8,0x20,0xc2] 2913*9880d681SAndroid Build Coastguard Worker@ CHECK: strexb r5, r1, [r7] @ encoding: [0xc7,0xe8,0x45,0x1f] 2914*9880d681SAndroid Build Coastguard Worker@ CHECK: strexh r9, r7, [r12] @ encoding: [0xcc,0xe8,0x59,0x7f] 2915*9880d681SAndroid Build Coastguard Worker@ CHECK: strexd r9, r3, r6, [r4] @ encoding: [0xc4,0xe8,0x79,0x36] 2916*9880d681SAndroid Build Coastguard Worker 2917*9880d681SAndroid Build Coastguard Worker 2918*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2919*9880d681SAndroid Build Coastguard Worker@ STRH(immediate) 2920*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2921*9880d681SAndroid Build Coastguard Worker strh r5, [r5, #-4] 2922*9880d681SAndroid Build Coastguard Worker strh r5, [r6, #32] 2923*9880d681SAndroid Build Coastguard Worker strh r5, [r6, #33] 2924*9880d681SAndroid Build Coastguard Worker strh r5, [r6, #257] 2925*9880d681SAndroid Build Coastguard Worker strh.w lr, [r7, #257] 2926*9880d681SAndroid Build Coastguard Worker strh r5, [r8, #255]! 2927*9880d681SAndroid Build Coastguard Worker strh r2, [r5, #4]! 2928*9880d681SAndroid Build Coastguard Worker strh r1, [r4, #-4]! 2929*9880d681SAndroid Build Coastguard Worker strh lr, [r3], #255 2930*9880d681SAndroid Build Coastguard Worker strh r9, [r2], #4 2931*9880d681SAndroid Build Coastguard Worker strh r3, [sp], #-4 2932*9880d681SAndroid Build Coastguard Worker 2933*9880d681SAndroid Build Coastguard Worker@ CHECK: strh r5, [r5, #-4] @ encoding: [0x25,0xf8,0x04,0x5c] 2934*9880d681SAndroid Build Coastguard Worker@ CHECK: strh r5, [r6, #32] @ encoding: [0x35,0x84] 2935*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r5, [r6, #33] @ encoding: [0xa6,0xf8,0x21,0x50] 2936*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r5, [r6, #257] @ encoding: [0xa6,0xf8,0x01,0x51] 2937*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w lr, [r7, #257] @ encoding: [0xa7,0xf8,0x01,0xe1] 2938*9880d681SAndroid Build Coastguard Worker@ CHECK: strh r5, [r8, #255]! @ encoding: [0x28,0xf8,0xff,0x5f] 2939*9880d681SAndroid Build Coastguard Worker@ CHECK: strh r2, [r5, #4]! @ encoding: [0x25,0xf8,0x04,0x2f] 2940*9880d681SAndroid Build Coastguard Worker@ CHECK: strh r1, [r4, #-4]! @ encoding: [0x24,0xf8,0x04,0x1d] 2941*9880d681SAndroid Build Coastguard Worker@ CHECK: strh lr, [r3], #255 @ encoding: [0x23,0xf8,0xff,0xeb] 2942*9880d681SAndroid Build Coastguard Worker@ CHECK: strh r9, [r2], #4 @ encoding: [0x22,0xf8,0x04,0x9b] 2943*9880d681SAndroid Build Coastguard Worker@ CHECK: strh r3, [sp], #-4 @ encoding: [0x2d,0xf8,0x04,0x39] 2944*9880d681SAndroid Build Coastguard Worker 2945*9880d681SAndroid Build Coastguard Worker 2946*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2947*9880d681SAndroid Build Coastguard Worker@ STRH(register) 2948*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2949*9880d681SAndroid Build Coastguard Worker strh r1, [r8, r1] 2950*9880d681SAndroid Build Coastguard Worker strh.w r4, [r5, r2] 2951*9880d681SAndroid Build Coastguard Worker strh r6, [r0, r2, lsl #3] 2952*9880d681SAndroid Build Coastguard Worker strh r8, [r8, r2, lsl #2] 2953*9880d681SAndroid Build Coastguard Worker strh r7, [sp, r2, lsl #1] 2954*9880d681SAndroid Build Coastguard Worker strh r7, [sp, r2, lsl #0] 2955*9880d681SAndroid Build Coastguard Worker 2956*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r1, [r8, r1] @ encoding: [0x28,0xf8,0x01,0x10] 2957*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r4, [r5, r2] @ encoding: [0x25,0xf8,0x02,0x40] 2958*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r6, [r0, r2, lsl #3] @ encoding: [0x20,0xf8,0x32,0x60] 2959*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r8, [r8, r2, lsl #2] @ encoding: [0x28,0xf8,0x22,0x80] 2960*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r7, [sp, r2, lsl #1] @ encoding: [0x2d,0xf8,0x12,0x70] 2961*9880d681SAndroid Build Coastguard Worker@ CHECK: strh.w r7, [sp, r2] @ encoding: [0x2d,0xf8,0x02,0x70] 2962*9880d681SAndroid Build Coastguard Worker 2963*9880d681SAndroid Build Coastguard Worker 2964*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2965*9880d681SAndroid Build Coastguard Worker@ STRHT 2966*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2967*9880d681SAndroid Build Coastguard Worker strht r1, [r2] 2968*9880d681SAndroid Build Coastguard Worker strht r1, [r8, #0] 2969*9880d681SAndroid Build Coastguard Worker strht r1, [r8, #3] 2970*9880d681SAndroid Build Coastguard Worker strht r1, [r8, #255] 2971*9880d681SAndroid Build Coastguard Worker 2972*9880d681SAndroid Build Coastguard Worker@ CHECK: strht r1, [r2] @ encoding: [0x22,0xf8,0x00,0x1e] 2973*9880d681SAndroid Build Coastguard Worker@ CHECK: strht r1, [r8] @ encoding: [0x28,0xf8,0x00,0x1e] 2974*9880d681SAndroid Build Coastguard Worker@ CHECK: strht r1, [r8, #3] @ encoding: [0x28,0xf8,0x03,0x1e] 2975*9880d681SAndroid Build Coastguard Worker@ CHECK: strht r1, [r8, #255] @ encoding: [0x28,0xf8,0xff,0x1e] 2976*9880d681SAndroid Build Coastguard Worker 2977*9880d681SAndroid Build Coastguard Worker 2978*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2979*9880d681SAndroid Build Coastguard Worker@ STRT 2980*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2981*9880d681SAndroid Build Coastguard Worker strt r1, [r2] 2982*9880d681SAndroid Build Coastguard Worker strt r1, [r8, #0] 2983*9880d681SAndroid Build Coastguard Worker strt r1, [r8, #3] 2984*9880d681SAndroid Build Coastguard Worker strt r1, [r8, #255] 2985*9880d681SAndroid Build Coastguard Worker 2986*9880d681SAndroid Build Coastguard Worker@ CHECK: strt r1, [r2] @ encoding: [0x42,0xf8,0x00,0x1e] 2987*9880d681SAndroid Build Coastguard Worker@ CHECK: strt r1, [r8] @ encoding: [0x48,0xf8,0x00,0x1e] 2988*9880d681SAndroid Build Coastguard Worker@ CHECK: strt r1, [r8, #3] @ encoding: [0x48,0xf8,0x03,0x1e] 2989*9880d681SAndroid Build Coastguard Worker@ CHECK: strt r1, [r8, #255] @ encoding: [0x48,0xf8,0xff,0x1e] 2990*9880d681SAndroid Build Coastguard Worker 2991*9880d681SAndroid Build Coastguard Worker 2992*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2993*9880d681SAndroid Build Coastguard Worker@ SUB (immediate) 2994*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2995*9880d681SAndroid Build Coastguard Worker itet eq 2996*9880d681SAndroid Build Coastguard Worker subeq r1, r2, #4 2997*9880d681SAndroid Build Coastguard Worker subwne r5, r3, #1023 2998*9880d681SAndroid Build Coastguard Worker subeq r4, r5, #293 2999*9880d681SAndroid Build Coastguard Worker sub r2, sp, #1024 3000*9880d681SAndroid Build Coastguard Worker sub r2, r8, #0xff00 3001*9880d681SAndroid Build Coastguard Worker sub r2, r3, #257 3002*9880d681SAndroid Build Coastguard Worker subw r2, r3, #257 3003*9880d681SAndroid Build Coastguard Worker sub r12, r6, #0x100 3004*9880d681SAndroid Build Coastguard Worker subw r12, r6, #0x100 3005*9880d681SAndroid Build Coastguard Worker subs r1, r2, #0x1f0 3006*9880d681SAndroid Build Coastguard Worker sub r2, #1 3007*9880d681SAndroid Build Coastguard Worker sub r0, r0, #32 3008*9880d681SAndroid Build Coastguard Worker subs r2, r2, #56 3009*9880d681SAndroid Build Coastguard Worker subs r2, #56 3010*9880d681SAndroid Build Coastguard Worker 3011*9880d681SAndroid Build Coastguard Worker@ CHECK: itet eq @ encoding: [0x0a,0xbf] 3012*9880d681SAndroid Build Coastguard Worker@ CHECK: subeq r1, r2, #4 @ encoding: [0x11,0x1f] 3013*9880d681SAndroid Build Coastguard Worker@ CHECK: subwne r5, r3, #1023 @ encoding: [0xa3,0xf2,0xff,0x35] 3014*9880d681SAndroid Build Coastguard Worker@ CHECK: subweq r4, r5, #293 @ encoding: [0xa5,0xf2,0x25,0x14] 3015*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r2, sp, #1024 @ encoding: [0xad,0xf5,0x80,0x62] 3016*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r2, r8, #65280 @ encoding: [0xa8,0xf5,0x7f,0x42] 3017*9880d681SAndroid Build Coastguard Worker@ CHECK: subw r2, r3, #257 @ encoding: [0xa3,0xf2,0x01,0x12] 3018*9880d681SAndroid Build Coastguard Worker@ CHECK: subw r2, r3, #257 @ encoding: [0xa3,0xf2,0x01,0x12] 3019*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r12, r6, #256 @ encoding: [0xa6,0xf5,0x80,0x7c] 3020*9880d681SAndroid Build Coastguard Worker@ CHECK: subw r12, r6, #256 @ encoding: [0xa6,0xf2,0x00,0x1c] 3021*9880d681SAndroid Build Coastguard Worker@ CHECK: subs.w r1, r2, #496 @ encoding: [0xb2,0xf5,0xf8,0x71] 3022*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r2, r2, #1 @ encoding: [0xa2,0xf1,0x01,0x02] 3023*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r0, r0, #32 @ encoding: [0xa0,0xf1,0x20,0x00] 3024*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r2, #56 @ encoding: [0x38,0x3a] 3025*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r2, #56 @ encoding: [0x38,0x3a] 3026*9880d681SAndroid Build Coastguard Worker 3027*9880d681SAndroid Build Coastguard Worker 3028*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3029*9880d681SAndroid Build Coastguard Worker@ SUB (register) 3030*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3031*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6 3032*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, lsl #5 3033*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, lsr #5 3034*9880d681SAndroid Build Coastguard Worker sub.w r4, r5, r6, lsr #5 3035*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, asr #5 3036*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, ror #5 3037*9880d681SAndroid Build Coastguard Worker sub.w r5, r2, r12, rrx 3038*9880d681SAndroid Build Coastguard Worker sub r2, sp, ip 3039*9880d681SAndroid Build Coastguard Worker sub sp, sp, ip 3040*9880d681SAndroid Build Coastguard Worker sub sp, ip 3041*9880d681SAndroid Build Coastguard Worker sub.w r2, sp, ip 3042*9880d681SAndroid Build Coastguard Worker sub.w sp, sp, ip 3043*9880d681SAndroid Build Coastguard Worker sub.w sp, ip 3044*9880d681SAndroid Build Coastguard Worker 3045*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r4, r5, r6 @ encoding: [0xa5,0xeb,0x06,0x04] 3046*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r4, r5, r6, lsl #5 @ encoding: [0xa5,0xeb,0x46,0x14] 3047*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r4, r5, r6, lsr #5 @ encoding: [0xa5,0xeb,0x56,0x14] 3048*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r4, r5, r6, lsr #5 @ encoding: [0xa5,0xeb,0x56,0x14] 3049*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r4, r5, r6, asr #5 @ encoding: [0xa5,0xeb,0x66,0x14] 3050*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r4, r5, r6, ror #5 @ encoding: [0xa5,0xeb,0x76,0x14] 3051*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r5, r2, r12, rrx @ encoding: [0xa2,0xeb,0x3c,0x05] 3052*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r2, sp, r12 @ encoding: [0xad,0xeb,0x0c,0x02] 3053*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w sp, sp, r12 @ encoding: [0xad,0xeb,0x0c,0x0d] 3054*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w sp, sp, r12 @ encoding: [0xad,0xeb,0x0c,0x0d] 3055*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w r2, sp, r12 @ encoding: [0xad,0xeb,0x0c,0x02] 3056*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w sp, sp, r12 @ encoding: [0xad,0xeb,0x0c,0x0d] 3057*9880d681SAndroid Build Coastguard Worker@ CHECK: sub.w sp, sp, r12 @ encoding: [0xad,0xeb,0x0c,0x0d] 3058*9880d681SAndroid Build Coastguard Worker 3059*9880d681SAndroid Build Coastguard Worker 3060*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3061*9880d681SAndroid Build Coastguard Worker@ SVC 3062*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3063*9880d681SAndroid Build Coastguard Worker svc #0 3064*9880d681SAndroid Build Coastguard Worker ite eq 3065*9880d681SAndroid Build Coastguard Worker svceq #255 3066*9880d681SAndroid Build Coastguard Worker swine #33 3067*9880d681SAndroid Build Coastguard Worker 3068*9880d681SAndroid Build Coastguard Worker@ CHECK: svc #0 @ encoding: [0x00,0xdf] 3069*9880d681SAndroid Build Coastguard Worker@ CHECK: ite eq @ encoding: [0x0c,0xbf] 3070*9880d681SAndroid Build Coastguard Worker@ CHECK: svceq #255 @ encoding: [0xff,0xdf] 3071*9880d681SAndroid Build Coastguard Worker@ CHECK: svcne #33 @ encoding: [0x21,0xdf] 3072*9880d681SAndroid Build Coastguard Worker 3073*9880d681SAndroid Build Coastguard Worker 3074*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3075*9880d681SAndroid Build Coastguard Worker@ SXTAB 3076*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3077*9880d681SAndroid Build Coastguard Worker sxtab r2, r3, r4 3078*9880d681SAndroid Build Coastguard Worker sxtab r4, r5, r6, ror #0 3079*9880d681SAndroid Build Coastguard Worker it lt 3080*9880d681SAndroid Build Coastguard Worker sxtablt r6, r2, r9, ror #8 3081*9880d681SAndroid Build Coastguard Worker sxtab r5, r1, r4, ror #16 3082*9880d681SAndroid Build Coastguard Worker sxtab r7, r8, r3, ror #24 3083*9880d681SAndroid Build Coastguard Worker 3084*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r2, r3, r4 @ encoding: [0x43,0xfa,0x84,0xf2] 3085*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r4, r5, r6 @ encoding: [0x45,0xfa,0x86,0xf4] 3086*9880d681SAndroid Build Coastguard Worker@ CHECK: it lt @ encoding: [0xb8,0xbf] 3087*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtablt r6, r2, r9, ror #8 @ encoding: [0x42,0xfa,0x99,0xf6] 3088*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r5, r1, r4, ror #16 @ encoding: [0x41,0xfa,0xa4,0xf5] 3089*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r7, r8, r3, ror #24 @ encoding: [0x48,0xfa,0xb3,0xf7] 3090*9880d681SAndroid Build Coastguard Worker 3091*9880d681SAndroid Build Coastguard Worker 3092*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3093*9880d681SAndroid Build Coastguard Worker@ SXTAB16 3094*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3095*9880d681SAndroid Build Coastguard Worker sxtab16 r6, r2, r7, ror #0 3096*9880d681SAndroid Build Coastguard Worker sxtab16 r3, r5, r8, ror #8 3097*9880d681SAndroid Build Coastguard Worker sxtab16 r3, r2, r1, ror #16 3098*9880d681SAndroid Build Coastguard Worker ite ne 3099*9880d681SAndroid Build Coastguard Worker sxtab16ne r0, r1, r4 3100*9880d681SAndroid Build Coastguard Worker sxtab16eq r1, r2, r3, ror #24 3101*9880d681SAndroid Build Coastguard Worker 3102*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r6, r2, r7 @ encoding: [0x22,0xfa,0x87,0xf6] 3103*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r3, r5, r8, ror #8 @ encoding: [0x25,0xfa,0x98,0xf3] 3104*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r3, r2, r1, ror #16 @ encoding: [0x22,0xfa,0xa1,0xf3] 3105*9880d681SAndroid Build Coastguard Worker@ CHECK: ite ne @ encoding: [0x14,0xbf] 3106*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16ne r0, r1, r4 @ encoding: [0x21,0xfa,0x84,0xf0] 3107*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16eq r1, r2, r3, ror #24 @ encoding: [0x22,0xfa,0xb3,0xf1] 3108*9880d681SAndroid Build Coastguard Worker 3109*9880d681SAndroid Build Coastguard Worker 3110*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3111*9880d681SAndroid Build Coastguard Worker@ SXTAH 3112*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3113*9880d681SAndroid Build Coastguard Worker sxtah r1, r3, r9 3114*9880d681SAndroid Build Coastguard Worker sxtah r3, r8, r3, ror #8 3115*9880d681SAndroid Build Coastguard Worker sxtah r9, r3, r3, ror #24 3116*9880d681SAndroid Build Coastguard Worker ite hi 3117*9880d681SAndroid Build Coastguard Worker sxtahhi r6, r1, r6, ror #0 3118*9880d681SAndroid Build Coastguard Worker sxtahls r2, r2, r4, ror #16 3119*9880d681SAndroid Build Coastguard Worker 3120*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah r1, r3, r9 @ encoding: [0x03,0xfa,0x89,0xf1] 3121*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah r3, r8, r3, ror #8 @ encoding: [0x08,0xfa,0x93,0xf3] 3122*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah r9, r3, r3, ror #24 @ encoding: [0x03,0xfa,0xb3,0xf9] 3123*9880d681SAndroid Build Coastguard Worker@ CHECK: ite hi @ encoding: [0x8c,0xbf] 3124*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtahhi r6, r1, r6 @ encoding: [0x01,0xfa,0x86,0xf6] 3125*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtahls r2, r2, r4, ror #16 @ encoding: [0x02,0xfa,0xa4,0xf2] 3126*9880d681SAndroid Build Coastguard Worker 3127*9880d681SAndroid Build Coastguard Worker 3128*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3129*9880d681SAndroid Build Coastguard Worker@ SXTB 3130*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3131*9880d681SAndroid Build Coastguard Worker sxtb r5, r6, ror #0 3132*9880d681SAndroid Build Coastguard Worker sxtb r6, r9, ror #8 3133*9880d681SAndroid Build Coastguard Worker sxtb r8, r3, ror #24 3134*9880d681SAndroid Build Coastguard Worker ite ge 3135*9880d681SAndroid Build Coastguard Worker sxtbge r2, r4 3136*9880d681SAndroid Build Coastguard Worker sxtblt r5, r1, ror #16 3137*9880d681SAndroid Build Coastguard Worker sxtb.w r7, r8 3138*9880d681SAndroid Build Coastguard Worker 3139*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb r5, r6 @ encoding: [0x75,0xb2] 3140*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb.w r6, r9, ror #8 @ encoding: [0x4f,0xfa,0x99,0xf6] 3141*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb.w r8, r3, ror #24 @ encoding: [0x4f,0xfa,0xb3,0xf8] 3142*9880d681SAndroid Build Coastguard Worker@ CHECK: ite ge @ encoding: [0xac,0xbf] 3143*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtbge r2, r4 @ encoding: [0x62,0xb2] 3144*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtblt.w r5, r1, ror #16 @ encoding: [0x4f,0xfa,0xa1,0xf5] 3145*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb.w r7, r8 @ encoding: [0x4f,0xfa,0x88,0xf7] 3146*9880d681SAndroid Build Coastguard Worker 3147*9880d681SAndroid Build Coastguard Worker 3148*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3149*9880d681SAndroid Build Coastguard Worker@ SXTB16 3150*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3151*9880d681SAndroid Build Coastguard Worker sxtb16 r1, r4 3152*9880d681SAndroid Build Coastguard Worker sxtb16 r6, r7, ror #0 3153*9880d681SAndroid Build Coastguard Worker sxtb16 r3, r1, ror #16 3154*9880d681SAndroid Build Coastguard Worker ite cs 3155*9880d681SAndroid Build Coastguard Worker sxtb16cs r3, r5, ror #8 3156*9880d681SAndroid Build Coastguard Worker sxtb16lo r2, r3, ror #24 3157*9880d681SAndroid Build Coastguard Worker 3158*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r1, r4 @ encoding: [0x2f,0xfa,0x84,0xf1] 3159*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r6, r7 @ encoding: [0x2f,0xfa,0x87,0xf6] 3160*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r3, r1, ror #16 @ encoding: [0x2f,0xfa,0xa1,0xf3] 3161*9880d681SAndroid Build Coastguard Worker@ CHECK: ite hs @ encoding: [0x2c,0xbf] 3162*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16hs r3, r5, ror #8 @ encoding: [0x2f,0xfa,0x95,0xf3] 3163*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16lo r2, r3, ror #24 @ encoding: [0x2f,0xfa,0xb3,0xf2] 3164*9880d681SAndroid Build Coastguard Worker 3165*9880d681SAndroid Build Coastguard Worker 3166*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3167*9880d681SAndroid Build Coastguard Worker@ SXTH 3168*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3169*9880d681SAndroid Build Coastguard Worker sxth r1, r6, ror #0 3170*9880d681SAndroid Build Coastguard Worker sxth r3, r8, ror #8 3171*9880d681SAndroid Build Coastguard Worker sxth r9, r3, ror #24 3172*9880d681SAndroid Build Coastguard Worker itt ne 3173*9880d681SAndroid Build Coastguard Worker sxthne r3, r9 3174*9880d681SAndroid Build Coastguard Worker sxthne r2, r2, ror #16 3175*9880d681SAndroid Build Coastguard Worker sxth.w r7, r8 3176*9880d681SAndroid Build Coastguard Worker 3177*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth r1, r6 @ encoding: [0x31,0xb2] 3178*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth.w r3, r8, ror #8 @ encoding: [0x0f,0xfa,0x98,0xf3] 3179*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth.w r9, r3, ror #24 @ encoding: [0x0f,0xfa,0xb3,0xf9] 3180*9880d681SAndroid Build Coastguard Worker@ CHECK: itt ne @ encoding: [0x1c,0xbf] 3181*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthne.w r3, r9 @ encoding: [0x0f,0xfa,0x89,0xf3] 3182*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthne.w r2, r2, ror #16 @ encoding: [0x0f,0xfa,0xa2,0xf2] 3183*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth.w r7, r8 @ encoding: [0x0f,0xfa,0x88,0xf7] 3184*9880d681SAndroid Build Coastguard Worker 3185*9880d681SAndroid Build Coastguard Worker 3186*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3187*9880d681SAndroid Build Coastguard Worker@ SXTB 3188*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3189*9880d681SAndroid Build Coastguard Worker sxtb r5, r6, ror #0 3190*9880d681SAndroid Build Coastguard Worker sxtb.w r6, r9, ror #8 3191*9880d681SAndroid Build Coastguard Worker sxtb r8, r3, ror #24 3192*9880d681SAndroid Build Coastguard Worker ite ge 3193*9880d681SAndroid Build Coastguard Worker sxtbge r2, r4 3194*9880d681SAndroid Build Coastguard Worker sxtblt r5, r1, ror #16 3195*9880d681SAndroid Build Coastguard Worker 3196*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb r5, r6 @ encoding: [0x75,0xb2] 3197*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb.w r6, r9, ror #8 @ encoding: [0x4f,0xfa,0x99,0xf6] 3198*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb.w r8, r3, ror #24 @ encoding: [0x4f,0xfa,0xb3,0xf8] 3199*9880d681SAndroid Build Coastguard Worker@ CHECK: ite ge @ encoding: [0xac,0xbf] 3200*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtbge r2, r4 @ encoding: [0x62,0xb2] 3201*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtblt.w r5, r1, ror #16 @ encoding: [0x4f,0xfa,0xa1,0xf5] 3202*9880d681SAndroid Build Coastguard Worker 3203*9880d681SAndroid Build Coastguard Worker 3204*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3205*9880d681SAndroid Build Coastguard Worker@ SXTB16 3206*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3207*9880d681SAndroid Build Coastguard Worker sxtb16 r1, r4 3208*9880d681SAndroid Build Coastguard Worker sxtb16 r6, r7, ror #0 3209*9880d681SAndroid Build Coastguard Worker sxtb16 r3, r1, ror #16 3210*9880d681SAndroid Build Coastguard Worker ite cs 3211*9880d681SAndroid Build Coastguard Worker sxtb16cs r3, r5, ror #8 3212*9880d681SAndroid Build Coastguard Worker sxtb16lo r2, r3, ror #24 3213*9880d681SAndroid Build Coastguard Worker 3214*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r1, r4 @ encoding: [0x2f,0xfa,0x84,0xf1] 3215*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r6, r7 @ encoding: [0x2f,0xfa,0x87,0xf6] 3216*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r3, r1, ror #16 @ encoding: [0x2f,0xfa,0xa1,0xf3] 3217*9880d681SAndroid Build Coastguard Worker@ CHECK: ite hs @ encoding: [0x2c,0xbf] 3218*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16hs r3, r5, ror #8 @ encoding: [0x2f,0xfa,0x95,0xf3] 3219*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16lo r2, r3, ror #24 @ encoding: [0x2f,0xfa,0xb3,0xf2] 3220*9880d681SAndroid Build Coastguard Worker 3221*9880d681SAndroid Build Coastguard Worker 3222*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3223*9880d681SAndroid Build Coastguard Worker@ SXTH 3224*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3225*9880d681SAndroid Build Coastguard Worker sxth r1, r6, ror #0 3226*9880d681SAndroid Build Coastguard Worker sxth.w r3, r8, ror #8 3227*9880d681SAndroid Build Coastguard Worker sxth r9, r3, ror #24 3228*9880d681SAndroid Build Coastguard Worker itt ne 3229*9880d681SAndroid Build Coastguard Worker sxthne r3, r9 3230*9880d681SAndroid Build Coastguard Worker sxthne r2, r2, ror #16 3231*9880d681SAndroid Build Coastguard Worker 3232*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth r1, r6 @ encoding: [0x31,0xb2] 3233*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth.w r3, r8, ror #8 @ encoding: [0x0f,0xfa,0x98,0xf3] 3234*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth.w r9, r3, ror #24 @ encoding: [0x0f,0xfa,0xb3,0xf9] 3235*9880d681SAndroid Build Coastguard Worker@ CHECK: itt ne @ encoding: [0x1c,0xbf] 3236*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthne.w r3, r9 @ encoding: [0x0f,0xfa,0x89,0xf3] 3237*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthne.w r2, r2, ror #16 @ encoding: [0x0f,0xfa,0xa2,0xf2] 3238*9880d681SAndroid Build Coastguard Worker 3239*9880d681SAndroid Build Coastguard Worker 3240*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3241*9880d681SAndroid Build Coastguard Worker@ TBB/TBH 3242*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3243*9880d681SAndroid Build Coastguard Worker tbb [r3, r8] 3244*9880d681SAndroid Build Coastguard Worker tbh [r3, r8, lsl #1] 3245*9880d681SAndroid Build Coastguard Worker it eq 3246*9880d681SAndroid Build Coastguard Worker tbbeq [r3, r8] 3247*9880d681SAndroid Build Coastguard Worker it cs 3248*9880d681SAndroid Build Coastguard Worker tbhcs [r3, r8, lsl #1] 3249*9880d681SAndroid Build Coastguard Worker 3250*9880d681SAndroid Build Coastguard Worker@ CHECK: tbb [r3, r8] @ encoding: [0xd3,0xe8,0x08,0xf0] 3251*9880d681SAndroid Build Coastguard Worker@ CHECK: tbh [r3, r8, lsl #1] @ encoding: [0xd3,0xe8,0x18,0xf0] 3252*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 3253*9880d681SAndroid Build Coastguard Worker@ CHECK: tbbeq [r3, r8] @ encoding: [0xd3,0xe8,0x08,0xf0] 3254*9880d681SAndroid Build Coastguard Worker@ CHECK: it hs @ encoding: [0x28,0xbf] 3255*9880d681SAndroid Build Coastguard Worker@ CHECK: tbhhs [r3, r8, lsl #1] @ encoding: [0xd3,0xe8,0x18,0xf0] 3256*9880d681SAndroid Build Coastguard Worker 3257*9880d681SAndroid Build Coastguard Worker 3258*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3259*9880d681SAndroid Build Coastguard Worker@ TEQ 3260*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3261*9880d681SAndroid Build Coastguard Worker teq r5, #0xf000 3262*9880d681SAndroid Build Coastguard Worker teq r4, r5 3263*9880d681SAndroid Build Coastguard Worker teq r4, r5, lsl #5 3264*9880d681SAndroid Build Coastguard Worker teq r4, r5, lsr #5 3265*9880d681SAndroid Build Coastguard Worker teq r4, r5, lsr #5 3266*9880d681SAndroid Build Coastguard Worker teq r4, r5, asr #5 3267*9880d681SAndroid Build Coastguard Worker teq r4, r5, ror #5 3268*9880d681SAndroid Build Coastguard Worker 3269*9880d681SAndroid Build Coastguard Worker@ CHECK: teq.w r5, #61440 @ encoding: [0x95,0xf4,0x70,0x4f] 3270*9880d681SAndroid Build Coastguard Worker@ CHECK: teq.w r4, r5 @ encoding: [0x94,0xea,0x05,0x0f] 3271*9880d681SAndroid Build Coastguard Worker@ CHECK: teq.w r4, r5, lsl #5 @ encoding: [0x94,0xea,0x45,0x1f] 3272*9880d681SAndroid Build Coastguard Worker@ CHECK: teq.w r4, r5, lsr #5 @ encoding: [0x94,0xea,0x55,0x1f] 3273*9880d681SAndroid Build Coastguard Worker@ CHECK: teq.w r4, r5, lsr #5 @ encoding: [0x94,0xea,0x55,0x1f] 3274*9880d681SAndroid Build Coastguard Worker@ CHECK: teq.w r4, r5, asr #5 @ encoding: [0x94,0xea,0x65,0x1f] 3275*9880d681SAndroid Build Coastguard Worker@ CHECK: teq.w r4, r5, ror #5 @ encoding: [0x94,0xea,0x75,0x1f] 3276*9880d681SAndroid Build Coastguard Worker 3277*9880d681SAndroid Build Coastguard Worker 3278*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3279*9880d681SAndroid Build Coastguard Worker@ TST 3280*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3281*9880d681SAndroid Build Coastguard Worker tst r5, #0xf000 3282*9880d681SAndroid Build Coastguard Worker tst r2, r5 3283*9880d681SAndroid Build Coastguard Worker tst r3, r12, lsl #5 3284*9880d681SAndroid Build Coastguard Worker tst r4, r11, lsr #4 3285*9880d681SAndroid Build Coastguard Worker tst r5, r10, lsr #12 3286*9880d681SAndroid Build Coastguard Worker tst r6, r9, asr #30 3287*9880d681SAndroid Build Coastguard Worker tst r7, r8, ror #2 3288*9880d681SAndroid Build Coastguard Worker 3289*9880d681SAndroid Build Coastguard Worker@ CHECK: tst.w r5, #61440 @ encoding: [0x15,0xf4,0x70,0x4f] 3290*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r2, r5 @ encoding: [0x2a,0x42] 3291*9880d681SAndroid Build Coastguard Worker@ CHECK: tst.w r3, r12, lsl #5 @ encoding: [0x13,0xea,0x4c,0x1f] 3292*9880d681SAndroid Build Coastguard Worker@ CHECK: tst.w r4, r11, lsr #4 @ encoding: [0x14,0xea,0x1b,0x1f] 3293*9880d681SAndroid Build Coastguard Worker@ CHECK: tst.w r5, r10, lsr #12 @ encoding: [0x15,0xea,0x1a,0x3f] 3294*9880d681SAndroid Build Coastguard Worker@ CHECK: tst.w r6, r9, asr #30 @ encoding: [0x16,0xea,0xa9,0x7f] 3295*9880d681SAndroid Build Coastguard Worker@ CHECK: tst.w r7, r8, ror #2 @ encoding: [0x17,0xea,0xb8,0x0f] 3296*9880d681SAndroid Build Coastguard Worker 3297*9880d681SAndroid Build Coastguard Worker 3298*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3299*9880d681SAndroid Build Coastguard Worker@ UADD16/UADD8 3300*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3301*9880d681SAndroid Build Coastguard Worker uadd16 r1, r2, r3 3302*9880d681SAndroid Build Coastguard Worker uadd8 r1, r2, r3 3303*9880d681SAndroid Build Coastguard Worker ite gt 3304*9880d681SAndroid Build Coastguard Worker uadd16gt r1, r2, r3 3305*9880d681SAndroid Build Coastguard Worker uadd8le r1, r2, r3 3306*9880d681SAndroid Build Coastguard Worker 3307*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd16 r1, r2, r3 @ encoding: [0x92,0xfa,0x43,0xf1] 3308*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd8 r1, r2, r3 @ encoding: [0x82,0xfa,0x43,0xf1] 3309*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 3310*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd16gt r1, r2, r3 @ encoding: [0x92,0xfa,0x43,0xf1] 3311*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd8le r1, r2, r3 @ encoding: [0x82,0xfa,0x43,0xf1] 3312*9880d681SAndroid Build Coastguard Worker 3313*9880d681SAndroid Build Coastguard Worker 3314*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3315*9880d681SAndroid Build Coastguard Worker@ UASX 3316*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3317*9880d681SAndroid Build Coastguard Worker uasx r9, r12, r0 3318*9880d681SAndroid Build Coastguard Worker it eq 3319*9880d681SAndroid Build Coastguard Worker uasxeq r9, r12, r0 3320*9880d681SAndroid Build Coastguard Worker uaddsubx r9, r12, r0 3321*9880d681SAndroid Build Coastguard Worker it eq 3322*9880d681SAndroid Build Coastguard Worker uaddsubxeq r9, r12, r0 3323*9880d681SAndroid Build Coastguard Worker 3324*9880d681SAndroid Build Coastguard Worker@ CHECK: uasx r9, r12, r0 @ encoding: [0xac,0xfa,0x40,0xf9] 3325*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 3326*9880d681SAndroid Build Coastguard Worker@ CHECK: uasxeq r9, r12, r0 @ encoding: [0xac,0xfa,0x40,0xf9] 3327*9880d681SAndroid Build Coastguard Worker@ CHECK: uasx r9, r12, r0 @ encoding: [0xac,0xfa,0x40,0xf9] 3328*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 3329*9880d681SAndroid Build Coastguard Worker@ CHECK: uasxeq r9, r12, r0 @ encoding: [0xac,0xfa,0x40,0xf9] 3330*9880d681SAndroid Build Coastguard Worker 3331*9880d681SAndroid Build Coastguard Worker 3332*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3333*9880d681SAndroid Build Coastguard Worker@ UBFX 3334*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3335*9880d681SAndroid Build Coastguard Worker ubfx r4, r5, #16, #1 3336*9880d681SAndroid Build Coastguard Worker it gt 3337*9880d681SAndroid Build Coastguard Worker ubfxgt r4, r5, #16, #16 3338*9880d681SAndroid Build Coastguard Worker 3339*9880d681SAndroid Build Coastguard Worker@ CHECK: ubfx r4, r5, #16, #1 @ encoding: [0xc5,0xf3,0x00,0x44] 3340*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 3341*9880d681SAndroid Build Coastguard Worker@ CHECK: ubfxgt r4, r5, #16, #16 @ encoding: [0xc5,0xf3,0x0f,0x44] 3342*9880d681SAndroid Build Coastguard Worker 3343*9880d681SAndroid Build Coastguard Worker 3344*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3345*9880d681SAndroid Build Coastguard Worker@ UHADD16/UHADD8 3346*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3347*9880d681SAndroid Build Coastguard Worker uhadd16 r4, r8, r2 3348*9880d681SAndroid Build Coastguard Worker uhadd8 r4, r8, r2 3349*9880d681SAndroid Build Coastguard Worker itt gt 3350*9880d681SAndroid Build Coastguard Worker uhadd16gt r4, r8, r2 3351*9880d681SAndroid Build Coastguard Worker uhadd8gt r4, r8, r2 3352*9880d681SAndroid Build Coastguard Worker 3353*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd16 r4, r8, r2 @ encoding: [0x98,0xfa,0x62,0xf4] 3354*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd8 r4, r8, r2 @ encoding: [0x88,0xfa,0x62,0xf4] 3355*9880d681SAndroid Build Coastguard Worker@ CHECK: itt gt @ encoding: [0xc4,0xbf] 3356*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd16gt r4, r8, r2 @ encoding: [0x98,0xfa,0x62,0xf4] 3357*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd8gt r4, r8, r2 @ encoding: [0x88,0xfa,0x62,0xf4] 3358*9880d681SAndroid Build Coastguard Worker 3359*9880d681SAndroid Build Coastguard Worker 3360*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3361*9880d681SAndroid Build Coastguard Worker@ UHASX/UHSAX 3362*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3363*9880d681SAndroid Build Coastguard Worker uhasx r4, r1, r5 3364*9880d681SAndroid Build Coastguard Worker uhsax r5, r6, r6 3365*9880d681SAndroid Build Coastguard Worker itt gt 3366*9880d681SAndroid Build Coastguard Worker uhasxgt r6, r9, r8 3367*9880d681SAndroid Build Coastguard Worker uhsaxgt r7, r8, r12 3368*9880d681SAndroid Build Coastguard Worker uhaddsubx r4, r1, r5 3369*9880d681SAndroid Build Coastguard Worker uhsubaddx r5, r6, r6 3370*9880d681SAndroid Build Coastguard Worker itt gt 3371*9880d681SAndroid Build Coastguard Worker uhaddsubxgt r6, r9, r8 3372*9880d681SAndroid Build Coastguard Worker uhsubaddxgt r7, r8, r12 3373*9880d681SAndroid Build Coastguard Worker 3374*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasx r4, r1, r5 @ encoding: [0xa1,0xfa,0x65,0xf4] 3375*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsax r5, r6, r6 @ encoding: [0xe6,0xfa,0x66,0xf5] 3376*9880d681SAndroid Build Coastguard Worker@ CHECK: itt gt @ encoding: [0xc4,0xbf] 3377*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasxgt r6, r9, r8 @ encoding: [0xa9,0xfa,0x68,0xf6] 3378*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsaxgt r7, r8, r12 @ encoding: [0xe8,0xfa,0x6c,0xf7] 3379*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasx r4, r1, r5 @ encoding: [0xa1,0xfa,0x65,0xf4] 3380*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsax r5, r6, r6 @ encoding: [0xe6,0xfa,0x66,0xf5] 3381*9880d681SAndroid Build Coastguard Worker@ CHECK: itt gt @ encoding: [0xc4,0xbf] 3382*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasxgt r6, r9, r8 @ encoding: [0xa9,0xfa,0x68,0xf6] 3383*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsaxgt r7, r8, r12 @ encoding: [0xe8,0xfa,0x6c,0xf7] 3384*9880d681SAndroid Build Coastguard Worker 3385*9880d681SAndroid Build Coastguard Worker 3386*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3387*9880d681SAndroid Build Coastguard Worker@ UHSUB16/UHSUB8 3388*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3389*9880d681SAndroid Build Coastguard Worker uhsub16 r5, r8, r3 3390*9880d681SAndroid Build Coastguard Worker uhsub8 r1, r7, r6 3391*9880d681SAndroid Build Coastguard Worker itt lt 3392*9880d681SAndroid Build Coastguard Worker uhsub16lt r4, r9, r12 3393*9880d681SAndroid Build Coastguard Worker uhsub8lt r3, r1, r5 3394*9880d681SAndroid Build Coastguard Worker 3395*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub16 r5, r8, r3 @ encoding: [0xd8,0xfa,0x63,0xf5] 3396*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub8 r1, r7, r6 @ encoding: [0xc7,0xfa,0x66,0xf1] 3397*9880d681SAndroid Build Coastguard Worker@ CHECK: itt lt @ encoding: [0xbc,0xbf] 3398*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub16lt r4, r9, r12 @ encoding: [0xd9,0xfa,0x6c,0xf4] 3399*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub8lt r3, r1, r5 @ encoding: [0xc1,0xfa,0x65,0xf3] 3400*9880d681SAndroid Build Coastguard Worker 3401*9880d681SAndroid Build Coastguard Worker 3402*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3403*9880d681SAndroid Build Coastguard Worker@ UMAAL 3404*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3405*9880d681SAndroid Build Coastguard Worker umaal r3, r4, r5, r6 3406*9880d681SAndroid Build Coastguard Worker it lt 3407*9880d681SAndroid Build Coastguard Worker umaallt r3, r4, r5, r6 3408*9880d681SAndroid Build Coastguard Worker 3409*9880d681SAndroid Build Coastguard Worker@ CHECK: umaal r3, r4, r5, r6 @ encoding: [0xe5,0xfb,0x66,0x34] 3410*9880d681SAndroid Build Coastguard Worker@ CHECK: it lt @ encoding: [0xb8,0xbf] 3411*9880d681SAndroid Build Coastguard Worker@ CHECK: umaallt r3, r4, r5, r6 @ encoding: [0xe5,0xfb,0x66,0x34] 3412*9880d681SAndroid Build Coastguard Worker 3413*9880d681SAndroid Build Coastguard Worker 3414*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3415*9880d681SAndroid Build Coastguard Worker@ UMLAL 3416*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3417*9880d681SAndroid Build Coastguard Worker umlal r2, r4, r6, r8 3418*9880d681SAndroid Build Coastguard Worker it gt 3419*9880d681SAndroid Build Coastguard Worker umlalgt r6, r1, r2, r6 3420*9880d681SAndroid Build Coastguard Worker 3421*9880d681SAndroid Build Coastguard Worker@ CHECK: umlal r2, r4, r6, r8 @ encoding: [0xe6,0xfb,0x08,0x24] 3422*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 3423*9880d681SAndroid Build Coastguard Worker@ CHECK: umlalgt r6, r1, r2, r6 @ encoding: [0xe2,0xfb,0x06,0x61] 3424*9880d681SAndroid Build Coastguard Worker 3425*9880d681SAndroid Build Coastguard Worker 3426*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3427*9880d681SAndroid Build Coastguard Worker@ UMULL 3428*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3429*9880d681SAndroid Build Coastguard Worker umull r2, r4, r6, r8 3430*9880d681SAndroid Build Coastguard Worker it gt 3431*9880d681SAndroid Build Coastguard Worker umullgt r6, r1, r2, r6 3432*9880d681SAndroid Build Coastguard Worker 3433*9880d681SAndroid Build Coastguard Worker@ CHECK: umull r2, r4, r6, r8 @ encoding: [0xa6,0xfb,0x08,0x24] 3434*9880d681SAndroid Build Coastguard Worker@ CHECK: it gt @ encoding: [0xc8,0xbf] 3435*9880d681SAndroid Build Coastguard Worker@ CHECK: umullgt r6, r1, r2, r6 @ encoding: [0xa2,0xfb,0x06,0x61] 3436*9880d681SAndroid Build Coastguard Worker 3437*9880d681SAndroid Build Coastguard Worker 3438*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3439*9880d681SAndroid Build Coastguard Worker@ UQADD16/UQADD8 3440*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3441*9880d681SAndroid Build Coastguard Worker uqadd16 r1, r2, r3 3442*9880d681SAndroid Build Coastguard Worker uqadd8 r3, r4, r8 3443*9880d681SAndroid Build Coastguard Worker ite gt 3444*9880d681SAndroid Build Coastguard Worker uqadd16gt r4, r7, r9 3445*9880d681SAndroid Build Coastguard Worker uqadd8le r8, r1, r2 3446*9880d681SAndroid Build Coastguard Worker 3447*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd16 r1, r2, r3 @ encoding: [0x92,0xfa,0x53,0xf1] 3448*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd8 r3, r4, r8 @ encoding: [0x84,0xfa,0x58,0xf3] 3449*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 3450*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd16gt r4, r7, r9 @ encoding: [0x97,0xfa,0x59,0xf4] 3451*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd8le r8, r1, r2 @ encoding: [0x81,0xfa,0x52,0xf8] 3452*9880d681SAndroid Build Coastguard Worker 3453*9880d681SAndroid Build Coastguard Worker 3454*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3455*9880d681SAndroid Build Coastguard Worker@ UQASX/UQSAX 3456*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3457*9880d681SAndroid Build Coastguard Worker uqasx r1, r2, r3 3458*9880d681SAndroid Build Coastguard Worker uqsax r3, r4, r8 3459*9880d681SAndroid Build Coastguard Worker ite gt 3460*9880d681SAndroid Build Coastguard Worker uqasxgt r4, r7, r9 3461*9880d681SAndroid Build Coastguard Worker uqsaxle r8, r1, r2 3462*9880d681SAndroid Build Coastguard Worker 3463*9880d681SAndroid Build Coastguard Worker uqaddsubx r1, r2, r3 3464*9880d681SAndroid Build Coastguard Worker uqsubaddx r3, r4, r8 3465*9880d681SAndroid Build Coastguard Worker ite gt 3466*9880d681SAndroid Build Coastguard Worker uqaddsubxgt r4, r7, r9 3467*9880d681SAndroid Build Coastguard Worker uqsubaddxle r8, r1, r2 3468*9880d681SAndroid Build Coastguard Worker 3469*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasx r1, r2, r3 @ encoding: [0xa2,0xfa,0x53,0xf1] 3470*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsax r3, r4, r8 @ encoding: [0xe4,0xfa,0x58,0xf3] 3471*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 3472*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasxgt r4, r7, r9 @ encoding: [0xa7,0xfa,0x59,0xf4] 3473*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsaxle r8, r1, r2 @ encoding: [0xe1,0xfa,0x52,0xf8] 3474*9880d681SAndroid Build Coastguard Worker 3475*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasx r1, r2, r3 @ encoding: [0xa2,0xfa,0x53,0xf1] 3476*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsax r3, r4, r8 @ encoding: [0xe4,0xfa,0x58,0xf3] 3477*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 3478*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasxgt r4, r7, r9 @ encoding: [0xa7,0xfa,0x59,0xf4] 3479*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsaxle r8, r1, r2 @ encoding: [0xe1,0xfa,0x52,0xf8] 3480*9880d681SAndroid Build Coastguard Worker 3481*9880d681SAndroid Build Coastguard Worker 3482*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3483*9880d681SAndroid Build Coastguard Worker@ UQSUB16/UQSUB8 3484*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3485*9880d681SAndroid Build Coastguard Worker uqsub8 r8, r2, r9 3486*9880d681SAndroid Build Coastguard Worker uqsub16 r1, r9, r7 3487*9880d681SAndroid Build Coastguard Worker ite gt 3488*9880d681SAndroid Build Coastguard Worker uqsub8gt r3, r1, r6 3489*9880d681SAndroid Build Coastguard Worker uqsub16le r4, r6, r4 3490*9880d681SAndroid Build Coastguard Worker 3491*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub8 r8, r2, r9 @ encoding: [0xc2,0xfa,0x59,0xf8] 3492*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub16 r1, r9, r7 @ encoding: [0xd9,0xfa,0x57,0xf1] 3493*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 3494*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub8gt r3, r1, r6 @ encoding: [0xc1,0xfa,0x56,0xf3] 3495*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub16le r4, r6, r4 @ encoding: [0xd6,0xfa,0x54,0xf4] 3496*9880d681SAndroid Build Coastguard Worker 3497*9880d681SAndroid Build Coastguard Worker 3498*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3499*9880d681SAndroid Build Coastguard Worker@ UQSUB16/UQSUB8 3500*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3501*9880d681SAndroid Build Coastguard Worker usad8 r1, r9, r7 3502*9880d681SAndroid Build Coastguard Worker usada8 r8, r2, r9, r12 3503*9880d681SAndroid Build Coastguard Worker ite gt 3504*9880d681SAndroid Build Coastguard Worker usada8gt r3, r1, r6, r9 3505*9880d681SAndroid Build Coastguard Worker usad8le r4, r6, r4 3506*9880d681SAndroid Build Coastguard Worker 3507*9880d681SAndroid Build Coastguard Worker@ CHECK: usad8 r1, r9, r7 @ encoding: [0x79,0xfb,0x07,0xf1] 3508*9880d681SAndroid Build Coastguard Worker@ CHECK: usada8 r8, r2, r9, r12 @ encoding: [0x72,0xfb,0x09,0xc8] 3509*9880d681SAndroid Build Coastguard Worker@ CHECK: ite gt @ encoding: [0xcc,0xbf] 3510*9880d681SAndroid Build Coastguard Worker@ CHECK: usada8gt r3, r1, r6, r9 @ encoding: [0x71,0xfb,0x06,0x93] 3511*9880d681SAndroid Build Coastguard Worker@ CHECK: usad8le r4, r6, r4 @ encoding: [0x76,0xfb,0x04,0xf4] 3512*9880d681SAndroid Build Coastguard Worker 3513*9880d681SAndroid Build Coastguard Worker 3514*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3515*9880d681SAndroid Build Coastguard Worker@ USAT 3516*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3517*9880d681SAndroid Build Coastguard Worker usat r8, #1, r10 3518*9880d681SAndroid Build Coastguard Worker usat r8, #4, r10, lsl #0 3519*9880d681SAndroid Build Coastguard Worker usat r8, #5, r10, lsl #31 3520*9880d681SAndroid Build Coastguard Worker usat r8, #16, r10, asr #1 3521*9880d681SAndroid Build Coastguard Worker 3522*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #1, r10 @ encoding: [0x8a,0xf3,0x01,0x08] 3523*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #4, r10 @ encoding: [0x8a,0xf3,0x04,0x08] 3524*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #5, r10, lsl #31 @ encoding: [0x8a,0xf3,0xc5,0x78] 3525*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #16, r10, asr #1 @ encoding: [0xaa,0xf3,0x50,0x08] 3526*9880d681SAndroid Build Coastguard Worker 3527*9880d681SAndroid Build Coastguard Worker 3528*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3529*9880d681SAndroid Build Coastguard Worker@ USAT16 3530*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3531*9880d681SAndroid Build Coastguard Worker usat16 r2, #2, r7 3532*9880d681SAndroid Build Coastguard Worker usat16 r3, #15, r5 3533*9880d681SAndroid Build Coastguard Worker 3534*9880d681SAndroid Build Coastguard Worker@ CHECK: usat16 r2, #2, r7 @ encoding: [0xa7,0xf3,0x02,0x02] 3535*9880d681SAndroid Build Coastguard Worker@ CHECK: usat16 r3, #15, r5 @ encoding: [0xa5,0xf3,0x0f,0x03] 3536*9880d681SAndroid Build Coastguard Worker 3537*9880d681SAndroid Build Coastguard Worker 3538*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3539*9880d681SAndroid Build Coastguard Worker@ USAX 3540*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3541*9880d681SAndroid Build Coastguard Worker usax r2, r3, r4 3542*9880d681SAndroid Build Coastguard Worker it ne 3543*9880d681SAndroid Build Coastguard Worker usaxne r6, r1, r9 3544*9880d681SAndroid Build Coastguard Worker usubaddx r2, r3, r4 3545*9880d681SAndroid Build Coastguard Worker it ne 3546*9880d681SAndroid Build Coastguard Worker usubaddxne r6, r1, r9 3547*9880d681SAndroid Build Coastguard Worker 3548*9880d681SAndroid Build Coastguard Worker@ CHECK: usax r2, r3, r4 @ encoding: [0xe3,0xfa,0x44,0xf2] 3549*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 3550*9880d681SAndroid Build Coastguard Worker@ CHECK: usaxne r6, r1, r9 @ encoding: [0xe1,0xfa,0x49,0xf6] 3551*9880d681SAndroid Build Coastguard Worker@ CHECK: usax r2, r3, r4 @ encoding: [0xe3,0xfa,0x44,0xf2] 3552*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 3553*9880d681SAndroid Build Coastguard Worker@ CHECK: usaxne r6, r1, r9 @ encoding: [0xe1,0xfa,0x49,0xf6] 3554*9880d681SAndroid Build Coastguard Worker 3555*9880d681SAndroid Build Coastguard Worker 3556*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3557*9880d681SAndroid Build Coastguard Worker@ USUB16/USUB8 3558*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3559*9880d681SAndroid Build Coastguard Worker usub16 r4, r2, r7 3560*9880d681SAndroid Build Coastguard Worker usub8 r1, r8, r5 3561*9880d681SAndroid Build Coastguard Worker ite hi 3562*9880d681SAndroid Build Coastguard Worker usub16hi r1, r1, r3 3563*9880d681SAndroid Build Coastguard Worker usub8ls r9, r2, r3 3564*9880d681SAndroid Build Coastguard Worker 3565*9880d681SAndroid Build Coastguard Worker@ CHECK: usub16 r4, r2, r7 @ encoding: [0xd2,0xfa,0x47,0xf4] 3566*9880d681SAndroid Build Coastguard Worker@ CHECK: usub8 r1, r8, r5 @ encoding: [0xc8,0xfa,0x45,0xf1] 3567*9880d681SAndroid Build Coastguard Worker@ CHECK: ite hi @ encoding: [0x8c,0xbf] 3568*9880d681SAndroid Build Coastguard Worker@ CHECK: usub16hi r1, r1, r3 @ encoding: [0xd1,0xfa,0x43,0xf1] 3569*9880d681SAndroid Build Coastguard Worker@ CHECK: usub8ls r9, r2, r3 @ encoding: [0xc2,0xfa,0x43,0xf9] 3570*9880d681SAndroid Build Coastguard Worker 3571*9880d681SAndroid Build Coastguard Worker 3572*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3573*9880d681SAndroid Build Coastguard Worker@ UXTAB 3574*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3575*9880d681SAndroid Build Coastguard Worker uxtab r2, r3, r4 3576*9880d681SAndroid Build Coastguard Worker uxtab r4, r5, r6, ror #0 3577*9880d681SAndroid Build Coastguard Worker it lt 3578*9880d681SAndroid Build Coastguard Worker uxtablt r6, r2, r9, ror #8 3579*9880d681SAndroid Build Coastguard Worker uxtab r5, r1, r4, ror #16 3580*9880d681SAndroid Build Coastguard Worker uxtab r7, r8, r3, ror #24 3581*9880d681SAndroid Build Coastguard Worker 3582*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r2, r3, r4 @ encoding: [0x53,0xfa,0x84,0xf2] 3583*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r4, r5, r6 @ encoding: [0x55,0xfa,0x86,0xf4] 3584*9880d681SAndroid Build Coastguard Worker@ CHECK: it lt @ encoding: [0xb8,0xbf] 3585*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtablt r6, r2, r9, ror #8 @ encoding: [0x52,0xfa,0x99,0xf6] 3586*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r5, r1, r4, ror #16 @ encoding: [0x51,0xfa,0xa4,0xf5] 3587*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r7, r8, r3, ror #24 @ encoding: [0x58,0xfa,0xb3,0xf7] 3588*9880d681SAndroid Build Coastguard Worker 3589*9880d681SAndroid Build Coastguard Worker 3590*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3591*9880d681SAndroid Build Coastguard Worker@ UXTAB16 3592*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3593*9880d681SAndroid Build Coastguard Worker it ge 3594*9880d681SAndroid Build Coastguard Worker uxtab16ge r0, r1, r4 3595*9880d681SAndroid Build Coastguard Worker uxtab16 r6, r2, r7, ror #0 3596*9880d681SAndroid Build Coastguard Worker uxtab16 r3, r5, r8, ror #8 3597*9880d681SAndroid Build Coastguard Worker uxtab16 r3, r2, r1, ror #16 3598*9880d681SAndroid Build Coastguard Worker it eq 3599*9880d681SAndroid Build Coastguard Worker uxtab16eq r1, r2, r3, ror #24 3600*9880d681SAndroid Build Coastguard Worker 3601*9880d681SAndroid Build Coastguard Worker@ CHECK: it ge @ encoding: [0xa8,0xbf] 3602*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16ge r0, r1, r4 @ encoding: [0x31,0xfa,0x84,0xf0] 3603*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16 r6, r2, r7 @ encoding: [0x32,0xfa,0x87,0xf6] 3604*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16 r3, r5, r8, ror #8 @ encoding: [0x35,0xfa,0x98,0xf3] 3605*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16 r3, r2, r1, ror #16 @ encoding: [0x32,0xfa,0xa1,0xf3] 3606*9880d681SAndroid Build Coastguard Worker@ CHECK: it eq @ encoding: [0x08,0xbf] 3607*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16eq r1, r2, r3, ror #24 @ encoding: [0x32,0xfa,0xb3,0xf1] 3608*9880d681SAndroid Build Coastguard Worker 3609*9880d681SAndroid Build Coastguard Worker 3610*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3611*9880d681SAndroid Build Coastguard Worker@ UXTAH 3612*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3613*9880d681SAndroid Build Coastguard Worker uxtah r1, r3, r9 3614*9880d681SAndroid Build Coastguard Worker it hi 3615*9880d681SAndroid Build Coastguard Worker uxtahhi r6, r1, r6, ror #0 3616*9880d681SAndroid Build Coastguard Worker uxtah r3, r8, r3, ror #8 3617*9880d681SAndroid Build Coastguard Worker it lo 3618*9880d681SAndroid Build Coastguard Worker uxtahlo r2, r2, r4, ror #16 3619*9880d681SAndroid Build Coastguard Worker uxtah r9, r3, r3, ror #24 3620*9880d681SAndroid Build Coastguard Worker 3621*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah r1, r3, r9 @ encoding: [0x13,0xfa,0x89,0xf1] 3622*9880d681SAndroid Build Coastguard Worker@ CHECK: it hi @ encoding: [0x88,0xbf] 3623*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtahhi r6, r1, r6 @ encoding: [0x11,0xfa,0x86,0xf6] 3624*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah r3, r8, r3, ror #8 @ encoding: [0x18,0xfa,0x93,0xf3] 3625*9880d681SAndroid Build Coastguard Worker@ CHECK: it lo @ encoding: [0x38,0xbf] 3626*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtahlo r2, r2, r4, ror #16 @ encoding: [0x12,0xfa,0xa4,0xf2] 3627*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah r9, r3, r3, ror #24 @ encoding: [0x13,0xfa,0xb3,0xf9] 3628*9880d681SAndroid Build Coastguard Worker 3629*9880d681SAndroid Build Coastguard Worker 3630*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3631*9880d681SAndroid Build Coastguard Worker@ UXTB 3632*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3633*9880d681SAndroid Build Coastguard Worker it ge 3634*9880d681SAndroid Build Coastguard Worker uxtbge r2, r4 3635*9880d681SAndroid Build Coastguard Worker uxtb r5, r6, ror #0 3636*9880d681SAndroid Build Coastguard Worker uxtb r6, r9, ror #8 3637*9880d681SAndroid Build Coastguard Worker it cc 3638*9880d681SAndroid Build Coastguard Worker uxtbcc r5, r1, ror #16 3639*9880d681SAndroid Build Coastguard Worker uxtb r8, r3, ror #24 3640*9880d681SAndroid Build Coastguard Worker uxtb.w r7, r8 3641*9880d681SAndroid Build Coastguard Worker 3642*9880d681SAndroid Build Coastguard Worker@ CHECK: it ge @ encoding: [0xa8,0xbf] 3643*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtbge r2, r4 @ encoding: [0xe2,0xb2] 3644*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb r5, r6 @ encoding: [0xf5,0xb2] 3645*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb.w r6, r9, ror #8 @ encoding: [0x5f,0xfa,0x99,0xf6] 3646*9880d681SAndroid Build Coastguard Worker@ CHECK: it lo @ encoding: [0x38,0xbf] 3647*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtblo.w r5, r1, ror #16 @ encoding: [0x5f,0xfa,0xa1,0xf5] 3648*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb.w r8, r3, ror #24 @ encoding: [0x5f,0xfa,0xb3,0xf8] 3649*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb.w r7, r8 @ encoding: [0x5f,0xfa,0x88,0xf7] 3650*9880d681SAndroid Build Coastguard Worker 3651*9880d681SAndroid Build Coastguard Worker 3652*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3653*9880d681SAndroid Build Coastguard Worker@ UXTB16 3654*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3655*9880d681SAndroid Build Coastguard Worker uxtb16 r1, r4 3656*9880d681SAndroid Build Coastguard Worker uxtb16 r6, r7, ror #0 3657*9880d681SAndroid Build Coastguard Worker it cs 3658*9880d681SAndroid Build Coastguard Worker uxtb16cs r3, r5, ror #8 3659*9880d681SAndroid Build Coastguard Worker uxtb16 r3, r1, ror #16 3660*9880d681SAndroid Build Coastguard Worker it ge 3661*9880d681SAndroid Build Coastguard Worker uxtb16ge r2, r3, ror #24 3662*9880d681SAndroid Build Coastguard Worker 3663*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16 r1, r4 @ encoding: [0x3f,0xfa,0x84,0xf1] 3664*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16 r6, r7 @ encoding: [0x3f,0xfa,0x87,0xf6] 3665*9880d681SAndroid Build Coastguard Worker@ CHECK: it hs @ encoding: [0x28,0xbf] 3666*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16hs r3, r5, ror #8 @ encoding: [0x3f,0xfa,0x95,0xf3] 3667*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16 r3, r1, ror #16 @ encoding: [0x3f,0xfa,0xa1,0xf3] 3668*9880d681SAndroid Build Coastguard Worker@ CHECK: it ge @ encoding: [0xa8,0xbf] 3669*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16ge r2, r3, ror #24 @ encoding: [0x3f,0xfa,0xb3,0xf2] 3670*9880d681SAndroid Build Coastguard Worker 3671*9880d681SAndroid Build Coastguard Worker 3672*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3673*9880d681SAndroid Build Coastguard Worker@ UXTH 3674*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3675*9880d681SAndroid Build Coastguard Worker it ne 3676*9880d681SAndroid Build Coastguard Worker uxthne r3, r9 3677*9880d681SAndroid Build Coastguard Worker uxth r1, r6, ror #0 3678*9880d681SAndroid Build Coastguard Worker uxth r3, r8, ror #8 3679*9880d681SAndroid Build Coastguard Worker it le 3680*9880d681SAndroid Build Coastguard Worker uxthle r2, r2, ror #16 3681*9880d681SAndroid Build Coastguard Worker uxth r9, r3, ror #24 3682*9880d681SAndroid Build Coastguard Worker uxth.w r7, r8 3683*9880d681SAndroid Build Coastguard Worker 3684*9880d681SAndroid Build Coastguard Worker@ CHECK: it ne @ encoding: [0x18,0xbf] 3685*9880d681SAndroid Build Coastguard Worker@ CHECK: uxthne.w r3, r9 @ encoding: [0x1f,0xfa,0x89,0xf3] 3686*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth r1, r6 @ encoding: [0xb1,0xb2] 3687*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth.w r3, r8, ror #8 @ encoding: [0x1f,0xfa,0x98,0xf3] 3688*9880d681SAndroid Build Coastguard Worker@ CHECK: it le @ encoding: [0xd8,0xbf] 3689*9880d681SAndroid Build Coastguard Worker@ CHECK: uxthle.w r2, r2, ror #16 @ encoding: [0x1f,0xfa,0xa2,0xf2] 3690*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth.w r9, r3, ror #24 @ encoding: [0x1f,0xfa,0xb3,0xf9] 3691*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth.w r7, r8 @ encoding: [0x1f,0xfa,0x88,0xf7] 3692*9880d681SAndroid Build Coastguard Worker 3693*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3694*9880d681SAndroid Build Coastguard Worker@ WFE/WFI/YIELD/HINT 3695*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3696*9880d681SAndroid Build Coastguard Worker wfe 3697*9880d681SAndroid Build Coastguard Worker wfi 3698*9880d681SAndroid Build Coastguard Worker yield 3699*9880d681SAndroid Build Coastguard Worker itet lt 3700*9880d681SAndroid Build Coastguard Worker wfelt 3701*9880d681SAndroid Build Coastguard Worker wfige 3702*9880d681SAndroid Build Coastguard Worker yieldlt 3703*9880d681SAndroid Build Coastguard Worker hint.w #4 3704*9880d681SAndroid Build Coastguard Worker hint.w #3 3705*9880d681SAndroid Build Coastguard Worker hint.w #2 3706*9880d681SAndroid Build Coastguard Worker hint.w #1 3707*9880d681SAndroid Build Coastguard Worker hint.w #0 3708*9880d681SAndroid Build Coastguard Worker hint #4 3709*9880d681SAndroid Build Coastguard Worker hint #3 3710*9880d681SAndroid Build Coastguard Worker hint #2 3711*9880d681SAndroid Build Coastguard Worker hint #1 3712*9880d681SAndroid Build Coastguard Worker hint #0 3713*9880d681SAndroid Build Coastguard Worker 3714*9880d681SAndroid Build Coastguard Worker itet lt 3715*9880d681SAndroid Build Coastguard Worker hintlt #15 3716*9880d681SAndroid Build Coastguard Worker hintge #16 3717*9880d681SAndroid Build Coastguard Worker hintlt #239 3718*9880d681SAndroid Build Coastguard Worker 3719*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe @ encoding: [0x20,0xbf] 3720*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi @ encoding: [0x30,0xbf] 3721*9880d681SAndroid Build Coastguard Worker@ CHECK: yield @ encoding: [0x10,0xbf] 3722*9880d681SAndroid Build Coastguard Worker@ CHECK: itet lt @ encoding: [0xb6,0xbf] 3723*9880d681SAndroid Build Coastguard Worker@ CHECK: wfelt @ encoding: [0x20,0xbf] 3724*9880d681SAndroid Build Coastguard Worker@ CHECK: wfige @ encoding: [0x30,0xbf] 3725*9880d681SAndroid Build Coastguard Worker@ CHECK: yieldlt @ encoding: [0x10,0xbf] 3726*9880d681SAndroid Build Coastguard Worker@ CHECK: sev.w @ encoding: [0xaf,0xf3,0x04,0x80] 3727*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi.w @ encoding: [0xaf,0xf3,0x03,0x80] 3728*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe.w @ encoding: [0xaf,0xf3,0x02,0x80] 3729*9880d681SAndroid Build Coastguard Worker@ CHECK: yield.w @ encoding: [0xaf,0xf3,0x01,0x80] 3730*9880d681SAndroid Build Coastguard Worker@ CHECK: nop.w @ encoding: [0xaf,0xf3,0x00,0x80] 3731*9880d681SAndroid Build Coastguard Worker@ CHECK: sev @ encoding: [0x40,0xbf] 3732*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi @ encoding: [0x30,0xbf] 3733*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe @ encoding: [0x20,0xbf] 3734*9880d681SAndroid Build Coastguard Worker@ CHECK: yield @ encoding: [0x10,0xbf] 3735*9880d681SAndroid Build Coastguard Worker@ CHECK: nop @ encoding: [0x00,0xbf] 3736*9880d681SAndroid Build Coastguard Worker 3737*9880d681SAndroid Build Coastguard Worker@ CHECK: itet lt @ encoding: [0xb6,0xbf] 3738*9880d681SAndroid Build Coastguard Worker@ CHECK: hintlt #15 @ encoding: [0xf0,0xbf] 3739*9880d681SAndroid Build Coastguard Worker@ CHECK: hintge.w #16 @ encoding: [0xaf,0xf3,0x10,0x80] 3740*9880d681SAndroid Build Coastguard Worker@ CHECK: hintlt.w #239 @ encoding: [0xaf,0xf3,0xef,0x80] 3741*9880d681SAndroid Build Coastguard Worker 3742*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3743*9880d681SAndroid Build Coastguard Worker@ Unallocated wide/narrow hints 3744*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3745*9880d681SAndroid Build Coastguard Worker hint #7 3746*9880d681SAndroid Build Coastguard Worker hint.w #7 3747*9880d681SAndroid Build Coastguard Worker@ CHECK: hint #7 @ encoding: [0x70,0xbf] 3748*9880d681SAndroid Build Coastguard Worker@ CHECK: hint.w #7 @ encoding: [0xaf,0xf3,0x07,0x80] 3749*9880d681SAndroid Build Coastguard Worker 3750*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3751*9880d681SAndroid Build Coastguard Worker@ Alternate syntax for LDR*(literal) encodings 3752*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3753*9880d681SAndroid Build Coastguard Worker ldrb r11, [pc, #22] 3754*9880d681SAndroid Build Coastguard Worker ldrh r11, [pc, #22] 3755*9880d681SAndroid Build Coastguard Worker ldrsb r11, [pc, #22] 3756*9880d681SAndroid Build Coastguard Worker ldrsh r11, [pc, #22] 3757*9880d681SAndroid Build Coastguard Worker ldr.w r11, [pc, #22] 3758*9880d681SAndroid Build Coastguard Worker ldrb.w r11, [pc, #22] 3759*9880d681SAndroid Build Coastguard Worker ldrh.w r11, [pc, #22] 3760*9880d681SAndroid Build Coastguard Worker ldrsb.w r11, [pc, #22] 3761*9880d681SAndroid Build Coastguard Worker ldrsh.w r11, [pc, #22] 3762*9880d681SAndroid Build Coastguard Worker 3763*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r11, [pc, #22] @ encoding: [0x9f,0xf8,0x16,0xb0] 3764*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r11, [pc, #22] @ encoding: [0xbf,0xf8,0x16,0xb0] 3765*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r11, [pc, #22] @ encoding: [0x9f,0xf9,0x16,0xb0] 3766*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r11, [pc, #22] @ encoding: [0xbf,0xf9,0x16,0xb0] 3767*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r11, [pc, #22] @ encoding: [0xdf,0xf8,0x16,0xb0] 3768*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r11, [pc, #22] @ encoding: [0x9f,0xf8,0x16,0xb0] 3769*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r11, [pc, #22] @ encoding: [0xbf,0xf8,0x16,0xb0] 3770*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r11, [pc, #22] @ encoding: [0x9f,0xf9,0x16,0xb0] 3771*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r11, [pc, #22] @ encoding: [0xbf,0xf9,0x16,0xb0] 3772*9880d681SAndroid Build Coastguard Worker 3773*9880d681SAndroid Build Coastguard Worker ldr r11, [pc, #-22] 3774*9880d681SAndroid Build Coastguard Worker ldrb r11, [pc, #-22] 3775*9880d681SAndroid Build Coastguard Worker ldrh r11, [pc, #-22] 3776*9880d681SAndroid Build Coastguard Worker ldrsb r11, [pc, #-22] 3777*9880d681SAndroid Build Coastguard Worker ldrsh r11, [pc, #-22] 3778*9880d681SAndroid Build Coastguard Worker ldr.w r11, [pc, #-22] 3779*9880d681SAndroid Build Coastguard Worker ldrb.w r11, [pc, #-22] 3780*9880d681SAndroid Build Coastguard Worker ldrh.w r11, [pc, #-22] 3781*9880d681SAndroid Build Coastguard Worker ldrsb.w r11, [pc, #-22] 3782*9880d681SAndroid Build Coastguard Worker ldrsh.w r11, [pc, #-22] 3783*9880d681SAndroid Build Coastguard Worker 3784*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r11, [pc, #-22] @ encoding: [0x5f,0xf8,0x16,0xb0] 3785*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r11, [pc, #-22] @ encoding: [0x1f,0xf8,0x16,0xb0] 3786*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r11, [pc, #-22] @ encoding: [0x3f,0xf8,0x16,0xb0] 3787*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r11, [pc, #-22] @ encoding: [0x1f,0xf9,0x16,0xb0] 3788*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r11, [pc, #-22] @ encoding: [0x3f,0xf9,0x16,0xb0] 3789*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr.w r11, [pc, #-22] @ encoding: [0x5f,0xf8,0x16,0xb0] 3790*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb.w r11, [pc, #-22] @ encoding: [0x1f,0xf8,0x16,0xb0] 3791*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh.w r11, [pc, #-22] @ encoding: [0x3f,0xf8,0x16,0xb0] 3792*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb.w r11, [pc, #-22] @ encoding: [0x1f,0xf9,0x16,0xb0] 3793*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh.w r11, [pc, #-22] @ encoding: [0x3f,0xf9,0x16,0xb0] 3794*9880d681SAndroid Build Coastguard Worker 3795*9880d681SAndroid Build Coastguard Worker@ rdar://12596361 3796*9880d681SAndroid Build Coastguard Worker ldr r1, [pc, #12] 3797*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr r1, [pc, #12] @ encoding: [0x03,0x49] 3798*9880d681SAndroid Build Coastguard Worker 3799*9880d681SAndroid Build Coastguard Worker@ rdar://14214063 3800*9880d681SAndroid Build Coastguard Worker subs pc, lr, #4 3801*9880d681SAndroid Build Coastguard Worker@ CHECK: subs pc, lr, #4 @ encoding: [0xde,0xf3,0x04,0x8f] 3802