brintos

brintos / llvm-project-archived public Read only

0
0
Text · 176.3 KiB · 98768b5 Raw
4171 lines · plain
1@ RUN: llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -show-encoding < %s | FileCheck %s2@ RUN: llvm-mc -triple=thumbebv7-unknown-unknown -mcpu=cortex-a8 -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s3  .syntax unified4  .globl _func5 6@ Check that the assembler can handle the documented syntax from the ARM ARM.7@ For complex constructs like shifter operands, check more thoroughly for them8@ once then spot check that following instructions accept the form generally.9@ This gives us good coverage while keeping the overall size of the test10@ more reasonable.11 12 13@ FIXME: Some 3-operand instructions have a 2-operand assembly syntax.14 15_func:16@ CHECK: _func17 18@------------------------------------------------------------------------------19@ ADC (immediate)20@------------------------------------------------------------------------------21        adc r0, r1, #422        adcs r0, r1, #023        adc r1, r2, #25524        adc r3, r7, #0x0055005525        adc r8, r12, #0xaa00aa0026        adc r9, r7, #0xa5a5a5a527        adc r5, r3, #0x8700000028        adc r4, r2, #0x7f80000029        adc r4, r2, #0x0000068030        adc r0, #131        adc r1, #0x7f80000032 33@ CHECK: adc	r0, r1, #4              @ encoding: [0x41,0xf1,0x04,0x00]34@ CHECK: adcs	r0, r1, #0              @ encoding: [0x51,0xf1,0x00,0x00]35@ CHECK: adc	r1, r2, #255            @ encoding: [0x42,0xf1,0xff,0x01]36@ CHECK: adc	r3, r7, #5570645        @ encoding: [0x47,0xf1,0x55,0x13]37@ CHECK: adc	r8, r12, #2852170240    @ encoding: [0x4c,0xf1,0xaa,0x28]38@ CHECK: adc	r9, r7, #2779096485     @ encoding: [0x47,0xf1,0xa5,0x39]39@ CHECK: adc	r5, r3, #2264924160     @ encoding: [0x43,0xf1,0x07,0x45]40@ CHECK: adc	r4, r2, #2139095040     @ encoding: [0x42,0xf1,0xff,0x44]41@ CHECK: adc	r4, r2, #1664           @ encoding: [0x42,0xf5,0xd0,0x64]42@ CHECK: adc	r0, r0, #1              @ encoding: [0x40,0xf1,0x01,0x00]43@ CHECK: adc	r1, r1, #2139095040     @ encoding: [0x41,0xf1,0xff,0x41]44 45@------------------------------------------------------------------------------46@ ADC (register)47@------------------------------------------------------------------------------48        adc r4, r5, r649        adcs r4, r5, r650        adc.w r9, r1, r351        adcs.w r9, r1, r352        adc	r0, r1, r3, ror #453        adcs	r0, r1, r3, lsl #754        adc.w	r0, r1, r3, lsr #3155        adcs.w	r0, r1, r3, asr #3256        adc r4, r557        adc.w r9, r158        adc	r0, r1, ror #459        adc.w	r0, r1, lsr #3160 61@ CHECK: adc.w	r4, r5, r6              @ encoding: [0x45,0xeb,0x06,0x04]62@ CHECK: adcs.w	r4, r5, r6              @ encoding: [0x55,0xeb,0x06,0x04]63@ CHECK: adc.w	r9, r1, r3              @ encoding: [0x41,0xeb,0x03,0x09]64@ CHECK: adcs.w	r9, r1, r3              @ encoding: [0x51,0xeb,0x03,0x09]65@ CHECK: adc.w	r0, r1, r3, ror #4      @ encoding: [0x41,0xeb,0x33,0x10]66@ CHECK: adcs.w	r0, r1, r3, lsl #7      @ encoding: [0x51,0xeb,0xc3,0x10]67@ CHECK: adc.w	r0, r1, r3, lsr #31     @ encoding: [0x41,0xeb,0xd3,0x70]68@ CHECK: adcs.w	r0, r1, r3, asr #32     @ encoding: [0x51,0xeb,0x23,0x00]69@ CHECK: adc.w	r4, r4, r5              @ encoding: [0x44,0xeb,0x05,0x04]70@ CHECK: adc.w	r9, r9, r1              @ encoding: [0x49,0xeb,0x01,0x09]71@ CHECK: adc.w	r0, r0, r1, ror #4      @ encoding: [0x40,0xeb,0x31,0x10]72@ CHECK: adc.w	r0, r0, r1, lsr #31     @ encoding: [0x40,0xeb,0xd1,0x70]73 74 75@------------------------------------------------------------------------------76@ ADD (immediate)77@------------------------------------------------------------------------------78        itet eq79        addeq r1, r2, #480        addwne r5, r3, #102381        addeq r4, r5, #29382        add r2, sp, #102483        add r2, r8, #0xff0084        add r2, r3, #25785        addw r2, r3, #25786        add r12, r6, #0x10087        addw r12, r6, #0x10088        adds r1, r2, #0x1f089	add r2, #190        add r0, r0, #3291        adds r2, r2, #5692        adds r2, #5693        add r1, r7, #0xcbcbcbcb94 95        adds.w r2, #-1696        adds.w r2, r2, #-1697        addw r2, #-1698        addw r2, #-1699        addw r2, r2, #-16100 101@ CHECK: itet	eq                      @ encoding: [0x0a,0xbf]102@ CHECK: addeq	r1, r2, #4              @ encoding: [0x11,0x1d]103@ CHECK: addwne	r5, r3, #1023           @ encoding: [0x03,0xf2,0xff,0x35]104@ CHECK: addweq	r4, r5, #293            @ encoding: [0x05,0xf2,0x25,0x14]105@ CHECK: add.w	r2, sp, #1024           @ encoding: [0x0d,0xf5,0x80,0x62]106@ CHECK: add.w	r2, r8, #65280          @ encoding: [0x08,0xf5,0x7f,0x42]107@ CHECK: addw	r2, r3, #257            @ encoding: [0x03,0xf2,0x01,0x12]108@ CHECK: addw	r2, r3, #257            @ encoding: [0x03,0xf2,0x01,0x12]109@ CHECK: add.w	r12, r6, #256           @ encoding: [0x06,0xf5,0x80,0x7c]110@ CHECK: addw	r12, r6, #256           @ encoding: [0x06,0xf2,0x00,0x1c]111@ CHECK: adds.w	r1, r2, #496            @ encoding: [0x12,0xf5,0xf8,0x71]112@ CHECK: add.w	r2, r2, #1              @ encoding: [0x02,0xf1,0x01,0x02]113@ CHECK: add.w	r0, r0, #32             @ encoding: [0x00,0xf1,0x20,0x00]114@ CHECK: adds	r2, #56                 @ encoding: [0x38,0x32]115@ CHECK: adds	r2, #56                 @ encoding: [0x38,0x32]116@ CHECK: add.w  r1, r7, #3419130827     @ encoding: [0x07,0xf1,0xcb,0x31]117 118@ CHECK: subs.w	r2, r2, #16             @ encoding: [0xb2,0xf1,0x10,0x02]119@ CHECK: subs.w	r2, r2, #16             @ encoding: [0xb2,0xf1,0x10,0x02]120@ CHECK: subw	r2, r2, #16             @ encoding: [0xa2,0xf2,0x10,0x02]121@ CHECK: subw	r2, r2, #16             @ encoding: [0xa2,0xf2,0x10,0x02]122@ CHECK: subw	r2, r2, #16             @ encoding: [0xa2,0xf2,0x10,0x02]123 124 125@------------------------------------------------------------------------------126@ ADD (register, not SP) A8.8.6127@------------------------------------------------------------------------------128        add r1, r2, r8129        add r5, r9, r2, asr #32130        adds r7, r3, r1, lsl #31131        adds.w r0, r3, r6, lsr #25132        add.w r4, r8, r1, ror #12133        adds r1, r1, r7              // T1134        it eq135        addeq r1, r3, r5             // T1136        it eq137        addeq r1, r1, r5             // T1138        it eq139        addseq r1, r3, r5            // T3140        it eq141        addseq r1, r1, r5            // T3142        add r10, r8143        add r10, r10, r8144        it eq145        addeq r1, r10                // T2146        it eq147        addseq r1, r10               // T3148 149@ CHECK: add.w	r1, r2, r8              @ encoding: [0x02,0xeb,0x08,0x01]150@ CHECK: add.w	r5, r9, r2, asr #32     @ encoding: [0x09,0xeb,0x22,0x05]151@ CHECK: adds.w	r7, r3, r1, lsl #31     @ encoding: [0x13,0xeb,0xc1,0x77]152@ CHECK: adds.w	r0, r3, r6, lsr #25     @ encoding: [0x13,0xeb,0x56,0x60]153@ CHECK: add.w	r4, r8, r1, ror #12     @ encoding: [0x08,0xeb,0x31,0x34]154@ CHECK: adds r1, r1, r7                @ encoding: [0xc9,0x19]155@ CHECK: it eq                          @ encoding: [0x08,0xbf]156@ CHECK: addeq r1, r3, r5               @ encoding: [0x59,0x19]157@ CHECK: it eq                          @ encoding: [0x08,0xbf]158@ CHECK: addeq r1, r1, r5               @ encoding: [0x49,0x19]159@ CHECK: it eq                          @ encoding: [0x08,0xbf]160@ CHECK: addseq.w r1, r3, r5            @ encoding: [0x13,0xeb,0x05,0x01]161@ CHECK: it eq                          @ encoding: [0x08,0xbf]162@ CHECK: addseq.w r1, r1, r5            @ encoding: [0x11,0xeb,0x05,0x01]163@ CHECK: add	r10, r8                 @ encoding: [0xc2,0x44]164@ CHECK: add	r10, r8                 @ encoding: [0xc2,0x44]165@ CHECK: it eq                          @ encoding: [0x08,0xbf]166@ CHECK: addeq r1, r10                  @ encoding: [0x51,0x44]167@ CHECK: it eq                          @ encoding: [0x08,0xbf]168@ CHECK: addseq.w r1, r1, r10           @ encoding: [0x11,0xeb,0x0a,0x01]169 170@------------------------------------------------------------------------------171@ ADD (SP plus immediate) A8.8.9172@------------------------------------------------------------------------------173        it eq174@ CHECK: it eq                          @ encoding: [0x08,0xbf]175        addeq r7, sp, #1020          // T1176@ CHECK: addeq	r7, sp, #1020           @ encoding: [0xff,0xaf]177 178        it eq179@ CHECK: it eq                          @ encoding: [0x08,0xbf]180        addeq sp, sp, #508           // T2181@ FIXME: ARMARM says 'addeq sp, sp, #508'182@ CHECK: addeq	sp, #508                @ encoding: [0x7f,0xb0]183 184        add r7, sp, #15              // T3185@ CHECK: add.w	r7, sp, #15             @ encoding: [0x0d,0xf1,0x0f,0x07]186        adds r7, sp, #16             // T3187@ CHECK: adds.w	r7, sp, #16             @ encoding: [0x1d,0xf1,0x10,0x07]188        add r8, sp, #16              // T3189@ CHECK: add.w	r8, sp, #16             @ encoding: [0x0d,0xf1,0x10,0x08]190 191        addw r6, sp, #1020           // T4192@ CHECK: addw	r6, sp, #1020           @ encoding: [0x0d,0xf2,0xfc,0x36]193        add r6, sp, #1019            // T4194@ CHECK: addw	r6, sp, #1019           @ encoding: [0x0d,0xf2,0xfb,0x36]195        addw    r0, r0, #4095196        addw    r0, #4095197        add     r0, r0, #4095198        add     r0, #4095199@ CHECK-NEXT: addw    r0, r0, #4095           @ encoding: [0x00,0xf6,0xff,0x70]200@ CHECK-NEXT: addw    r0, r0, #4095           @ encoding: [0x00,0xf6,0xff,0x70]201@ CHECK-NEXT: addw    r0, r0, #4095           @ encoding: [0x00,0xf6,0xff,0x70]202@ CHECK-NEXT: addw    r0, r0, #4095           @ encoding: [0x00,0xf6,0xff,0x70]203add.w r0, r0, #-4096204add r0, r0, #-4096205add.w r0, #-4096206add r0, #-4096207@ CHECK-NEXT: sub.w   r0, r0, #4096           @ encoding: [0xa0,0xf5,0x80,0x50]208@ CHECK-NEXT: sub.w   r0, r0, #4096           @ encoding: [0xa0,0xf5,0x80,0x50]209@ CHECK-NEXT: sub.w   r0, r0, #4096           @ encoding: [0xa0,0xf5,0x80,0x50]210@ CHECK-NEXT: sub.w   r0, r0, #4096           @ encoding: [0xa0,0xf5,0x80,0x50]211adds.w r0, r0, #-4096212adds r0, r0, #-4096213adds.w r0, #-4096214adds r0, #-4096215@ CHECK-NEXT: subs.w   r0, r0, #4096           @ encoding: [0xb0,0xf5,0x80,0x50]216@ CHECK-NEXT: subs.w   r0, r0, #4096           @ encoding: [0xb0,0xf5,0x80,0x50]217@ CHECK-NEXT: subs.w   r0, r0, #4096           @ encoding: [0xb0,0xf5,0x80,0x50]218@ CHECK-NEXT: subs.w   r0, r0, #4096           @ encoding: [0xb0,0xf5,0x80,0x50]219@------------------------------------------------------------------------------220@ ADD (SP plus immediate, writing to SP)221@------------------------------------------------------------------------------222        add.w sp, sp, #0x1fe0000 //T3223        add.w sp, #0x1fe0000224        add sp, sp, #0x1fe0000225        add sp, #0x1fe0000226@ CHECK-NEXT: add.w	sp, sp, #33423360       @ encoding: [0x0d,0xf1,0xff,0x7d]227@ CHECK-NEXT: add.w	sp, sp, #33423360       @ encoding: [0x0d,0xf1,0xff,0x7d]228@ CHECK-NEXT: add.w	sp, sp, #33423360       @ encoding: [0x0d,0xf1,0xff,0x7d]229@ CHECK-NEXT: add.w	sp, sp, #33423360       @ encoding: [0x0d,0xf1,0xff,0x7d]230        adds.w sp, sp, #0x1fe0000 //T3231        adds.w sp, #0x1fe0000232        adds sp, sp, #0x1fe0000233        adds sp, #0x1fe0000234@ CHECK-NEXT: adds.w	sp, sp, #33423360       @ encoding: [0x1d,0xf1,0xff,0x7d]235@ CHECK-NEXT: adds.w	sp, sp, #33423360       @ encoding: [0x1d,0xf1,0xff,0x7d]236@ CHECK-NEXT: adds.w	sp, sp, #33423360       @ encoding: [0x1d,0xf1,0xff,0x7d]237@ CHECK-NEXT: adds.w	sp, sp, #33423360       @ encoding: [0x1d,0xf1,0xff,0x7d]238        addw sp, sp, #4095 //T4239        add  sp, sp, #4095240        addw sp, #4095241        add sp, #4095242@ CHECK-NEXT:        addw    sp, sp, #4095           @ encoding: [0x0d,0xf6,0xff,0x7d]243@ CHECK-NEXT:        addw    sp, sp, #4095           @ encoding: [0x0d,0xf6,0xff,0x7d]244@ CHECK-NEXT:        addw    sp, sp, #4095           @ encoding: [0x0d,0xf6,0xff,0x7d]245@ CHECK-NEXT:        addw    sp, sp, #4095           @ encoding: [0x0d,0xf6,0xff,0x7d]246        add     sp, sp, #128 //T2247        add     sp, #128248@ CHECK-NEXT: add     sp, #128                @ encoding: [0x20,0xb0]249@ CHECK-NEXT: add     sp, #128                @ encoding: [0x20,0xb0]250        adds     sp, sp, #128 //T3251        adds     sp, #128252@ CHECK-NEXT: adds.w  sp, sp, #128            @ encoding: [0x1d,0xf1,0x80,0x0d]253@ CHECK-NEXT: adds.w  sp, sp, #128            @ encoding: [0x1d,0xf1,0x80,0x0d]254        add     r0, sp, #128 //T1255@ CHECK-NEXT: add     r0, sp, #128            @ encoding: [0x20,0xa8]256        adds     r0, sp, #128 //T3257@ CHECK-NEXT: adds.w  r0, sp, #128            @ encoding: [0x1d,0xf1,0x80,0x00]258        addw r0, sp, #128259@ CHECK-NEXT: addw    r0, sp, #128            @ encoding: [0x0d,0xf2,0x80,0x00]260@------------------------------------------------------------------------------261@ ADD (SP plus negative immediate, writing to SP)262@------------------------------------------------------------------------------263add sp, sp, #-508264add sp, #-508265@ CHECK-NEXT: sub     sp, #508                @ encoding: [0xff,0xb0]266@ CHECK-NEXT: sub     sp, #508                @ encoding: [0xff,0xb0]267addw sp, sp, #-4095268add sp, sp, #-4095269addw sp, #-4095270add sp, #-4095271@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]272@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]273@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]274@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]275add.w sp, sp, #-4096276add sp, sp, #-4096277add.w sp, #-4096278add sp, #-4096279@ CHECK-NEXT: sub.w   sp, sp, #4096           @ encoding: [0xad,0xf5,0x80,0x5d]280@ CHECK-NEXT: sub.w   sp, sp, #4096           @ encoding: [0xad,0xf5,0x80,0x5d]281@ CHECK-NEXT: sub.w   sp, sp, #4096           @ encoding: [0xad,0xf5,0x80,0x5d]282@ CHECK-NEXT: sub.w   sp, sp, #4096           @ encoding: [0xad,0xf5,0x80,0x5d]283adds.w sp, sp, #-4096284adds sp, sp, #-4096285adds.w sp, #-4096286adds sp, #-4096287@ CHECK-NEXT: subs.w  sp, sp, #4096           @ encoding: [0xbd,0xf5,0x80,0x5d]288@ CHECK-NEXT: subs.w  sp, sp, #4096           @ encoding: [0xbd,0xf5,0x80,0x5d]289@ CHECK-NEXT: subs.w  sp, sp, #4096           @ encoding: [0xbd,0xf5,0x80,0x5d]290@ CHECK-NEXT: subs.w  sp, sp, #4096           @ encoding: [0xbd,0xf5,0x80,0x5d]291@------------------------------------------------------------------------------292@ ADD (SP plus register) A8.8.10293@------------------------------------------------------------------------------294        it eq295@ CHECK: it eq                          @ encoding: [0x08,0xbf]296        addeq r8, sp, r8             // T1297@ CHECK: addeq	r8, sp, r8              @ encoding: [0xe8,0x44]298        it eq299@ CHECK: it eq                          @ encoding: [0x08,0xbf]300        addeq r8, sp                 // T1301@ CHECK: addeq	r8, sp                  @ encoding: [0xe8,0x44]302 303        it eq304@ CHECK: it eq                          @ encoding: [0x08,0xbf]305        addeq sp, r9                 // T2306@ CHECK: addeq	sp, r9                  @ encoding: [0xcd,0x44]307 308        add r2, sp, ip               // T3309@ CHECK: add.w r2, sp, r12              @ encoding: [0x0d,0xeb,0x0c,0x02]310        it eq311@ CHECK: it eq                          @ encoding: [0x08,0xbf]312        addeq r2, sp, ip             // T3313@ CHECK: addeq.w r2, sp, r12            @ encoding: [0x0d,0xeb,0x0c,0x02]314         add.w r0, sp, r0, ror #2315         add r0, sp, r0, ror #2316         add sp, r1, lsl #15317         adds.w r0, sp, r0, ror #2318         adds r0, sp, r0, ror #2319         adds.w sp, sp, r0, ror #31320         adds sp, sp, r0, ror #31321         adds sp, r0, ror #31322@ CHECK-NEXT: add.w   r0, sp, r0, ror #2      @ encoding: [0x0d,0xeb,0xb0,0x00]323@ CHECK-NEXT: add.w   r0, sp, r0, ror #2      @ encoding: [0x0d,0xeb,0xb0,0x00]324@ CHECK-NEXT: add.w   sp, sp, r1, lsl #15     @ encoding: [0x0d,0xeb,0xc1,0x3d]325@ CHECK-NEXT: adds.w  r0, sp, r0, ror #2      @ encoding: [0x1d,0xeb,0xb0,0x00]326@ CHECK-NEXT: adds.w  r0, sp, r0, ror #2      @ encoding: [0x1d,0xeb,0xb0,0x00]327@ CHECK-NEXT: adds.w  sp, sp, r0, ror #31     @ encoding: [0x1d,0xeb,0xf0,0x7d]328@ CHECK-NEXT: adds.w  sp, sp, r0, ror #31     @ encoding: [0x1d,0xeb,0xf0,0x7d]329@ CHECK-NEXT: adds.w  sp, sp, r0, ror #31     @ encoding: [0x1d,0xeb,0xf0,0x7d]330@------------------------------------------------------------------------------331@ FIXME: ADR332@------------------------------------------------------------------------------333 334        subw r11, pc, #3270335        adr.w r2, #3336        adr.w r11, #-826337        adr.w r1, #-0x0338 339@ CHECK: subw  r11, pc, #3270          @ encoding: [0xaf,0xf6,0xc6,0x4b]340@ CHECK: adr.w r2, #3                  @ encoding: [0x0f,0xf2,0x03,0x02]341@ CHECK: adr.w r11, #-826              @ encoding: [0xaf,0xf2,0x3a,0x3b]342@ CHECK: adr.w r1, #-0                 @ encoding: [0xaf,0xf2,0x00,0x01]343 344@------------------------------------------------------------------------------345@ AND (immediate)346@------------------------------------------------------------------------------347        and r2, r5, #0xff000348        ands r3, r12, #0xf349        and r1, #0xff350        and r1, r1, #0xff351        and r5, r4, #0xffffffff352        ands r1, r9, #0xffffffff353 354@ CHECK: and	r2, r5, #1044480        @ encoding: [0x05,0xf4,0x7f,0x22]355@ CHECK: ands	r3, r12, #15            @ encoding: [0x1c,0xf0,0x0f,0x03]356@ CHECK: and	r1, r1, #255            @ encoding: [0x01,0xf0,0xff,0x01]357@ CHECK: and	r1, r1, #255            @ encoding: [0x01,0xf0,0xff,0x01]358@ CHECK: and	r5, r4, #4294967295     @ encoding: [0x04,0xf0,0xff,0x35]359@ CHECK: ands	r1, r9, #4294967295     @ encoding: [0x19,0xf0,0xff,0x31]360 361@------------------------------------------------------------------------------362@ AND (register)363@------------------------------------------------------------------------------364        and r4, r9, r8365        and r1, r4, r8, asr #3366        ands r2, r1, r7, lsl #1367        ands.w r4, r5, r2, lsr #20368        and.w r9, r12, r1, ror #17369 370@ CHECK: and.w	r4, r9, r8              @ encoding: [0x09,0xea,0x08,0x04]371@ CHECK: and.w	r1, r4, r8, asr #3      @ encoding: [0x04,0xea,0xe8,0x01]372@ CHECK: ands.w	r2, r1, r7, lsl #1      @ encoding: [0x11,0xea,0x47,0x02]373@ CHECK: ands.w	r4, r5, r2, lsr #20     @ encoding: [0x15,0xea,0x12,0x54]374@ CHECK: and.w	r9, r12, r1, ror #17    @ encoding: [0x0c,0xea,0x71,0x49]375 376@------------------------------------------------------------------------------377@ ASR (immediate)378@------------------------------------------------------------------------------379        asr r2, r3, #12380        asrs r8, r3, #32381        asrs.w r2, r3, #1382        asr r2, r3, #4383        asrs r2, r12, #15384 385        asr r3, #19386        asrs r8, #2387        asrs.w r7, #5388        asr.w r12, #21389 390        asrs  r1, r2, #1391        itt eq392        asrseq r1, r2, #1393        asreq r1, r2, #1394 395@ CHECK: asr.w	r2, r3, #12             @ encoding: [0x4f,0xea,0x23,0x32]396@ CHECK: asrs.w	r8, r3, #32             @ encoding: [0x5f,0xea,0x23,0x08]397@ CHECK: asrs.w	r2, r3, #1              @ encoding: [0x5f,0xea,0x63,0x02]398@ CHECK: asr.w	r2, r3, #4              @ encoding: [0x4f,0xea,0x23,0x12]399@ CHECK: asrs.w	r2, r12, #15            @ encoding: [0x5f,0xea,0xec,0x32]400 401@ CHECK: asr.w	r3, r3, #19             @ encoding: [0x4f,0xea,0xe3,0x43]402@ CHECK: asrs.w	r8, r8, #2              @ encoding: [0x5f,0xea,0xa8,0x08]403@ CHECK: asrs.w	r7, r7, #5              @ encoding: [0x5f,0xea,0x67,0x17]404@ CHECK: asr.w	r12, r12, #21           @ encoding: [0x4f,0xea,0x6c,0x5c]405 406@ CHECK: asrs   r1, r2, #1              @ encoding: [0x51,0x10]407@ CHECK: itt    eq                      @ encoding: [0x04,0xbf]408@ CHECK: asrseq.w r1, r2, #1            @ encoding: [0x5f,0xea,0x62,0x01]409@ CHECK: asreq  r1, r2, #1              @ encoding: [0x51,0x10]410 411@------------------------------------------------------------------------------412@ ASR (register)413@------------------------------------------------------------------------------414        asr r3, r4, r2415        asr.w r1, r2416        asrs r3, r4, r8417 418@ CHECK: asr.w	r3, r4, r2              @ encoding: [0x44,0xfa,0x02,0xf3]419@ CHECK: asr.w	r1, r1, r2              @ encoding: [0x41,0xfa,0x02,0xf1]420@ CHECK: asrs.w	r3, r4, r8              @ encoding: [0x54,0xfa,0x08,0xf3]421 422 423@------------------------------------------------------------------------------424@ B425@------------------------------------------------------------------------------426        b.w   _bar427        beq.w   _bar428        it eq429        beq.w _bar430        bmi.w   #-183396431 432@ CHECK: b.w	_bar                    @ encoding: [A,0xf0'A',A,0x90'A']433@ CHECK:  @   fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch434@ CHECK-BE: b.w	_bar                    @ encoding: [0xf0'A',A,0x90'A',A]435@ CHECK-BE:  @   fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch436@ CHECK: beq.w	_bar                    @ encoding: [A,0xf0'A',A,0x80'A']437@ CHECK:  @   fixup A - offset: 0, value: _bar, kind: fixup_t2_condbranch438@ CHECK-BE: beq.w	_bar                    @ encoding: [0xf0'A',A,0x80'A',A]439@ CHECK-BE:  @   fixup A - offset: 0, value: _bar, kind: fixup_t2_condbranch440@ CHECK: it	eq                      @ encoding: [0x08,0xbf]441@ CHECK: beq.w	_bar                    @ encoding: [A,0xf0'A',A,0x90'A']442@ CHECK:  @   fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch443@ CHECK-BE: beq.w	_bar                    @ encoding: [0xf0'A',A,0x90'A',A]444@ CHECK-BE:  @   fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch445@ CHECK: bmi.w   #-183396                @ encoding: [0x13,0xf5,0xce,0xa9]446 447 448@------------------------------------------------------------------------------449@ BFC450@------------------------------------------------------------------------------451        bfc r5, #3, #17452        it lo453        bfccc r5, #3, #17454 455@ CHECK: bfc	r5, #3, #17             @ encoding: [0x6f,0xf3,0xd3,0x05]456@ CHECK: it	lo                      @ encoding: [0x38,0xbf]457@ CHECK: bfclo	r5, #3, #17             @ encoding: [0x6f,0xf3,0xd3,0x05]458 459 460@------------------------------------------------------------------------------461@ BFI462@------------------------------------------------------------------------------463        bfi r5, r2, #3, #17464        it ne465        bfine r5, r2, #3, #17466 467@ CHECK: bfi	r5, r2, #3, #17         @ encoding: [0x62,0xf3,0xd3,0x05]468@ CHECK: it	ne                      @ encoding: [0x18,0xbf]469@ CHECK: bfine	r5, r2, #3, #17         @ encoding: [0x62,0xf3,0xd3,0x05]470 471 472@------------------------------------------------------------------------------473@ BIC474@------------------------------------------------------------------------------475        bic r10, r1, #0xf476        bic r5, r2, #0xffffffff477        bics r11, r10, #0xffffffff478        bic r12, r3, r6479        bic r11, r2, r6, lsl #12480        bic r8, r4, r1, lsr #11481        bic r7, r5, r7, lsr #15482        bic r6, r7, r9, asr #32483        bic r5, r6, r8, ror #1484 485        @ destination register is optional486        bic r1, #0xf487        bic r1, r1488        bic r4, r2, lsl #31489        bic r6, r3, lsr #12490        bic r7, r4, lsr #7491        bic r8, r5, asr #15492        bic r12, r6, ror #29493 494@ CHECK: bic	r10, r1, #15            @ encoding: [0x21,0xf0,0x0f,0x0a]495@ CHECK: bic	r5, r2, #4294967295     @ encoding: [0x22,0xf0,0xff,0x35]496@ CHECK: bics	r11, r10, #4294967295   @ encoding: [0x3a,0xf0,0xff,0x3b]497@ CHECK: bic.w	r12, r3, r6             @ encoding: [0x23,0xea,0x06,0x0c]498@ CHECK: bic.w	r11, r2, r6, lsl #12    @ encoding: [0x22,0xea,0x06,0x3b]499@ CHECK: bic.w	r8, r4, r1, lsr #11     @ encoding: [0x24,0xea,0xd1,0x28]500@ CHECK: bic.w	r7, r5, r7, lsr #15     @ encoding: [0x25,0xea,0xd7,0x37]501@ CHECK: bic.w	r6, r7, r9, asr #32     @ encoding: [0x27,0xea,0x29,0x06]502@ CHECK: bic.w	r5, r6, r8, ror #1      @ encoding: [0x26,0xea,0x78,0x05]503 504@ CHECK: bic	r1, r1, #15             @ encoding: [0x21,0xf0,0x0f,0x01]505@ CHECK: bic.w	r1, r1, r1              @ encoding: [0x21,0xea,0x01,0x01]506@ CHECK: bic.w	r4, r4, r2, lsl #31     @ encoding: [0x24,0xea,0xc2,0x74]507@ CHECK: bic.w	r6, r6, r3, lsr #12     @ encoding: [0x26,0xea,0x13,0x36]508@ CHECK: bic.w	r7, r7, r4, lsr #7      @ encoding: [0x27,0xea,0xd4,0x17]509@ CHECK: bic.w	r8, r8, r5, asr #15     @ encoding: [0x28,0xea,0xe5,0x38]510@ CHECK: bic.w	r12, r12, r6, ror #29   @ encoding: [0x2c,0xea,0x76,0x7c]511 512@------------------------------------------------------------------------------513@ BKPT514@------------------------------------------------------------------------------515        it pl516        bkpt #234517 518@ CHECK: it pl                      @ encoding: [0x58,0xbf]519@ CHECK: bkpt #234                    @ encoding: [0xea,0xbe]520 521@------------------------------------------------------------------------------522@ BXJ523@------------------------------------------------------------------------------524        bxj r5525        it ne526        bxjne r7527 528@ CHECK: bxj	r5                      @ encoding: [0xc5,0xf3,0x00,0x8f]529@ CHECK: it	ne                      @ encoding: [0x18,0xbf]530@ CHECK: bxjne	r7                      @ encoding: [0xc7,0xf3,0x00,0x8f]531 532 533@------------------------------------------------------------------------------534@ CBZ/CBNZ535@------------------------------------------------------------------------------536        cbnz    r7, #6537        cbnz    r7, #12538        cbz   r6, _bar539        cbnz   r6, _bar540 541@ CHECK: cbnz    r7, #6                  @ encoding: [0x1f,0xb9]542@ CHECK: cbnz    r7, #12                 @ encoding: [0x37,0xb9]543@ CHECK: cbz	r6, _bar                @ encoding: [0x06'A',0xb1'A']544@ CHECK:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb545@ CHECK-BE: cbz	r6, _bar                @ encoding: [0xb1'A',0x06'A']546@ CHECK-BE:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb547@ CHECK: cbnz	r6, _bar                @ encoding: [0x06'A',0xb9'A']548@ CHECK:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb549@ CHECK-BE: cbnz	r6, _bar                @ encoding: [0xb9'A',0x06'A']550@ CHECK-BE:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb551 552 553@------------------------------------------------------------------------------554@ CDP/CDP2555@------------------------------------------------------------------------------556  cdp  p7, #1, c1, c1, c1, #4557  cdp2  p7, #1, c1, c1, c1, #4558 559@ CHECK: cdp	p7, #1, c1, c1, c1, #4  @ encoding: [0x11,0xee,0x81,0x17]560@ CHECK: cdp2	p7, #1, c1, c1, c1, #4  @ encoding: [0x11,0xfe,0x81,0x17]561 562 563@------------------------------------------------------------------------------564@ CLREX565@------------------------------------------------------------------------------566        clrex567        it ne568        clrexne569 570@ CHECK: clrex                           @ encoding: [0xbf,0xf3,0x2f,0x8f]571@ CHECK: it	ne                       @ encoding: [0x18,0xbf]572@ CHECK: clrexne                         @ encoding: [0xbf,0xf3,0x2f,0x8f]573 574 575@------------------------------------------------------------------------------576@ CLZ577@------------------------------------------------------------------------------578        clz r1, r2579        it eq580        clzeq r1, r2581 582@ CHECK: clz	r1, r2                  @ encoding: [0xb2,0xfa,0x82,0xf1]583@ CHECK: it	eq                      @ encoding: [0x08,0xbf]584@ CHECK: clzeq	r1, r2                  @ encoding: [0xb2,0xfa,0x82,0xf1]585 586 587@------------------------------------------------------------------------------588@ CMN589@------------------------------------------------------------------------------590        cmn r1, #0xf591        cmn r8, r6592        cmn r1, r6, lsl #10593        cmn r1, r6, lsr #10594        cmn sp, r6, lsr #10595        cmn r1, r6, asr #10596        cmn r1, r6, ror #10597 598@ CHECK: cmn.w	r1, #15                 @ encoding: [0x11,0xf1,0x0f,0x0f]599@ CHECK: cmn.w	r8, r6                  @ encoding: [0x18,0xeb,0x06,0x0f]600@ CHECK: cmn.w	r1, r6, lsl #10         @ encoding: [0x11,0xeb,0x86,0x2f]601@ CHECK: cmn.w	r1, r6, lsr #10         @ encoding: [0x11,0xeb,0x96,0x2f]602@ CHECK: cmn.w	sp, r6, lsr #10         @ encoding: [0x1d,0xeb,0x96,0x2f]603@ CHECK: cmn.w	r1, r6, asr #10         @ encoding: [0x11,0xeb,0xa6,0x2f]604@ CHECK: cmn.w	r1, r6, ror #10         @ encoding: [0x11,0xeb,0xb6,0x2f]605 606 607@------------------------------------------------------------------------------608@ CMP609@------------------------------------------------------------------------------610        cmp r5, #0xff00611        cmp.w r4, r12612        cmp r9, r6, lsl #12613        cmp r3, r7, lsr #31614        cmp sp, r6, lsr #1615        cmp r2, r5, asr #24616        cmp r1, r4, ror #15617        cmp r2, #-2618        cmp r9, #1619 620@ CHECK: cmp.w	r5, #65280              @ encoding: [0xb5,0xf5,0x7f,0x4f]621@ CHECK: cmp.w	r4, r12                 @ encoding: [0xb4,0xeb,0x0c,0x0f]622@ CHECK: cmp.w	r9, r6, lsl #12         @ encoding: [0xb9,0xeb,0x06,0x3f]623@ CHECK: cmp.w	r3, r7, lsr #31         @ encoding: [0xb3,0xeb,0xd7,0x7f]624@ CHECK: cmp.w	sp, r6, lsr #1          @ encoding: [0xbd,0xeb,0x56,0x0f]625@ CHECK: cmp.w	r2, r5, asr #24         @ encoding: [0xb2,0xeb,0x25,0x6f]626@ CHECK: cmp.w	r1, r4, ror #15         @ encoding: [0xb1,0xeb,0xf4,0x3f]627@ CHECK: cmn.w	r2, #2                  @ encoding: [0x12,0xf1,0x02,0x0f]628@ CHECK: cmp.w	r9, #1                  @ encoding: [0xb9,0xf1,0x01,0x0f]629 630@------------------------------------------------------------------------------631@ CPS632@------------------------------------------------------------------------------633 634        cpsie f635        cpsid a636        cpsie.w f637        cpsid.w a638        cpsie i, #3639        cpsie.w i, #3640        cpsid f, #9641        cpsid.w f, #9642        cps #0643        cps.w #0644 645@ CHECK: cpsie f                        @ encoding: [0x61,0xb6]646@ CHECK: cpsid a                        @ encoding: [0x74,0xb6]647@ CHECK: cpsie.w f                      @ encoding: [0xaf,0xf3,0x20,0x84]648@ CHECK: cpsid.w a                      @ encoding: [0xaf,0xf3,0x80,0x86]649@ CHECK: cpsie i, #3                    @ encoding: [0xaf,0xf3,0x43,0x85]650@ CHECK: cpsie i, #3                    @ encoding: [0xaf,0xf3,0x43,0x85]651@ CHECK: cpsid f, #9                    @ encoding: [0xaf,0xf3,0x29,0x87]652@ CHECK: cpsid f, #9                    @ encoding: [0xaf,0xf3,0x29,0x87]653@ CHECK: cps   #0                       @ encoding: [0xaf,0xf3,0x00,0x81]654@ CHECK: cps   #0                       @ encoding: [0xaf,0xf3,0x00,0x81]655 656@------------------------------------------------------------------------------657@ DBG658@------------------------------------------------------------------------------659        dbg #5660        dbg #0661        dbg #15662        dbg.w #0663        it ne664        dbgne.w #0665 666@ CHECK: dbg	#5                      @ encoding: [0xaf,0xf3,0xf5,0x80]667@ CHECK: dbg	#0                      @ encoding: [0xaf,0xf3,0xf0,0x80]668@ CHECK: dbg	#15                     @ encoding: [0xaf,0xf3,0xff,0x80]669@ CHECK: dbg	#0                      @ encoding: [0xaf,0xf3,0xf0,0x80]670@ CHECK: it	ne                      @ encoding: [0x18,0xbf]671@ CHECK: dbgne	#0                      @ encoding: [0xaf,0xf3,0xf0,0x80]672 673 674@------------------------------------------------------------------------------675@ DMB676@------------------------------------------------------------------------------677        dmb #0xf678        dmb #0xe679        dmb #0xd680        dmb #0xc681        dmb #0xb682        dmb #0xa683        dmb #0x9684        dmb #0x8685        dmb #0x7686        dmb #0x6687        dmb #0x5688        dmb #0x4689        dmb #0x3690        dmb #0x2691        dmb #0x1692        dmb #0x0693 694        dmb sy695        dmb.w sy696        dmb st697        dmb sh698        dmb ish699        dmb shst700        dmb ishst701        dmb un702        dmb nsh703        dmb unst704        dmb nshst705        dmb osh706        dmb oshst707        dmb708        dmb.w709 710@ CHECK: dmb	sy                      @ encoding: [0xbf,0xf3,0x5f,0x8f]711@ CHECK: dmb	st                      @ encoding: [0xbf,0xf3,0x5e,0x8f]712@ CHECK: dmb	#0xd                    @ encoding: [0xbf,0xf3,0x5d,0x8f]713@ CHECK: dmb	#0xc                    @ encoding: [0xbf,0xf3,0x5c,0x8f]714@ CHECK: dmb	ish                     @ encoding: [0xbf,0xf3,0x5b,0x8f]715@ CHECK: dmb	ishst                   @ encoding: [0xbf,0xf3,0x5a,0x8f]716@ CHECK: dmb	#0x9                    @ encoding: [0xbf,0xf3,0x59,0x8f]717@ CHECK: dmb	#0x8                    @ encoding: [0xbf,0xf3,0x58,0x8f]718@ CHECK: dmb	nsh                     @ encoding: [0xbf,0xf3,0x57,0x8f]719@ CHECK: dmb	nshst                   @ encoding: [0xbf,0xf3,0x56,0x8f]720@ CHECK: dmb	#0x5                    @ encoding: [0xbf,0xf3,0x55,0x8f]721@ CHECK: dmb	#0x4                    @ encoding: [0xbf,0xf3,0x54,0x8f]722@ CHECK: dmb	osh                     @ encoding: [0xbf,0xf3,0x53,0x8f]723@ CHECK: dmb	oshst                   @ encoding: [0xbf,0xf3,0x52,0x8f]724@ CHECK: dmb	#0x1                    @ encoding: [0xbf,0xf3,0x51,0x8f]725@ CHECK: dmb	#0x0                    @ encoding: [0xbf,0xf3,0x50,0x8f]726 727@ CHECK: dmb	sy                      @ encoding: [0xbf,0xf3,0x5f,0x8f]728@ CHECK: dmb	sy                      @ encoding: [0xbf,0xf3,0x5f,0x8f]729@ CHECK: dmb	st                      @ encoding: [0xbf,0xf3,0x5e,0x8f]730@ CHECK: dmb	ish                     @ encoding: [0xbf,0xf3,0x5b,0x8f]731@ CHECK: dmb	ish                     @ encoding: [0xbf,0xf3,0x5b,0x8f]732@ CHECK: dmb	ishst                   @ encoding: [0xbf,0xf3,0x5a,0x8f]733@ CHECK: dmb	ishst                   @ encoding: [0xbf,0xf3,0x5a,0x8f]734@ CHECK: dmb	nsh                     @ encoding: [0xbf,0xf3,0x57,0x8f]735@ CHECK: dmb	nsh                     @ encoding: [0xbf,0xf3,0x57,0x8f]736@ CHECK: dmb	nshst                   @ encoding: [0xbf,0xf3,0x56,0x8f]737@ CHECK: dmb	nshst                   @ encoding: [0xbf,0xf3,0x56,0x8f]738@ CHECK: dmb	osh                     @ encoding: [0xbf,0xf3,0x53,0x8f]739@ CHECK: dmb	oshst                   @ encoding: [0xbf,0xf3,0x52,0x8f]740@ CHECK: dmb	sy                      @ encoding: [0xbf,0xf3,0x5f,0x8f]741@ CHECK: dmb	sy                      @ encoding: [0xbf,0xf3,0x5f,0x8f]742 743 744@------------------------------------------------------------------------------745@ DSB746@------------------------------------------------------------------------------747        dsb #0xf748        dsb #0xe749        dsb #0xd750        dsb #0xc751        dsb #0xb752        dsb #0xa753        dsb #0x9754        dsb #0x8755        dsb #0x7756        dsb #0x6757        dsb #0x5758        dsb #0x4759        dsb #0x3760        dsb #0x2761        dsb #0x1762        dsb #0x0763 764        dsb sy765        dsb.w sy766        dsb st767        dsb sh768        dsb ish769        dsb shst770        dsb ishst771        dsb un772        dsb nsh773        dsb unst774        dsb nshst775        dsb osh776        dsb oshst777        dsb778        dsb.w779 780@ CHECK: dsb	sy                      @ encoding: [0xbf,0xf3,0x4f,0x8f]781@ CHECK: dsb	st                      @ encoding: [0xbf,0xf3,0x4e,0x8f]782@ CHECK: dsb	#0xd                    @ encoding: [0xbf,0xf3,0x4d,0x8f]783@ CHECK: dsb	#0xc                    @ encoding: [0xbf,0xf3,0x4c,0x8f]784@ CHECK: dsb	ish                     @ encoding: [0xbf,0xf3,0x4b,0x8f]785@ CHECK: dsb	ishst                   @ encoding: [0xbf,0xf3,0x4a,0x8f]786@ CHECK: dsb	#0x9                    @ encoding: [0xbf,0xf3,0x49,0x8f]787@ CHECK: dsb	#0x8                    @ encoding: [0xbf,0xf3,0x48,0x8f]788@ CHECK: dsb	nsh                     @ encoding: [0xbf,0xf3,0x47,0x8f]789@ CHECK: dsb	nshst                   @ encoding: [0xbf,0xf3,0x46,0x8f]790@ CHECK: dsb	#0x5                    @ encoding: [0xbf,0xf3,0x45,0x8f]791@ CHECK: pssbb                          @ encoding: [0xbf,0xf3,0x44,0x8f]792@ CHECK: dsb	osh                     @ encoding: [0xbf,0xf3,0x43,0x8f]793@ CHECK: dsb	oshst                   @ encoding: [0xbf,0xf3,0x42,0x8f]794@ CHECK: dsb	#0x1                    @ encoding: [0xbf,0xf3,0x41,0x8f]795@ CHECK: ssbb                           @ encoding: [0xbf,0xf3,0x40,0x8f]796 797@ CHECK: dsb	sy                      @ encoding: [0xbf,0xf3,0x4f,0x8f]798@ CHECK: dsb	sy                      @ encoding: [0xbf,0xf3,0x4f,0x8f]799@ CHECK: dsb	st                      @ encoding: [0xbf,0xf3,0x4e,0x8f]800@ CHECK: dsb	ish                     @ encoding: [0xbf,0xf3,0x4b,0x8f]801@ CHECK: dsb	ish                     @ encoding: [0xbf,0xf3,0x4b,0x8f]802@ CHECK: dsb	ishst                   @ encoding: [0xbf,0xf3,0x4a,0x8f]803@ CHECK: dsb	ishst                   @ encoding: [0xbf,0xf3,0x4a,0x8f]804@ CHECK: dsb	nsh                     @ encoding: [0xbf,0xf3,0x47,0x8f]805@ CHECK: dsb	nsh                     @ encoding: [0xbf,0xf3,0x47,0x8f]806@ CHECK: dsb	nshst                   @ encoding: [0xbf,0xf3,0x46,0x8f]807@ CHECK: dsb	nshst                   @ encoding: [0xbf,0xf3,0x46,0x8f]808@ CHECK: dsb	osh                     @ encoding: [0xbf,0xf3,0x43,0x8f]809@ CHECK: dsb	oshst                   @ encoding: [0xbf,0xf3,0x42,0x8f]810@ CHECK: dsb	sy                      @ encoding: [0xbf,0xf3,0x4f,0x8f]811@ CHECK: dsb	sy                      @ encoding: [0xbf,0xf3,0x4f,0x8f]812 813 814@------------------------------------------------------------------------------815@ EOR816@------------------------------------------------------------------------------817        eor r4, r5, #0xf000818        eor r4, r5, r6819        eor r4, r5, r6, lsl #5820        eor r4, r5, r6, lsr #5821        eor r4, r5, r6, lsr #5822        eor r4, r5, r6, asr #5823        eor r4, r5, r6, ror #5824 825@ CHECK: eor	r4, r5, #61440          @ encoding: [0x85,0xf4,0x70,0x44]826@ CHECK: eor.w	r4, r5, r6              @ encoding: [0x85,0xea,0x06,0x04]827@ CHECK: eor.w	r4, r5, r6, lsl #5      @ encoding: [0x85,0xea,0x46,0x14]828@ CHECK: eor.w	r4, r5, r6, lsr #5      @ encoding: [0x85,0xea,0x56,0x14]829@ CHECK: eor.w	r4, r5, r6, lsr #5      @ encoding: [0x85,0xea,0x56,0x14]830@ CHECK: eor.w	r4, r5, r6, asr #5      @ encoding: [0x85,0xea,0x66,0x14]831@ CHECK: eor.w	r4, r5, r6, ror #5      @ encoding: [0x85,0xea,0x76,0x14]832 833 834@------------------------------------------------------------------------------835@ ISB836@------------------------------------------------------------------------------837        isb sy838        isb.w sy839        isb840        isb.w841        isb #15842        isb #1843 844@ CHECK: isb	sy                      @ encoding: [0xbf,0xf3,0x6f,0x8f]845@ CHECK: isb	sy                      @ encoding: [0xbf,0xf3,0x6f,0x8f]846@ CHECK: isb	sy                      @ encoding: [0xbf,0xf3,0x6f,0x8f]847@ CHECK: isb	sy                      @ encoding: [0xbf,0xf3,0x6f,0x8f]848@ CHECK: isb	sy                      @ encoding: [0xbf,0xf3,0x6f,0x8f]849@ CHECK: isb	#0x1                    @ encoding: [0xbf,0xf3,0x61,0x8f]850 851 852@------------------------------------------------------------------------------853@ IT854@------------------------------------------------------------------------------855@ Test encodings of a few full IT blocks, not just the IT instruction856 857        iteet eq858        addeq r0, r1, r2859        nopne860        subne r5, r6, r7861        addeq r1, r2, #4862 863@ CHECK: iteet	eq                      @ encoding: [0x0d,0xbf]864@ CHECK: addeq	r0, r1, r2              @ encoding: [0x88,0x18]865@ CHECK: nopne                          @ encoding: [0x00,0xbf]866@ CHECK: subne	r5, r6, r7              @ encoding: [0xf5,0x1b]867@ CHECK: addeq	r1, r2, #4              @ encoding: [0x11,0x1d]868 869@ Should also work for UPPER CASE condition codes.870 871        ITEET EQ872        ADDEQ R0, R1, R2873        NOPNE874        SUBNE R5, R6, R7875        ADDEQ R1, R2, #4876 877@ CHECK: iteet	eq                      @ encoding: [0x0d,0xbf]878@ CHECK: addeq	r0, r1, r2              @ encoding: [0x88,0x18]879@ CHECK: nopne                          @ encoding: [0x00,0xbf]880@ CHECK: subne	r5, r6, r7              @ encoding: [0xf5,0x1b]881@ CHECK: addeq	r1, r2, #4              @ encoding: [0x11,0x1d]882 883@------------------------------------------------------------------------------884@ LDC{L}/LDC2{L}885@------------------------------------------------------------------------------886        ldc2 p0, c8, [r1, #4]887        ldc2 p1, c7, [r2]888        ldc2 p2, c6, [r3, #-224]889        ldc2 p3, c5, [r4, #-120]!890        ldc2 p4, c4, [r5], #16891        ldc2 p5, c3, [r6], #-72892        ldc2l p6, c2, [r7, #4]893        ldc2l p7, c1, [r8]894        ldc2l p8, c0, [r9, #-224]895        ldc2l p9, c1, [r10, #-120]!896        ldc2l p0, c2, [r11], #16897        ldc2l p1, c3, [r12], #-72898 899        ldc p12, c4, [r0, #4]900        ldc p13, c5, [r1]901        ldc p14, c6, [r2, #-224]902        ldc p15, c7, [r3, #-120]!903        ldc p5, c8, [r4], #16904        ldc p4, c9, [r5], #-72905        ldcl p3, c10, [r6, #4]906        ldcl p2, c11, [r7]907        ldcl p1, c12, [r8, #-224]908        ldcl p0, c13, [r9, #-120]!909        ldcl p6, c14, [r10], #16910        ldcl p7, c15, [r11], #-72911 912        ldc2 p2, c8, [r1], { 25 }913 914@ CHECK: ldc2	p0, c8, [r1, #4]        @ encoding: [0x91,0xfd,0x01,0x80]915@ CHECK: ldc2	p1, c7, [r2]            @ encoding: [0x92,0xfd,0x00,0x71]916@ CHECK: ldc2	p2, c6, [r3, #-224]     @ encoding: [0x13,0xfd,0x38,0x62]917@ CHECK: ldc2	p3, c5, [r4, #-120]!    @ encoding: [0x34,0xfd,0x1e,0x53]918@ CHECK: ldc2	p4, c4, [r5], #16       @ encoding: [0xb5,0xfc,0x04,0x44]919@ CHECK: ldc2	p5, c3, [r6], #-72      @ encoding: [0x36,0xfc,0x12,0x35]920@ CHECK: ldc2l	p6, c2, [r7, #4]        @ encoding: [0xd7,0xfd,0x01,0x26]921@ CHECK: ldc2l	p7, c1, [r8]            @ encoding: [0xd8,0xfd,0x00,0x17]922@ CHECK: ldc2l	p8, c0, [r9, #-224]     @ encoding: [0x59,0xfd,0x38,0x08]923@ CHECK: ldc2l	p9, c1, [r10, #-120]!   @ encoding: [0x7a,0xfd,0x1e,0x19]924@ CHECK: ldc2l	p0, c2, [r11], #16      @ encoding: [0xfb,0xfc,0x04,0x20]925@ CHECK: ldc2l	p1, c3, [r12], #-72     @ encoding: [0x7c,0xfc,0x12,0x31]926 927@ CHECK: ldc	p12, c4, [r0, #4]       @ encoding: [0x90,0xed,0x01,0x4c]928@ CHECK: ldc	p13, c5, [r1]           @ encoding: [0x91,0xed,0x00,0x5d]929@ CHECK: ldc	p14, c6, [r2, #-224]    @ encoding: [0x12,0xed,0x38,0x6e]930@ CHECK: ldc	p15, c7, [r3, #-120]!   @ encoding: [0x33,0xed,0x1e,0x7f]931@ CHECK: ldc	p5, c8, [r4], #16       @ encoding: [0xb4,0xec,0x04,0x85]932@ CHECK: ldc	p4, c9, [r5], #-72      @ encoding: [0x35,0xec,0x12,0x94]933@ CHECK: ldcl	p3, c10, [r6, #4]       @ encoding: [0xd6,0xed,0x01,0xa3]934@ CHECK: ldcl	p2, c11, [r7]           @ encoding: [0xd7,0xed,0x00,0xb2]935@ CHECK: ldcl	p1, c12, [r8, #-224]    @ encoding: [0x58,0xed,0x38,0xc1]936@ CHECK: ldcl	p0, c13, [r9, #-120]!   @ encoding: [0x79,0xed,0x1e,0xd0]937@ CHECK: ldcl	p6, c14, [r10], #16     @ encoding: [0xfa,0xec,0x04,0xe6]938@ CHECK: ldcl	p7, c15, [r11], #-72    @ encoding: [0x7b,0xec,0x12,0xf7]939 940@ CHECK: ldc2	p2, c8, [r1], {25}      @ encoding: [0x91,0xfc,0x19,0x82]941 942 943@------------------------------------------------------------------------------944@ LDMIA945@------------------------------------------------------------------------------946        ldmia.w r4, {r4, r5, r8, r9}947        ldmia.w r4, {r5, r6}948        ldmia.w r5!, {r3, r8}949        ldm.w r4, {r4, r5, r8, r9}950        ldm.w r4, {r5, r6}951        ldm.w r5!, {r3, r8}952        ldm.w r5!, {r1, r2}953        ldm.w r2, {r1, r2}954 955        ldmia r4, {r4, r5, r8, r9}956        ldmia r4, {r5, r6}957        ldmia r5!, {r3, r8}958        ldm r4, {r4, r5, r8, r9}959        ldm r4, {r5, r6}960        ldm r5!, {r3, r8}961        ldmfd r5!, {r3, r8}962        ldmia sp!, {r4-r11, pc}963 964@ CHECK: ldm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x94,0xe8,0x30,0x03]965@ CHECK: ldm.w	r4, {r5, r6}            @ encoding: [0x94,0xe8,0x60,0x00]966@ CHECK: ldm.w	r5!, {r3, r8}           @ encoding: [0xb5,0xe8,0x08,0x01]967@ CHECK: ldm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x94,0xe8,0x30,0x03]968@ CHECK: ldm.w	r4, {r5, r6}            @ encoding: [0x94,0xe8,0x60,0x00]969@ CHECK: ldm.w	r5!, {r3, r8}           @ encoding: [0xb5,0xe8,0x08,0x01]970@ CHECK: ldm.w	r5!, {r1, r2}           @ encoding: [0xb5,0xe8,0x06,0x00]971@ CHECK: ldm.w	r2, {r1, r2}            @ encoding: [0x92,0xe8,0x06,0x00]972 973@ CHECK: ldm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x94,0xe8,0x30,0x03]974@ CHECK: ldm.w	r4, {r5, r6}            @ encoding: [0x94,0xe8,0x60,0x00]975@ CHECK: ldm.w	r5!, {r3, r8}           @ encoding: [0xb5,0xe8,0x08,0x01]976@ CHECK: ldm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x94,0xe8,0x30,0x03]977@ CHECK: ldm.w	r4, {r5, r6}            @ encoding: [0x94,0xe8,0x60,0x00]978@ CHECK: ldm.w	r5!, {r3, r8}           @ encoding: [0xb5,0xe8,0x08,0x01]979@ CHECK: ldm.w	r5!, {r3, r8}           @ encoding: [0xb5,0xe8,0x08,0x01]980@ CHECK: pop.w	{r4, r5, r6, r7, r8, r9, r10, r11, pc} @ encoding: [0xbd,0xe8,0xf0,0x8f]981 982 983@------------------------------------------------------------------------------984@ LDMDB985@------------------------------------------------------------------------------986        ldmdb r4, {r4, r5, r8, r9}987        ldmdb r4, {r5, r6}988        ldmdb r5!, {r3, r8}989        ldmea r5!, {r3, r8}990        ldmdb.w r4, {r5, r6}991        ldmdb.w r5!, {r3, r8}992 993@ CHECK: ldmdb	r4, {r4, r5, r8, r9}    @ encoding: [0x14,0xe9,0x30,0x03]994@ CHECK: ldmdb	r4, {r5, r6}            @ encoding: [0x14,0xe9,0x60,0x00]995@ CHECK: ldmdb	r5!, {r3, r8}           @ encoding: [0x35,0xe9,0x08,0x01]996@ CHECK: ldmdb	r5!, {r3, r8}           @ encoding: [0x35,0xe9,0x08,0x01]997@ CHECK: ldmdb	r4, {r5, r6}            @ encoding: [0x14,0xe9,0x60,0x00]998@ CHECK: ldmdb	r5!, {r3, r8}           @ encoding: [0x35,0xe9,0x08,0x01]999 1000 1001@------------------------------------------------------------------------------1002@ LDR(immediate)1003@------------------------------------------------------------------------------1004        ldr r5, [r5, #-4]1005        ldr r5, [r6, #32]1006        ldr r5, [r6, #33]1007        ldr r5, [r6, #257]1008        ldr.w pc, [r7, #257]1009        ldr r2, [r4, #255]!1010        ldr r8, [sp, #4]!1011        ldr lr, [sp, #-4]!1012        ldr r2, [r4], #2551013        ldr r8, [sp], #41014        ldr lr, [sp], #-41015 1016@ CHECK: ldr	r5, [r5, #-4]           @ encoding: [0x55,0xf8,0x04,0x5c]1017@ CHECK: ldr	r5, [r6, #32]           @ encoding: [0x35,0x6a]1018@ CHECK: ldr.w	r5, [r6, #33]           @ encoding: [0xd6,0xf8,0x21,0x50]1019@ CHECK: ldr.w	r5, [r6, #257]          @ encoding: [0xd6,0xf8,0x01,0x51]1020@ CHECK: ldr.w	pc, [r7, #257]          @ encoding: [0xd7,0xf8,0x01,0xf1]1021@ CHECK: ldr	r2, [r4, #255]!         @ encoding: [0x54,0xf8,0xff,0x2f]1022@ CHECK: ldr	r8, [sp, #4]!           @ encoding: [0x5d,0xf8,0x04,0x8f]1023@ CHECK: ldr	lr, [sp, #-4]!          @ encoding: [0x5d,0xf8,0x04,0xed]1024@ CHECK: ldr	r2, [r4], #255          @ encoding: [0x54,0xf8,0xff,0x2b]1025@ CHECK: ldr	r8, [sp], #4            @ encoding: [0x5d,0xf8,0x04,0x8b]1026@ CHECK: ldr	lr, [sp], #-4           @ encoding: [0x5d,0xf8,0x04,0xe9]1027 1028 1029@------------------------------------------------------------------------------1030@ LDR(literal)1031@------------------------------------------------------------------------------1032        ldr.w r5, _foo1033        ldr   lr, (_strcmp-4)1034        ldr sp, _foo1035        ldr pc, _foo1036 1037@ CHECK: ldr.w	r5, _foo                @ encoding: [0x5f'A',0xf8'A',A,0x50'A']1038@ CHECK: @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_121039@ CHECK-BE: ldr.w	r5, _foo                @ encoding: [0xf8'A',0x5f'A',0x50'A',A]1040@ CHECK-BE: @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_121041@ CHECK: ldr.w	lr, _strcmp-4           @ encoding: [0x5f'A',0xf8'A',A,0xe0'A']1042@ CHECK: @   fixup A - offset: 0, value: _strcmp-4, kind: fixup_t2_ldst_pcrel_121043@ CHECK-BE: ldr.w	lr, _strcmp-4           @ encoding: [0xf8'A',0x5f'A',0xe0'A',A]1044@ CHECK-BE: @   fixup A - offset: 0, value: _strcmp-4, kind: fixup_t2_ldst_pcrel_121045@ CHECK: ldr.w sp, _foo                 @ encoding: [0x5f'A',0xf8'A',A,0xd0'A']1046@ CHECK: @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_121047@ CHECK-BE: ldr.w sp, _foo                 @ encoding: [0xf8'A',0x5f'A',0xd0'A',A]1048@ CHECK-BE: @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_121049@ CHECK: ldr.w pc, _foo                 @ encoding: [0x5f'A',0xf8'A',A,0xf0'A']1050@ CHECK: @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_121051@ CHECK-BE: ldr.w pc, _foo                 @ encoding: [0xf8'A',0x5f'A',0xf0'A',A]1052@ CHECK-BE: @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_121053 1054        ldr r7, [pc, #8]1055        ldr.n r7, [pc, #8]1056        ldr.w r7, [pc, #8]1057        ldr r4, [pc, #1020]1058        ldr r3, [pc, #-1020]1059        ldr r6, [pc, #1024]1060        ldr r0, [pc, #-1024]1061        ldr r2, [pc, #4095]1062        ldr r1, [pc, #-4095]1063        ldr r8, [pc, #132]1064        ldr pc, [pc, #256]1065        ldr pc, [pc, #-400]1066        ldr sp, [pc, #4]1067 1068@ CHECK: ldr	r7, [pc, #8]            @ encoding: [0x02,0x4f]1069@ CHECK: ldr	r7, [pc, #8]            @ encoding: [0x02,0x4f]1070@ CHECK: ldr.w	r7, [pc, #8]            @ encoding: [0xdf,0xf8,0x08,0x70]1071@ CHECK: ldr	r4, [pc, #1020]         @ encoding: [0xff,0x4c]1072@ CHECK: ldr.w	r3, [pc, #-1020]        @ encoding: [0x5f,0xf8,0xfc,0x33]1073@ CHECK: ldr.w	r6, [pc, #1024]         @ encoding: [0xdf,0xf8,0x00,0x64]1074@ CHECK: ldr.w	r0, [pc, #-1024]        @ encoding: [0x5f,0xf8,0x00,0x04]1075@ CHECK: ldr.w	r2, [pc, #4095]         @ encoding: [0xdf,0xf8,0xff,0x2f]1076@ CHECK: ldr.w	r1, [pc, #-4095]        @ encoding: [0x5f,0xf8,0xff,0x1f]1077@ CHECK: ldr.w	r8, [pc, #132]          @ encoding: [0xdf,0xf8,0x84,0x80]1078@ CHECK: ldr.w	pc, [pc, #256]          @ encoding: [0xdf,0xf8,0x00,0xf1]1079@ CHECK: ldr.w	pc, [pc, #-400]         @ encoding: [0x5f,0xf8,0x90,0xf1]1080@ CHECK: ldr.w  sp, [pc, #4]            @ encoding: [0xdf,0xf8,0x04,0xd0]1081 1082        ldrb  r9, [pc, #-0]1083        ldrsb r11, [pc, #-0]1084        ldrh  r10, [pc, #-0]1085        ldrsh r1, [pc, #-0]1086        ldr   r5, [pc, #-0]1087 1088@ CHECK: ldrb.w	r9, [pc, #-0]           @ encoding: [0x1f,0xf8,0x00,0x90]1089@ CHECK: ldrsb.w	r11, [pc, #-0]  @ encoding: [0x1f,0xf9,0x00,0xb0]1090@ CHECK: ldrh.w	r10, [pc, #-0]          @ encoding: [0x3f,0xf8,0x00,0xa0]1091@ CHECK: ldrsh.w	r1, [pc, #-0]   @ encoding: [0x3f,0xf9,0x00,0x10]1092@ CHECK: ldr.w	r5, [pc, #-0]           @ encoding: [0x5f,0xf8,0x00,0x50]1093 1094@------------------------------------------------------------------------------1095@ LDR(register)1096@------------------------------------------------------------------------------1097        ldr r1, [r8, r1]1098        ldr.w r4, [r5, r2]1099        ldr r6, [r0, r2, lsl #3]1100        ldr r8, [r8, r2, lsl #2]1101        ldr r7, [sp, r2, lsl #1]1102        ldr r7, [sp, r2, lsl #0]1103 1104@ CHECK: ldr.w	r1, [r8, r1]            @ encoding: [0x58,0xf8,0x01,0x10]1105@ CHECK: ldr.w	r4, [r5, r2]            @ encoding: [0x55,0xf8,0x02,0x40]1106@ CHECK: ldr.w	r6, [r0, r2, lsl #3]    @ encoding: [0x50,0xf8,0x32,0x60]1107@ CHECK: ldr.w	r8, [r8, r2, lsl #2]    @ encoding: [0x58,0xf8,0x22,0x80]1108@ CHECK: ldr.w	r7, [sp, r2, lsl #1]    @ encoding: [0x5d,0xf8,0x12,0x70]1109@ CHECK: ldr.w	r7, [sp, r2]            @ encoding: [0x5d,0xf8,0x02,0x70]1110 1111 1112@------------------------------------------------------------------------------1113@ LDRB(immediate)1114@------------------------------------------------------------------------------1115        ldrb r5, [r5, #-4]1116        ldrb r5, [r6, #32]1117        ldrb r5, [r6, #33]1118        ldrb r5, [r6, #257]1119        ldrb.w lr, [r7, #257]1120        ldrb r5, [r8, #255]!1121        ldrb r2, [r5, #4]!1122        ldrb r1, [r4, #-4]!1123        ldrb lr, [r3], #2551124        ldrb r9, [r2], #41125        ldrb r3, [sp], #-41126        ldrb.w r5, [r5, #-4]1127        ldrb.w r5, [r6, #32]1128        ldrb.w r5, [r8, #255]!1129        ldrb.w r9, [r2], #41130 1131@ CHECK: ldrb	r5, [r5, #-4]           @ encoding: [0x15,0xf8,0x04,0x5c]1132@ CHECK: ldrb.w	r5, [r6, #32]           @ encoding: [0x96,0xf8,0x20,0x50]1133@ CHECK: ldrb.w	r5, [r6, #33]           @ encoding: [0x96,0xf8,0x21,0x50]1134@ CHECK: ldrb.w	r5, [r6, #257]          @ encoding: [0x96,0xf8,0x01,0x51]1135@ CHECK: ldrb.w	lr, [r7, #257]          @ encoding: [0x97,0xf8,0x01,0xe1]1136@ CHECK: ldrb	r5, [r8, #255]!         @ encoding: [0x18,0xf8,0xff,0x5f]1137@ CHECK: ldrb	r2, [r5, #4]!           @ encoding: [0x15,0xf8,0x04,0x2f]1138@ CHECK: ldrb	r1, [r4, #-4]!          @ encoding: [0x14,0xf8,0x04,0x1d]1139@ CHECK: ldrb	lr, [r3], #255          @ encoding: [0x13,0xf8,0xff,0xeb]1140@ CHECK: ldrb	r9, [r2], #4            @ encoding: [0x12,0xf8,0x04,0x9b]1141@ CHECK: ldrb	r3, [sp], #-4           @ encoding: [0x1d,0xf8,0x04,0x39]1142@ CHECK: ldrb   r5, [r5, #-4]           @ encoding: [0x15,0xf8,0x04,0x5c]1143@ CHECK: ldrb.w	r5, [r6, #32]           @ encoding: [0x96,0xf8,0x20,0x50]1144@ CHECK: ldrb	r5, [r8, #255]!         @ encoding: [0x18,0xf8,0xff,0x5f]1145@ CHECK: ldrb	r9, [r2], #4            @ encoding: [0x12,0xf8,0x04,0x9b]1146 1147 1148@------------------------------------------------------------------------------1149@ LDRB(register)1150@------------------------------------------------------------------------------1151        ldrb r1, [r8, r1]1152        ldrb.w r4, [r5, r2]1153        ldrb r6, [r0, r2, lsl #3]1154        ldrb r8, [r8, r2, lsl #2]1155        ldrb r7, [sp, r2, lsl #1]1156        ldrb r7, [sp, r2, lsl #0]1157 1158@ CHECK: ldrb.w	r1, [r8, r1]            @ encoding: [0x18,0xf8,0x01,0x10]1159@ CHECK: ldrb.w	r4, [r5, r2]            @ encoding: [0x15,0xf8,0x02,0x40]1160@ CHECK: ldrb.w	r6, [r0, r2, lsl #3]    @ encoding: [0x10,0xf8,0x32,0x60]1161@ CHECK: ldrb.w	r8, [r8, r2, lsl #2]    @ encoding: [0x18,0xf8,0x22,0x80]1162@ CHECK: ldrb.w	r7, [sp, r2, lsl #1]    @ encoding: [0x1d,0xf8,0x12,0x70]1163@ CHECK: ldrb.w	r7, [sp, r2]            @ encoding: [0x1d,0xf8,0x02,0x70]1164 1165 1166@------------------------------------------------------------------------------1167@ LDRBT1168@------------------------------------------------------------------------------1169        ldrbt r1, [r2]1170        ldrbt r1, [r8, #0]1171        ldrbt r1, [r8, #3]1172        ldrbt r1, [r8, #255]1173 1174@ CHECK: ldrbt	r1, [r2]                @ encoding: [0x12,0xf8,0x00,0x1e]1175@ CHECK: ldrbt	r1, [r8]                @ encoding: [0x18,0xf8,0x00,0x1e]1176@ CHECK: ldrbt	r1, [r8, #3]            @ encoding: [0x18,0xf8,0x03,0x1e]1177@ CHECK: ldrbt	r1, [r8, #255]          @ encoding: [0x18,0xf8,0xff,0x1e]1178 1179 1180@------------------------------------------------------------------------------1181@ LDRD1182@------------------------------------------------------------------------------1183        ldrd r3, r5, [r6, #24]1184        ldrd r3, r5, [r6, #24]!1185        ldrd r3, r5, [r6], #41186        ldrd r3, r5, [r6], #-81187        ldrd r3, r5, [r6]1188        ldrd r8, r1, [r3, #0]1189        ldrd r0, r1, [r2, #-0]1190        ldrd r0, r1, [r2, #-0]!1191        ldrd r0, r1, [r2], #-01192 1193@ CHECK: ldrd	r3, r5, [r6, #24]       @ encoding: [0xd6,0xe9,0x06,0x35]1194@ CHECK: ldrd	r3, r5, [r6, #24]!      @ encoding: [0xf6,0xe9,0x06,0x35]1195@ CHECK: ldrd	r3, r5, [r6], #4        @ encoding: [0xf6,0xe8,0x01,0x35]1196@ CHECK: ldrd	r3, r5, [r6], #-8       @ encoding: [0x76,0xe8,0x02,0x35]1197@ CHECK: ldrd	r3, r5, [r6]            @ encoding: [0xd6,0xe9,0x00,0x35]1198@ CHECK: ldrd	r8, r1, [r3]            @ encoding: [0xd3,0xe9,0x00,0x81]1199@ CHECK: ldrd	r0, r1, [r2, #-0]       @ encoding: [0x52,0xe9,0x00,0x01]1200@ CHECK: ldrd	r0, r1, [r2, #-0]!      @ encoding: [0x72,0xe9,0x00,0x01]1201@ CHECK: ldrd	r0, r1, [r2], #-0       @ encoding: [0x72,0xe8,0x00,0x01]1202 1203 1204@------------------------------------------------------------------------------1205@ FIXME: LDRD(literal)1206@------------------------------------------------------------------------------1207 1208 1209@------------------------------------------------------------------------------1210@ LDREX/LDREXB/LDREXH/LDREXD1211@------------------------------------------------------------------------------1212        ldrex r1, [r4]1213        ldrex r8, [r4, #0]1214        ldrex r2, [sp, #128]1215        ldrexb r5, [r7]1216        ldrexh r9, [r12]1217        ldrexd r9, r3, [r4]1218 1219@ CHECK: ldrex	r1, [r4]                @ encoding: [0x54,0xe8,0x00,0x1f]1220@ CHECK: ldrex	r8, [r4]                @ encoding: [0x54,0xe8,0x00,0x8f]1221@ CHECK: ldrex	r2, [sp, #128]          @ encoding: [0x5d,0xe8,0x20,0x2f]1222@ CHECK: ldrexb	r5, [r7]                @ encoding: [0xd7,0xe8,0x4f,0x5f]1223@ CHECK: ldrexh	r9, [r12]               @ encoding: [0xdc,0xe8,0x5f,0x9f]1224@ CHECK: ldrexd	r9, r3, [r4]            @ encoding: [0xd4,0xe8,0x7f,0x93]1225 1226 1227@------------------------------------------------------------------------------1228@ LDRH(immediate)1229@------------------------------------------------------------------------------1230        ldrh r5, [r5, #-4]1231        ldrh r5, [r6, #32]1232        ldrh r5, [r6, #33]1233        ldrh r5, [r6, #257]1234        ldrh.w lr, [r7, #257]1235        ldrh r5, [r8, #255]!1236        ldrh r2, [r5, #4]!1237        ldrh r1, [r4, #-4]!1238        ldrh lr, [r3], #2551239        ldrh r9, [r2], #41240        ldrh r3, [sp], #-41241        ldrh.w r5, [r5, #-4]1242        ldrh.w r5, [r6, #32]1243        ldrh.w r5, [r8, #255]!1244        ldrh.w r9, [r2], #41245 1246@ CHECK: ldrh	r5, [r5, #-4]           @ encoding: [0x35,0xf8,0x04,0x5c]1247@ CHECK: ldrh	r5, [r6, #32]           @ encoding: [0x35,0x8c]1248@ CHECK: ldrh.w	r5, [r6, #33]           @ encoding: [0xb6,0xf8,0x21,0x50]1249@ CHECK: ldrh.w	r5, [r6, #257]          @ encoding: [0xb6,0xf8,0x01,0x51]1250@ CHECK: ldrh.w	lr, [r7, #257]          @ encoding: [0xb7,0xf8,0x01,0xe1]1251@ CHECK: ldrh	r5, [r8, #255]!         @ encoding: [0x38,0xf8,0xff,0x5f]1252@ CHECK: ldrh	r2, [r5, #4]!           @ encoding: [0x35,0xf8,0x04,0x2f]1253@ CHECK: ldrh	r1, [r4, #-4]!          @ encoding: [0x34,0xf8,0x04,0x1d]1254@ CHECK: ldrh	lr, [r3], #255          @ encoding: [0x33,0xf8,0xff,0xeb]1255@ CHECK: ldrh	r9, [r2], #4            @ encoding: [0x32,0xf8,0x04,0x9b]1256@ CHECK: ldrh	r3, [sp], #-4           @ encoding: [0x3d,0xf8,0x04,0x39]1257@ CHECK: ldrh	r5, [r5, #-4]           @ encoding: [0x35,0xf8,0x04,0x5c]1258@ CHECK: ldrh.w	r5, [r6, #32]           @ encoding: [0xb6,0xf8,0x20,0x50]1259@ CHECK: ldrh	r5, [r8, #255]!         @ encoding: [0x38,0xf8,0xff,0x5f]1260@ CHECK: ldrh	r9, [r2], #4            @ encoding: [0x32,0xf8,0x04,0x9b]1261 1262 1263@------------------------------------------------------------------------------1264@ LDRH(register)1265@------------------------------------------------------------------------------1266        ldrh r1, [r8, r1]1267        ldrh.w r4, [r5, r2]1268        ldrh r6, [r0, r2, lsl #3]1269        ldrh r8, [r8, r2, lsl #2]1270        ldrh r7, [sp, r2, lsl #1]1271        ldrh r7, [sp, r2, lsl #0]1272 1273@ CHECK: ldrh.w	r1, [r8, r1]            @ encoding: [0x38,0xf8,0x01,0x10]1274@ CHECK: ldrh.w	r4, [r5, r2]            @ encoding: [0x35,0xf8,0x02,0x40]1275@ CHECK: ldrh.w	r6, [r0, r2, lsl #3]    @ encoding: [0x30,0xf8,0x32,0x60]1276@ CHECK: ldrh.w	r8, [r8, r2, lsl #2]    @ encoding: [0x38,0xf8,0x22,0x80]1277@ CHECK: ldrh.w	r7, [sp, r2, lsl #1]    @ encoding: [0x3d,0xf8,0x12,0x70]1278@ CHECK: ldrh.w	r7, [sp, r2]            @ encoding: [0x3d,0xf8,0x02,0x70]1279 1280 1281@------------------------------------------------------------------------------1282@ LDRH(literal)1283@------------------------------------------------------------------------------1284        ldrh r5, _bar1285 1286@ CHECK: ldrh.w	r5, _bar                @ encoding: [0x3f'A',0xf8'A',A,0x50'A']1287@ CHECK:     @   fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_121288@ CHECK-BE: ldrh.w	r5, _bar                @ encoding: [0xf8'A',0x3f'A',0x50'A',A]1289@ CHECK-BE:     @   fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_121290 1291 1292@------------------------------------------------------------------------------1293@ LDRHT1294@------------------------------------------------------------------------------1295        ldrht r1, [r2]1296        ldrht r1, [r8, #0]1297        ldrht r1, [r8, #3]1298        ldrht r1, [r8, #255]1299 1300@ CHECK: ldrht	r1, [r2]                @ encoding: [0x32,0xf8,0x00,0x1e]1301@ CHECK: ldrht	r1, [r8]                @ encoding: [0x38,0xf8,0x00,0x1e]1302@ CHECK: ldrht	r1, [r8, #3]            @ encoding: [0x38,0xf8,0x03,0x1e]1303@ CHECK: ldrht	r1, [r8, #255]          @ encoding: [0x38,0xf8,0xff,0x1e]1304 1305 1306@------------------------------------------------------------------------------1307@ LDRSB(immediate)1308@------------------------------------------------------------------------------1309        ldrsb r5, [r5, #-4]1310        ldrsb r5, [r6, #32]1311        ldrsb r5, [r6, #33]1312        ldrsb r5, [r6, #257]1313        ldrsb.w lr, [r7, #257]1314        ldrsb r5, [r8, #255]!1315        ldrsb r2, [r5, #4]!1316        ldrsb r1, [r4, #-4]!1317        ldrsb lr, [r3], #2551318        ldrsb r9, [r2], #41319        ldrsb r3, [sp], #-41320        ldrsb.w r5, [r5, #-4]1321        ldrsb.w r5, [r6, #32]1322        ldrsb.w r5, [r8, #255]!1323        ldrsb.w r9, [r2], #41324 1325@ CHECK: ldrsb	r5, [r5, #-4]            @ encoding: [0x15,0xf9,0x04,0x5c]1326@ CHECK: ldrsb.w r5, [r6, #32]           @ encoding: [0x96,0xf9,0x20,0x50]1327@ CHECK: ldrsb.w r5, [r6, #33]           @ encoding: [0x96,0xf9,0x21,0x50]1328@ CHECK: ldrsb.w r5, [r6, #257]          @ encoding: [0x96,0xf9,0x01,0x51]1329@ CHECK: ldrsb.w lr, [r7, #257]          @ encoding: [0x97,0xf9,0x01,0xe1]1330@ CHECK: ldrsb	r5, [r8, #255]!          @ encoding: [0x18,0xf9,0xff,0x5f]1331@ CHECK: ldrsb	r2, [r5, #4]!            @ encoding: [0x15,0xf9,0x04,0x2f]1332@ CHECK: ldrsb	r1, [r4, #-4]!           @ encoding: [0x14,0xf9,0x04,0x1d]1333@ CHECK: ldrsb	lr, [r3], #255           @ encoding: [0x13,0xf9,0xff,0xeb]1334@ CHECK: ldrsb	r9, [r2], #4             @ encoding: [0x12,0xf9,0x04,0x9b]1335@ CHECK: ldrsb	r3, [sp], #-4            @ encoding: [0x1d,0xf9,0x04,0x39]1336@ CHECK: ldrsb	r5, [r5, #-4]            @ encoding: [0x15,0xf9,0x04,0x5c]1337@ CHECK: ldrsb.w r5, [r6, #32]           @ encoding: [0x96,0xf9,0x20,0x50]1338@ CHECK: ldrsb	r5, [r8, #255]!          @ encoding: [0x18,0xf9,0xff,0x5f]1339@ CHECK: ldrsb  r9, [r2], #4             @ encoding: [0x12,0xf9,0x04,0x9b]1340 1341 1342@------------------------------------------------------------------------------1343@ LDRSB(register)1344@------------------------------------------------------------------------------1345        ldrsb r1, [r8, r1]1346        ldrsb.w r4, [r5, r2]1347        ldrsb r6, [r0, r2, lsl #3]1348        ldrsb r8, [r8, r2, lsl #2]1349        ldrsb r7, [sp, r2, lsl #1]1350        ldrsb r7, [sp, r2, lsl #0]1351        ldrsb r5, [r8, #255]!1352        ldrsb r2, [r5, #4]!1353        ldrsb r1, [r4, #-4]!1354        ldrsb lr, [r3], #2551355        ldrsb r9, [r2], #41356        ldrsb r3, [sp], #-41357 1358@ CHECK: ldrsb.w r1, [r8, r1]           @ encoding: [0x18,0xf9,0x01,0x10]1359@ CHECK: ldrsb.w r4, [r5, r2]           @ encoding: [0x15,0xf9,0x02,0x40]1360@ CHECK: ldrsb.w r6, [r0, r2, lsl #3]   @ encoding: [0x10,0xf9,0x32,0x60]1361@ CHECK: ldrsb.w r8, [r8, r2, lsl #2]   @ encoding: [0x18,0xf9,0x22,0x80]1362@ CHECK: ldrsb.w r7, [sp, r2, lsl #1]   @ encoding: [0x1d,0xf9,0x12,0x70]1363@ CHECK: ldrsb.w r7, [sp, r2]           @ encoding: [0x1d,0xf9,0x02,0x70]1364@ CHECK: ldrsb	r5, [r8, #255]!         @ encoding: [0x18,0xf9,0xff,0x5f]1365@ CHECK: ldrsb	r2, [r5, #4]!           @ encoding: [0x15,0xf9,0x04,0x2f]1366@ CHECK: ldrsb	r1, [r4, #-4]!          @ encoding: [0x14,0xf9,0x04,0x1d]1367@ CHECK: ldrsb	lr, [r3], #255          @ encoding: [0x13,0xf9,0xff,0xeb]1368@ CHECK: ldrsb	r9, [r2], #4            @ encoding: [0x12,0xf9,0x04,0x9b]1369@ CHECK: ldrsb	r3, [sp], #-4           @ encoding: [0x1d,0xf9,0x04,0x39]1370 1371 1372@------------------------------------------------------------------------------1373@ LDRSB(literal)1374@------------------------------------------------------------------------------1375        ldrsb r5, _bar1376 1377@ CHECK: ldrsb.w r5, _bar               @ encoding: [0x1f'A',0xf9'A',A,0x50'A']1378@ CHECK:      @   fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_121379@ CHECK-BE: ldrsb.w r5, _bar               @ encoding: [0xf9'A',0x1f'A',0x50'A',A]1380@ CHECK-BE:      @   fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_121381 1382 1383@------------------------------------------------------------------------------1384@ LDRSBT1385@------------------------------------------------------------------------------1386        ldrsbt r1, [r2]1387        ldrsbt r1, [r8, #0]1388        ldrsbt r1, [r8, #3]1389        ldrsbt r1, [r8, #255]1390 1391@ CHECK: ldrsbt	r1, [r2]                @ encoding: [0x12,0xf9,0x00,0x1e]1392@ CHECK: ldrsbt	r1, [r8]                @ encoding: [0x18,0xf9,0x00,0x1e]1393@ CHECK: ldrsbt	r1, [r8, #3]            @ encoding: [0x18,0xf9,0x03,0x1e]1394@ CHECK: ldrsbt	r1, [r8, #255]          @ encoding: [0x18,0xf9,0xff,0x1e]1395 1396 1397@------------------------------------------------------------------------------1398@ LDRSH(immediate)1399@------------------------------------------------------------------------------1400        ldrsh r5, [r5, #-4]1401        ldrsh r5, [r6, #32]1402        ldrsh r5, [r6, #33]1403        ldrsh r5, [r6, #257]1404        ldrsh.w lr, [r7, #257]1405        ldrsh r5, [r8, #255]!1406        ldrsh r2, [r5, #4]!1407        ldrsh r1, [r4, #-4]!1408        ldrsh lr, [r3], #2551409        ldrsh r9, [r2], #41410        ldrsh r3, [sp], #-41411        ldrsh.w r5, [r5, #-4]1412        ldrsh.w r5, [r6, #32]1413        ldrsh.w r5, [r8, #255]!1414        ldrsh.w r9, [r2], #41415 1416@ CHECK: ldrsh	r5, [r5, #-4]           @ encoding: [0x35,0xf9,0x04,0x5c]1417@ CHECK: ldrsh.w r5, [r6, #32]          @ encoding: [0xb6,0xf9,0x20,0x50]1418@ CHECK: ldrsh.w r5, [r6, #33]          @ encoding: [0xb6,0xf9,0x21,0x50]1419@ CHECK: ldrsh.w r5, [r6, #257]         @ encoding: [0xb6,0xf9,0x01,0x51]1420@ CHECK: ldrsh.w lr, [r7, #257]         @ encoding: [0xb7,0xf9,0x01,0xe1]1421@ CHECK: ldrsh	r5, [r8, #255]!         @ encoding: [0x38,0xf9,0xff,0x5f]1422@ CHECK: ldrsh	r2, [r5, #4]!           @ encoding: [0x35,0xf9,0x04,0x2f]1423@ CHECK: ldrsh	r1, [r4, #-4]!          @ encoding: [0x34,0xf9,0x04,0x1d]1424@ CHECK: ldrsh	lr, [r3], #255          @ encoding: [0x33,0xf9,0xff,0xeb]1425@ CHECK: ldrsh	r9, [r2], #4            @ encoding: [0x32,0xf9,0x04,0x9b]1426@ CHECK: ldrsh	r3, [sp], #-4           @ encoding: [0x3d,0xf9,0x04,0x39]1427@ CHECK: ldrsh	r5, [r5, #-4]           @ encoding: [0x35,0xf9,0x04,0x5c]1428@ CHECK: ldrsh.w r5, [r6, #32]          @ encoding: [0xb6,0xf9,0x20,0x50]1429@ CHECK: ldrsh	r5, [r8, #255]!         @ encoding: [0x38,0xf9,0xff,0x5f]1430@ CHECK: ldrsh  r9, [r2], #4            @ encoding: [0x32,0xf9,0x04,0x9b]1431 1432 1433@------------------------------------------------------------------------------1434@ LDRSH(register)1435@------------------------------------------------------------------------------1436        ldrsh r1, [r8, r1]1437        ldrsh.w r4, [r5, r2]1438        ldrsh r6, [r0, r2, lsl #3]1439        ldrsh r8, [r8, r2, lsl #2]1440        ldrsh r7, [sp, r2, lsl #1]1441        ldrsh r7, [sp, r2, lsl #0]1442        ldrsh r5, [r8, #255]!1443        ldrsh r2, [r5, #4]!1444        ldrsh r1, [r4, #-4]!1445        ldrsh lr, [r3], #2551446        ldrsh r9, [r2], #41447        ldrsh r3, [sp], #-41448 1449@ CHECK: ldrsh.w r1, [r8, r1]           @ encoding: [0x38,0xf9,0x01,0x10]1450@ CHECK: ldrsh.w r4, [r5, r2]           @ encoding: [0x35,0xf9,0x02,0x40]1451@ CHECK: ldrsh.w r6, [r0, r2, lsl #3]   @ encoding: [0x30,0xf9,0x32,0x60]1452@ CHECK: ldrsh.w r8, [r8, r2, lsl #2]   @ encoding: [0x38,0xf9,0x22,0x80]1453@ CHECK: ldrsh.w r7, [sp, r2, lsl #1]   @ encoding: [0x3d,0xf9,0x12,0x70]1454@ CHECK: ldrsh.w r7, [sp, r2]           @ encoding: [0x3d,0xf9,0x02,0x70]1455@ CHECK: ldrsh	r5, [r8, #255]!         @ encoding: [0x38,0xf9,0xff,0x5f]1456@ CHECK: ldrsh	r2, [r5, #4]!           @ encoding: [0x35,0xf9,0x04,0x2f]1457@ CHECK: ldrsh	r1, [r4, #-4]!          @ encoding: [0x34,0xf9,0x04,0x1d]1458@ CHECK: ldrsh	lr, [r3], #255          @ encoding: [0x33,0xf9,0xff,0xeb]1459@ CHECK: ldrsh	r9, [r2], #4            @ encoding: [0x32,0xf9,0x04,0x9b]1460@ CHECK: ldrsh	r3, [sp], #-4           @ encoding: [0x3d,0xf9,0x04,0x39]1461 1462 1463@------------------------------------------------------------------------------1464@ LDRSH(literal)1465@------------------------------------------------------------------------------1466        ldrsh r5, _bar1467 1468@ CHECK: ldrsh.w r5, _bar               @ encoding: [0x3f'A',0xf9'A',A,0x50'A']1469@ CHECK:      @   fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_121470@ CHECK-BE: ldrsh.w r5, _bar               @ encoding: [0xf9'A',0x3f'A',0x50'A',A]1471@ CHECK-BE:      @   fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_121472 1473@ TEMPORARILY DISABLED:1474@        ldrsh.w r4, [pc, #1435]1475@      : ldrsh.w r4, [pc, #1435]               @ encoding: [0x3f,0xf9,0x9b,0x45]1476 1477@------------------------------------------------------------------------------1478@ LDRSHT1479@------------------------------------------------------------------------------1480        ldrsht r1, [r2]1481        ldrsht r1, [r8, #0]1482        ldrsht r1, [r8, #3]1483        ldrsht r1, [r8, #255]1484 1485@ CHECK: ldrsht	r1, [r2]                @ encoding: [0x32,0xf9,0x00,0x1e]1486@ CHECK: ldrsht	r1, [r8]                @ encoding: [0x38,0xf9,0x00,0x1e]1487@ CHECK: ldrsht	r1, [r8, #3]            @ encoding: [0x38,0xf9,0x03,0x1e]1488@ CHECK: ldrsht	r1, [r8, #255]          @ encoding: [0x38,0xf9,0xff,0x1e]1489 1490 1491@------------------------------------------------------------------------------1492@ LDRT1493@------------------------------------------------------------------------------1494        ldrt r1, [r2]1495        ldrt r2, [r6, #0]1496        ldrt r3, [r7, #3]1497        ldrt r4, [r9, #255]1498 1499@ CHECK: ldrt	r1, [r2]                @ encoding: [0x52,0xf8,0x00,0x1e]1500@ CHECK: ldrt	r2, [r6]                @ encoding: [0x56,0xf8,0x00,0x2e]1501@ CHECK: ldrt	r3, [r7, #3]            @ encoding: [0x57,0xf8,0x03,0x3e]1502@ CHECK: ldrt	r4, [r9, #255]          @ encoding: [0x59,0xf8,0xff,0x4e]1503 1504 1505@------------------------------------------------------------------------------1506@ LSL (immediate)1507@------------------------------------------------------------------------------1508        lsl r2, r3, #121509        lsls r8, r3, #311510        lsls.w r2, r3, #11511        lsl r2, r3, #41512        lsls r2, r12, #151513 1514        lsl r3, #191515        lsls r8, #21516        lsls.w r7, #51517        lsl.w r12, #211518 1519        lsls r1, r2, #11520        itt eq1521        lslseq r1, r2, #11522        lsleq r1, r2, #11523 1524@ CHECK: lsl.w	r2, r3, #12             @ encoding: [0x4f,0xea,0x03,0x32]1525@ CHECK: lsls.w	r8, r3, #31             @ encoding: [0x5f,0xea,0xc3,0x78]1526@ CHECK: lsls.w	r2, r3, #1              @ encoding: [0x5f,0xea,0x43,0x02]1527@ CHECK: lsl.w	r2, r3, #4              @ encoding: [0x4f,0xea,0x03,0x12]1528@ CHECK: lsls.w	r2, r12, #15            @ encoding: [0x5f,0xea,0xcc,0x32]1529 1530@ CHECK: lsl.w	r3, r3, #19             @ encoding: [0x4f,0xea,0xc3,0x43]1531@ CHECK: lsls.w	r8, r8, #2              @ encoding: [0x5f,0xea,0x88,0x08]1532@ CHECK: lsls.w	r7, r7, #5              @ encoding: [0x5f,0xea,0x47,0x17]1533@ CHECK: lsl.w	r12, r12, #21           @ encoding: [0x4f,0xea,0x4c,0x5c]1534 1535@ CHECK: lsls   r1, r2, #1              @ encoding: [0x51,0x00]1536@ CHECK: itt eq                         @ encoding: [0x04,0xbf]1537@ CHECK: lslseq.w r1, r2, #1            @ encoding: [0x5f,0xea,0x42,0x01]1538@ CHECK: lsleq  r1, r2, #1              @ encoding: [0x51,0x00]1539 1540@------------------------------------------------------------------------------1541@ LSL (register)1542@------------------------------------------------------------------------------1543        lsl r3, r4, r21544        lsl.w r1, r21545        lsls r3, r4, r81546 1547@ CHECK: lsl.w	r3, r4, r2              @ encoding: [0x04,0xfa,0x02,0xf3]1548@ CHECK: lsl.w	r1, r1, r2              @ encoding: [0x01,0xfa,0x02,0xf1]1549@ CHECK: lsls.w	r3, r4, r8              @ encoding: [0x14,0xfa,0x08,0xf3]1550 1551 1552@------------------------------------------------------------------------------1553@ LSR (immediate)1554@------------------------------------------------------------------------------1555        lsr r2, r3, #121556        lsrs r8, r3, #321557        lsrs.w r2, r3, #11558        lsr r2, r3, #41559        lsrs r2, r12, #151560 1561        lsr r3, #191562        lsrs r8, #21563        lsrs.w r7, #51564        lsr.w r12, #211565 1566        lsrs  r1, r2, #11567        itt eq1568        lsrseq r1, r2, #11569        lsreq r1, r2, #11570 1571@ CHECK: lsr.w	r2, r3, #12             @ encoding: [0x4f,0xea,0x13,0x32]1572@ CHECK: lsrs.w	r8, r3, #32             @ encoding: [0x5f,0xea,0x13,0x08]1573@ CHECK: lsrs.w	r2, r3, #1              @ encoding: [0x5f,0xea,0x53,0x02]1574@ CHECK: lsr.w	r2, r3, #4              @ encoding: [0x4f,0xea,0x13,0x12]1575@ CHECK: lsrs.w	r2, r12, #15            @ encoding: [0x5f,0xea,0xdc,0x32]1576 1577@ CHECK: lsr.w	r3, r3, #19             @ encoding: [0x4f,0xea,0xd3,0x43]1578@ CHECK: lsrs.w	r8, r8, #2              @ encoding: [0x5f,0xea,0x98,0x08]1579@ CHECK: lsrs.w	r7, r7, #5              @ encoding: [0x5f,0xea,0x57,0x17]1580@ CHECK: lsr.w	r12, r12, #21           @ encoding: [0x4f,0xea,0x5c,0x5c]1581 1582@ CHECK: lsrs   r1, r2, #1              @ encoding: [0x51,0x08]1583@ CHECK: itt    eq                      @ encoding: [0x04,0xbf]1584@ CHECK: lsrseq.w r1, r2, #1            @ encoding: [0x5f,0xea,0x52,0x01]1585@ CHECK: lsreq  r1, r2, #1              @ encoding: [0x51,0x08]1586 1587@------------------------------------------------------------------------------1588@ LSR (register)1589@------------------------------------------------------------------------------1590        lsr r3, r4, r21591        lsr.w r1, r21592        lsrs r3, r4, r81593 1594@ CHECK: lsr.w	r3, r4, r2              @ encoding: [0x24,0xfa,0x02,0xf3]1595@ CHECK: lsr.w	r1, r1, r2              @ encoding: [0x21,0xfa,0x02,0xf1]1596@ CHECK: lsrs.w	r3, r4, r8              @ encoding: [0x34,0xfa,0x08,0xf3]1597 1598@------------------------------------------------------------------------------1599@ MCR/MCR21600@------------------------------------------------------------------------------1601        mcr  p7, #1, r5, c1, c1, #41602        mcr2  p7, #1, r5, c1, c1, #41603        mcr p14, #0, r4, c0, c51604        mcr2 p4, #2, r2, c1, c31605        MCR  P7, #1, R5, C1, C1, #41606        MCR2  P7, #1, R5, C1, C1, #41607        MCR P14, #0, R4, C0, C51608        MCR2 P4, #2, R2, C1, C31609 1610@ CHECK: mcr	p7, #1, r5, c1, c1, #4  @ encoding: [0x21,0xee,0x91,0x57]1611@ CHECK: mcr2	p7, #1, r5, c1, c1, #4  @ encoding: [0x21,0xfe,0x91,0x57]1612@ CHECK: mcr	p14, #0, r4, c0, c5, #0 @ encoding: [0x00,0xee,0x15,0x4e]1613@ CHECK: mcr2	p4, #2, r2, c1, c3, #0  @ encoding: [0x41,0xfe,0x13,0x24]1614@ CHECK: mcr	p7, #1, r5, c1, c1, #4  @ encoding: [0x21,0xee,0x91,0x57]1615@ CHECK: mcr2	p7, #1, r5, c1, c1, #4  @ encoding: [0x21,0xfe,0x91,0x57]1616@ CHECK: mcr	p14, #0, r4, c0, c5, #0 @ encoding: [0x00,0xee,0x15,0x4e]1617@ CHECK: mcr2	p4, #2, r2, c1, c3, #0  @ encoding: [0x41,0xfe,0x13,0x24]1618 1619 1620@------------------------------------------------------------------------------1621@ MCRR/MCRR21622@------------------------------------------------------------------------------1623        mcrr  p7, #15, r5, r4, c11624        mcrr2  p7, #15, r5, r4, c11625        MCRR  P7, #15, R5, R4, C11626        MCRR2  P7, #15, R5, R4, C11627 1628@ CHECK: mcrr	p7, #15, r5, r4, c1     @ encoding: [0x44,0xec,0xf1,0x57]1629@ CHECK: mcrr2	p7, #15, r5, r4, c1     @ encoding: [0x44,0xfc,0xf1,0x57]1630@ CHECK: mcrr	p7, #15, r5, r4, c1     @ encoding: [0x44,0xec,0xf1,0x57]1631@ CHECK: mcrr2	p7, #15, r5, r4, c1     @ encoding: [0x44,0xfc,0xf1,0x57]1632 1633 1634@------------------------------------------------------------------------------1635@ MLA/MLS1636@------------------------------------------------------------------------------1637        mla  r1,r2,r3,r41638        mls  r1,r2,r3,r41639 1640@ CHECK: mla	r1, r2, r3, r4          @ encoding: [0x02,0xfb,0x03,0x41]1641@ CHECK: mls	r1, r2, r3, r4          @ encoding: [0x02,0xfb,0x13,0x41]1642 1643 1644@------------------------------------------------------------------------------1645@ MOV(immediate)1646@------------------------------------------------------------------------------1647        movs r1, #211648        movs.w r1, #211649        movs r8, #211650        movw r0, #655351651        movw r1, #437771652        movw r1, #437921653        mov.w r0, #0x3fc00001654        mov r0, #0x3fc00001655        movs.w r0, #0x3fc00001656        itte eq1657        movseq r1, #121658        moveq r1, #121659        movne.w r1, #121660        mov.w r6, #4501661        it lo1662        movlo r1, #-11663 1664        @ alias for mvn1665        mov r3, #-31666        mov r11, #0xabcd1667        movs r0, #11668        it ne1669        movne r3, #151670 1671        itt eq1672        moveq r0, #2551673        moveq r1, #2561674 1675@ CHECK: movs	r1, #21                 @ encoding: [0x15,0x21]1676@ CHECK: movs.w	r1, #21                 @ encoding: [0x5f,0xf0,0x15,0x01]1677@ CHECK: movs.w	r8, #21                 @ encoding: [0x5f,0xf0,0x15,0x08]1678@ CHECK: movw	r0, #65535              @ encoding: [0x4f,0xf6,0xff,0x70]1679@ CHECK: movw	r1, #43777              @ encoding: [0x4a,0xf6,0x01,0x31]1680@ CHECK: movw	r1, #43792              @ encoding: [0x4a,0xf6,0x10,0x31]1681@ CHECK: mov.w	r0, #66846720           @ encoding: [0x4f,0xf0,0x7f,0x70]1682@ CHECK: mov.w	r0, #66846720           @ encoding: [0x4f,0xf0,0x7f,0x70]1683@ CHECK: movs.w	r0, #66846720           @ encoding: [0x5f,0xf0,0x7f,0x70]1684@ CHECK: itte	eq                      @ encoding: [0x06,0xbf]1685@ CHECK: movseq.w	r1, #12         @ encoding: [0x5f,0xf0,0x0c,0x01]1686@ CHECK: moveq	r1, #12                 @ encoding: [0x0c,0x21]1687@ CHECK: movne.w r1, #12                @ encoding: [0x4f,0xf0,0x0c,0x01]1688@ CHECK: mov.w	r6, #450                @ encoding: [0x4f,0xf4,0xe1,0x76]1689@ CHECK: it	lo                      @ encoding: [0x38,0xbf]1690@ CHECK: movlo.w	r1, #-1         @ encoding: [0x4f,0xf0,0xff,0x31]1691@ CHECK: mvn	r3, #2                  @ encoding: [0x6f,0xf0,0x02,0x03]1692@ CHECK: movw	r11, #43981             @ encoding: [0x4a,0xf6,0xcd,0x3b]1693@ CHECK: movs	r0, #1                  @ encoding: [0x01,0x20]1694@ CHECK: it	ne                      @ encoding: [0x18,0xbf]1695@ CHECK: movne	r3, #15                 @ encoding: [0x0f,0x23]1696 1697@ CHECK: itt    eq                      @ encoding: [0x04,0xbf]1698@ CHECK: moveq  r0, #255                @ encoding: [0xff,0x20]1699@ CHECK: movweq r1, #256                @ encoding: [0x40,0xf2,0x00,0x11]1700 1701@------------------------------------------------------------------------------1702@ MOV(shifted register)1703@------------------------------------------------------------------------------1704        mov r6, r2, lsl #161705        mov.w r6, r2, lsl #161706        mov r6, r2, lsr #161707        mov.w r6, r2, lsr #161708        movs r6, r2, asr #321709        movs.w r6, r2, asr #321710        movs r6, r2, ror #51711        movs.w r6, r2, ror #51712        movs r4, r4, lsl r51713        movs.w r4, r4, lsl r51714        movs r4, r4, lsr r51715        movs.w r4, r4, lsr r51716        movs r4, r4, asr r51717        movs.w r4, r4, asr r51718        movs r4, r4, ror r51719        movs.w r4, r4, ror r51720        mov r4, r4, lsl r51721        movs r4, r4, ror r81722        movs r4, r5, lsr r61723        itttt eq1724        moveq r4, r4, lsl r51725        moveq r4, r4, lsr r51726        moveq r4, r4, asr r51727        moveq r4, r4, ror r51728        mov r4, r4, rrx1729 1730@ CHECK: lsl.w	r6, r2, #16             @ encoding: [0x4f,0xea,0x02,0x46]1731@ CHECK: lsl.w	r6, r2, #16             @ encoding: [0x4f,0xea,0x02,0x46]1732@ CHECK: lsr.w	r6, r2, #16             @ encoding: [0x4f,0xea,0x12,0x46]1733@ CHECK: lsr.w	r6, r2, #16             @ encoding: [0x4f,0xea,0x12,0x46]1734@ CHECK: asrs	r6, r2, #32             @ encoding: [0x16,0x10]1735@ CHECK: asrs.w	r6, r2, #32             @ encoding: [0x5f,0xea,0x22,0x06]1736@ CHECK: rors.w	r6, r2, #5              @ encoding: [0x5f,0xea,0x72,0x16]1737@ CHECK: rors.w	r6, r2, #5              @ encoding: [0x5f,0xea,0x72,0x16]1738@ CHECK: lsls	r4, r5                  @ encoding: [0xac,0x40]1739@ CHECK: lsls.w	r4, r4, r5              @ encoding: [0x14,0xfa,0x05,0xf4]1740@ CHECK: lsrs	r4, r5                  @ encoding: [0xec,0x40]1741@ CHECK: lsrs.w	r4, r4, r5              @ encoding: [0x34,0xfa,0x05,0xf4]1742@ CHECK: asrs	r4, r5                  @ encoding: [0x2c,0x41]1743@ CHECK: asrs.w	r4, r4, r5              @ encoding: [0x54,0xfa,0x05,0xf4]1744@ CHECK: rors	r4, r5                  @ encoding: [0xec,0x41]1745@ CHECK: rors.w	r4, r4, r5              @ encoding: [0x74,0xfa,0x05,0xf4]1746@ CHECK: lsl.w	r4, r4, r5              @ encoding: [0x04,0xfa,0x05,0xf4]1747@ CHECK: rors.w	r4, r4, r8              @ encoding: [0x74,0xfa,0x08,0xf4]1748@ CHECK: lsrs.w	r4, r5, r6              @ encoding: [0x35,0xfa,0x06,0xf4]1749@ CHECK: itttt	eq                      @ encoding: [0x01,0xbf]1750@ CHECK: lsleq	r4, r5                  @ encoding: [0xac,0x40]1751@ CHECK: lsreq	r4, r5                  @ encoding: [0xec,0x40]1752@ CHECK: asreq	r4, r5                  @ encoding: [0x2c,0x41]1753@ CHECK: roreq	r4, r5                  @ encoding: [0xec,0x41]1754@ CHECK: rrx	r4, r4                  @ encoding: [0x4f,0xea,0x34,0x04]1755 1756 1757@------------------------------------------------------------------------------1758@ MOVT1759@------------------------------------------------------------------------------1760        movt r3, #71761        movt r6, #0xffff1762        it eq1763        movteq r4, #0xff01764 1765@ CHECK: movt	r3, #7                  @ encoding: [0xc0,0xf2,0x07,0x03]1766@ CHECK: movt	r6, #65535              @ encoding: [0xcf,0xf6,0xff,0x76]1767@ CHECK: it	eq                      @ encoding: [0x08,0xbf]1768@ CHECK: movteq	r4, #4080               @ encoding: [0xc0,0xf6,0xf0,0x74]1769 1770@------------------------------------------------------------------------------1771@ MRC/MRC21772@------------------------------------------------------------------------------1773        mrc  p14, #0, r1, c1, c2, #41774        mrc  p15, #7, apsr_nzcv, c15, c6, #61775        mrc  p9, #1, r1, c2, c21776        mrc2 p12, #3, r3, c3, c41777        mrc2 p14, #0, r1, c1, c2, #41778        mrc2 p8, #7, apsr_nzcv, c15, c0, #11779        MRC  P14, #0, R1, C1, C2, #41780        MRC  P15, #7, APSR_NZCV, C15, C6, #61781        MRC  P9, #1, R1, C2, C21782        MRC2 P12, #3, R3, C3, C41783        MRC2 P14, #0, R1, C1, C2, #41784        MRC2 P8, #7, APSR_NZCV, C15, C0, #11785 1786@ CHECK: mrc  p14, #0, r1, c1, c2, #4            @ encoding: [0x11,0xee,0x92,0x1e]1787@ CHECK: mrc  p15, #7, apsr_nzcv, c15, c6, #6    @ encoding: [0xff,0xee,0xd6,0xff]1788@ CHECK: mrc  p9, #1, r1, c2, c2, #0             @ encoding: [0x32,0xee,0x12,0x19]1789@ CHECK: mrc2 p12, #3, r3, c3, c4, #0            @ encoding: [0x73,0xfe,0x14,0x3c]1790@ CHECK: mrc2 p14, #0, r1, c1, c2, #4            @ encoding: [0x11,0xfe,0x92,0x1e]1791@ CHECK: mrc2 p8, #7, apsr_nzcv, c15, c0, #1     @ encoding: [0xff,0xfe,0x30,0xf8]1792@ CHECK: mrc  p14, #0, r1, c1, c2, #4            @ encoding: [0x11,0xee,0x92,0x1e]1793@ CHECK: mrc  p15, #7, apsr_nzcv, c15, c6, #6    @ encoding: [0xff,0xee,0xd6,0xff]1794@ CHECK: mrc  p9, #1, r1, c2, c2, #0             @ encoding: [0x32,0xee,0x12,0x19]1795@ CHECK: mrc2 p12, #3, r3, c3, c4, #0            @ encoding: [0x73,0xfe,0x14,0x3c]1796@ CHECK: mrc2 p14, #0, r1, c1, c2, #4            @ encoding: [0x11,0xfe,0x92,0x1e]1797@ CHECK: mrc2 p8, #7, apsr_nzcv, c15, c0, #1     @ encoding: [0xff,0xfe,0x30,0xf8]1798 1799@------------------------------------------------------------------------------1800@ MRRC/MRRC21801@------------------------------------------------------------------------------1802        mrrc  p7, #1, r5, r4, c11803        mrrc2  p7, #1, r5, r4, c11804        MRRC  P7, #1, R5, R4, C11805        MRRC2  P7, #1, R5, R4, C11806 1807@ CHECK: mrrc	p7, #1, r5, r4, c1      @ encoding: [0x54,0xec,0x11,0x57]1808@ CHECK: mrrc2	p7, #1, r5, r4, c1      @ encoding: [0x54,0xfc,0x11,0x57]1809@ CHECK: mrrc	p7, #1, r5, r4, c1      @ encoding: [0x54,0xec,0x11,0x57]1810@ CHECK: mrrc2	p7, #1, r5, r4, c1      @ encoding: [0x54,0xfc,0x11,0x57]1811 1812 1813@------------------------------------------------------------------------------1814@ MRS1815@------------------------------------------------------------------------------1816        mrs  r8, apsr1817        mrs  r8, cpsr1818        mrs  r8, spsr1819 1820@ CHECK: mrs	r8, apsr                @ encoding: [0xef,0xf3,0x00,0x88]1821@ CHECK: mrs	r8, apsr                @ encoding: [0xef,0xf3,0x00,0x88]1822@ CHECK: mrs	r8, spsr                @ encoding: [0xff,0xf3,0x00,0x88]1823 1824 1825@------------------------------------------------------------------------------1826@ MSR1827@------------------------------------------------------------------------------1828        msr  apsr, r11829        msr  apsr_g, r21830        msr  apsr_nzcvq, r31831        msr  APSR_nzcvq, r41832        msr  apsr_nzcvqg, r51833        msr  cpsr_fc, r61834        msr  cpsr_c, r71835        msr  cpsr_x, r81836        msr  cpsr_fc, r91837        msr  cpsr_all, r111838        msr  cpsr_fsx, r121839        msr  spsr_fc, r01840        msr  SPSR_fsxc, r51841        msr  cpsr_fsxc, r81842        msr  cpsr, r31843 1844@ CHECK: msr	APSR_nzcvq, r1          @ encoding: [0x81,0xf3,0x00,0x88]1845@ CHECK: msr	APSR_g, r2              @ encoding: [0x82,0xf3,0x00,0x84]1846@ CHECK: msr	APSR_nzcvq, r3          @ encoding: [0x83,0xf3,0x00,0x88]1847@ CHECK: msr	APSR_nzcvq, r4          @ encoding: [0x84,0xf3,0x00,0x88]1848@ CHECK: msr	APSR_nzcvqg, r5         @ encoding: [0x85,0xf3,0x00,0x8c]1849@ CHECK: msr	CPSR_fc, r6             @ encoding: [0x86,0xf3,0x00,0x89]1850@ CHECK: msr	CPSR_c, r7              @ encoding: [0x87,0xf3,0x00,0x81]1851@ CHECK: msr	CPSR_x, r8              @ encoding: [0x88,0xf3,0x00,0x82]1852@ CHECK: msr	CPSR_fc, r9             @ encoding: [0x89,0xf3,0x00,0x89]1853@ CHECK: msr	CPSR_fc, r11            @ encoding: [0x8b,0xf3,0x00,0x89]1854@ CHECK: msr	CPSR_fsx, r12           @ encoding: [0x8c,0xf3,0x00,0x8e]1855@ CHECK: msr	SPSR_fc, r0             @ encoding: [0x90,0xf3,0x00,0x89]1856@ CHECK: msr	SPSR_fsxc, r5           @ encoding: [0x95,0xf3,0x00,0x8f]1857@ CHECK: msr	CPSR_fsxc, r8           @ encoding: [0x88,0xf3,0x00,0x8f]1858@ CHECK: msr	CPSR_fc, r3             @ encoding: [0x83,0xf3,0x00,0x89]1859 1860 1861@------------------------------------------------------------------------------1862@ MUL1863@------------------------------------------------------------------------------1864        muls r3, r4, r31865        mul r3, r4, r31866        mul r3, r4, r61867        it eq1868        muleq r3, r4, r51869        it le1870        mulle r4, r4, r81871        mul r5, r61872 1873@ CHECK: muls	r3, r4, r3              @ encoding: [0x63,0x43]1874@ CHECK: mul	r3, r4, r3              @ encoding: [0x04,0xfb,0x03,0xf3]1875@ CHECK: mul	r3, r4, r6              @ encoding: [0x04,0xfb,0x06,0xf3]1876@ CHECK: it	eq                      @ encoding: [0x08,0xbf]1877@ CHECK: muleq	r3, r4, r5              @ encoding: [0x04,0xfb,0x05,0xf3]1878@ CHECK: it	le                      @ encoding: [0xd8,0xbf]1879@ CHECK: mulle	r4, r4, r8              @ encoding: [0x04,0xfb,0x08,0xf4]1880@ CHECK: mul	r5, r6, r5              @ encoding: [0x06,0xfb,0x05,0xf5]1881 1882 1883@------------------------------------------------------------------------------1884@ MVN(immediate)1885@------------------------------------------------------------------------------1886        mvns r8, #211887        mvn r0, #0x3fc00001888        mvns r0, #0x3fc00001889        itte eq1890        mvnseq r1, #121891        mvneq.w r1, #121892        mvnne r1, #121893 1894@ CHECK: mvns	r8, #21                 @ encoding: [0x7f,0xf0,0x15,0x08]1895@ CHECK: mvn	r0, #66846720           @ encoding: [0x6f,0xf0,0x7f,0x70]1896@ CHECK: mvns	r0, #66846720           @ encoding: [0x7f,0xf0,0x7f,0x70]1897@ CHECK: itte	eq                      @ encoding: [0x06,0xbf]1898@ CHECK: mvnseq	r1, #12                 @ encoding: [0x7f,0xf0,0x0c,0x01]1899@ CHECK: mvneq	r1, #12                 @ encoding: [0x6f,0xf0,0x0c,0x01]1900@ CHECK: mvnne	r1, #12                 @ encoding: [0x6f,0xf0,0x0c,0x01]1901 1902 1903@------------------------------------------------------------------------------1904@ MVN(register)1905@------------------------------------------------------------------------------1906        mvn r2, r31907        mvns r2, r31908        mvn r5, r6, lsl #191909        mvn r5, r6, lsr #91910        mvn.w r5, r6, asr #41911        mvn r5, r6, ror #61912        mvn r5, r6, rrx1913        it eq1914        mvneq r2, r31915 1916@ CHECK: mvn.w	r2, r3                  @ encoding: [0x6f,0xea,0x03,0x02]1917@ CHECK: mvns	r2, r3                  @ encoding: [0xda,0x43]1918@ CHECK: mvn.w	r5, r6, lsl #19         @ encoding: [0x6f,0xea,0xc6,0x45]1919@ CHECK: mvn.w	r5, r6, lsr #9          @ encoding: [0x6f,0xea,0x56,0x25]1920@ CHECK: mvn.w	r5, r6, asr #4          @ encoding: [0x6f,0xea,0x26,0x15]1921@ CHECK: mvn.w	r5, r6, ror #6          @ encoding: [0x6f,0xea,0xb6,0x15]1922@ CHECK: mvn.w	r5, r6, rrx             @ encoding: [0x6f,0xea,0x36,0x05]1923@ CHECK: it	eq                      @ encoding: [0x08,0xbf]1924@ CHECK: mvneq	r2, r3                  @ encoding: [0xda,0x43]1925 1926@------------------------------------------------------------------------------1927@ NEG1928@------------------------------------------------------------------------------1929        neg r5, r21930        neg r5, r81931 1932@ CHECK: rsb.w	r5, r2, #0              @ encoding: [0xc2,0xf1,0x00,0x05]1933@ CHECK: rsb.w	r5, r8, #0              @ encoding: [0xc8,0xf1,0x00,0x05]1934 1935 1936@------------------------------------------------------------------------------1937@ NOP1938@------------------------------------------------------------------------------1939        nop.w1940 1941@ CHECK: nop.w                          @ encoding: [0xaf,0xf3,0x00,0x80]1942 1943 1944@------------------------------------------------------------------------------1945@ ORN1946@------------------------------------------------------------------------------1947        orn r4, r5, #0xf0001948        orn.w r4, r5, #0xf0001949        orn r4, r5, r61950        orn.w r4, r5, r61951        orns r4, r5, r61952        orns.w r4, r5, r61953        orn r4, r5, r6, lsl #51954        orn.w r4, r5, r6, lsl #51955        orns r4, r5, r6, lsr #51956        orn r4, r5, r6, lsr #51957        orns r4, r5, r6, asr #51958        orn r4, r5, r6, ror #51959 1960@ CHECK: orn	r4, r5, #61440          @ encoding: [0x65,0xf4,0x70,0x44]1961@ CHECK: orn	r4, r5, #61440          @ encoding: [0x65,0xf4,0x70,0x44]1962@ CHECK: orn	r4, r5, r6              @ encoding: [0x65,0xea,0x06,0x04]1963@ CHECK: orn	r4, r5, r6              @ encoding: [0x65,0xea,0x06,0x04]1964@ CHECK: orns	r4, r5, r6              @ encoding: [0x75,0xea,0x06,0x04]1965@ CHECK: orns	r4, r5, r6              @ encoding: [0x75,0xea,0x06,0x04]1966@ CHECK: orn	r4, r5, r6, lsl #5      @ encoding: [0x65,0xea,0x46,0x14]1967@ CHECK: orn	r4, r5, r6, lsl #5      @ encoding: [0x65,0xea,0x46,0x14]1968@ CHECK: orns	r4, r5, r6, lsr #5      @ encoding: [0x75,0xea,0x56,0x14]1969@ CHECK: orn	r4, r5, r6, lsr #5      @ encoding: [0x65,0xea,0x56,0x14]1970@ CHECK: orns	r4, r5, r6, asr #5      @ encoding: [0x75,0xea,0x66,0x14]1971@ CHECK: orn	r4, r5, r6, ror #5      @ encoding: [0x65,0xea,0x76,0x14]1972 1973 1974@------------------------------------------------------------------------------1975@ ORR1976@------------------------------------------------------------------------------1977        orr r4, r5, #0xf0001978        orr r4, r5, r61979        orr r4, r5, r6, lsl #51980        orrs r4, r5, r6, lsr #51981        orr r4, r5, r6, lsr #51982        orrs r4, r5, r6, asr #51983        orr r4, r5, r6, ror #51984 1985@ CHECK: orr	r4, r5, #61440          @ encoding: [0x45,0xf4,0x70,0x44]1986@ CHECK: orr.w	r4, r5, r6              @ encoding: [0x45,0xea,0x06,0x04]1987@ CHECK: orr.w	r4, r5, r6, lsl #5      @ encoding: [0x45,0xea,0x46,0x14]1988@ CHECK: orrs.w	r4, r5, r6, lsr #5      @ encoding: [0x55,0xea,0x56,0x14]1989@ CHECK: orr.w	r4, r5, r6, lsr #5      @ encoding: [0x45,0xea,0x56,0x14]1990@ CHECK: orrs.w	r4, r5, r6, asr #5      @ encoding: [0x55,0xea,0x66,0x14]1991@ CHECK: orr.w	r4, r5, r6, ror #5      @ encoding: [0x45,0xea,0x76,0x14]1992 1993 1994@------------------------------------------------------------------------------1995@ PKH1996@------------------------------------------------------------------------------1997        pkhbt r2, r2, r31998        pkhbt r2, r2, r3, lsl #311999        pkhbt r2, r2, r3, lsl #02000        pkhbt r2, r2, r3, lsl #152001 2002        pkhtb r2, r2, r32003        pkhtb r2, r2, r3, asr #312004        pkhtb r2, r2, r3, asr #152005 2006@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0xc2,0xea,0x03,0x02]2007@ CHECK: pkhbt	r2, r2, r3, lsl #31     @ encoding: [0xc2,0xea,0xc3,0x72]2008@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0xc2,0xea,0x03,0x02]2009@ CHECK: pkhbt	r2, r2, r3, lsl #15     @ encoding: [0xc2,0xea,0xc3,0x32]2010 2011@ CHECK: pkhbt	r2, r3, r2              @ encoding: [0xc3,0xea,0x02,0x02]2012@ CHECK: pkhtb	r2, r2, r3, asr #31     @ encoding: [0xc2,0xea,0xe3,0x72]2013@ CHECK: pkhtb	r2, r2, r3, asr #15     @ encoding: [0xc2,0xea,0xe3,0x32]2014 2015 2016@------------------------------------------------------------------------------2017@ PLD(immediate)2018@------------------------------------------------------------------------------2019        pld [r5, #-4]2020        pld [r6, #32]2021        pld [r6, #33]2022        pld [r6, #257]2023        pld [r7, #257]2024        pld [r1, #0]2025        pld [r1, #-0]2026        pld.w [r1, #-0]2027 2028@ CHECK: pld	[r5, #-4]               @ encoding: [0x15,0xf8,0x04,0xfc]2029@ CHECK: pld	[r6, #32]               @ encoding: [0x96,0xf8,0x20,0xf0]2030@ CHECK: pld	[r6, #33]               @ encoding: [0x96,0xf8,0x21,0xf0]2031@ CHECK: pld	[r6, #257]              @ encoding: [0x96,0xf8,0x01,0xf1]2032@ CHECK: pld	[r7, #257]              @ encoding: [0x97,0xf8,0x01,0xf1]2033@ CHECK: pld	[r1]                    @ encoding: [0x91,0xf8,0x00,0xf0]2034@ CHECK: pld	[r1, #-0]               @ encoding: [0x11,0xf8,0x00,0xfc]2035@ CHECK: pld	[r1, #-0]               @ encoding: [0x11,0xf8,0x00,0xfc]2036 2037 2038@------------------------------------------------------------------------------2039@ PLD(literal)2040@------------------------------------------------------------------------------2041@        pld  _foo2042 2043@ FIXME: pld	_foo                    @ encoding: [0x9f'A',0xf8'A',A,0xf0'A']2044            @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_122045 2046        pld [pc,#-4095]2047        pld.w [pc,#-4095]2048@ CHECK: pld [pc, #-4095]            @ encoding: [0x1f,0xf8,0xff,0xff]2049@ CHECK: pld [pc, #-4095]            @ encoding: [0x1f,0xf8,0xff,0xff]2050 2051 2052@------------------------------------------------------------------------------2053@ PLD(register)2054@------------------------------------------------------------------------------2055        pld [r8, r1]2056        pld [r5, r2]2057        pld.w [r5, r2]2058        pld [r0, r2, lsl #3]2059        pld [r8, r2, lsl #2]2060        pld [sp, r2, lsl #1]2061        pld [sp, r2, lsl #0]2062        pld.w [sp, r2, lsl #1]2063 2064@ CHECK: pld	[r8, r1]                @ encoding: [0x18,0xf8,0x01,0xf0]2065@ CHECK: pld	[r5, r2]                @ encoding: [0x15,0xf8,0x02,0xf0]2066@ CHECK: pld	[r5, r2]                @ encoding: [0x15,0xf8,0x02,0xf0]2067@ CHECK: pld	[r0, r2, lsl #3]        @ encoding: [0x10,0xf8,0x32,0xf0]2068@ CHECK: pld	[r8, r2, lsl #2]        @ encoding: [0x18,0xf8,0x22,0xf0]2069@ CHECK: pld	[sp, r2, lsl #1]        @ encoding: [0x1d,0xf8,0x12,0xf0]2070@ CHECK: pld	[sp, r2]                @ encoding: [0x1d,0xf8,0x02,0xf0]2071@ CHECK: pld	[sp, r2, lsl #1]        @ encoding: [0x1d,0xf8,0x12,0xf0]2072 2073@------------------------------------------------------------------------------2074@ PLI(immediate)2075@------------------------------------------------------------------------------2076        pli [r5, #-4]2077        pli [r6, #32]2078        pli [r6, #33]2079        pli [r6, #257]2080        pli [r7, #257]2081        pli [pc, #+4095]2082        pli [pc, #-4095]2083        pli.w [pc, #-4095]2084 2085@ CHECK: pli	[r5, #-4]               @ encoding: [0x15,0xf9,0x04,0xfc]2086@ CHECK: pli	[r6, #32]               @ encoding: [0x96,0xf9,0x20,0xf0]2087@ CHECK: pli	[r6, #33]               @ encoding: [0x96,0xf9,0x21,0xf0]2088@ CHECK: pli	[r6, #257]              @ encoding: [0x96,0xf9,0x01,0xf1]2089@ CHECK: pli	[r7, #257]              @ encoding: [0x97,0xf9,0x01,0xf1]2090@ CHECK: pli    [pc, #4095]             @ encoding: [0x9f,0xf9,0xff,0xff]2091@ CHECK: pli    [pc, #-4095]            @ encoding: [0x1f,0xf9,0xff,0xff]2092@ CHECK: pli    [pc, #-4095]            @ encoding: [0x1f,0xf9,0xff,0xff]2093 2094 2095@------------------------------------------------------------------------------2096@ PLI(literal)2097@------------------------------------------------------------------------------2098@        pli  _foo2099 2100 2101@ FIXME: pli	_foo                    @ encoding: [0x9f'A',0xf9'A',A,0xf0'A']2102           @   fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_122103 2104 2105@------------------------------------------------------------------------------2106@ PLI(register)2107@------------------------------------------------------------------------------2108        pli [r8, r1]2109        pli [r5, r2]2110        pli.w [r5, r2]2111        pli [r0, r2, lsl #3]2112        pli [r8, r2, lsl #2]2113        pli [sp, r2, lsl #1]2114        pli [sp, r2, lsl #0]2115        pli.w [sp, r2, lsl #1]2116 2117@ CHECK: pli	[r8, r1]                @ encoding: [0x18,0xf9,0x01,0xf0]2118@ CHECK: pli	[r5, r2]                @ encoding: [0x15,0xf9,0x02,0xf0]2119@ CHECK: pli	[r5, r2]                @ encoding: [0x15,0xf9,0x02,0xf0]2120@ CHECK: pli	[r0, r2, lsl #3]        @ encoding: [0x10,0xf9,0x32,0xf0]2121@ CHECK: pli	[r8, r2, lsl #2]        @ encoding: [0x18,0xf9,0x22,0xf0]2122@ CHECK: pli	[sp, r2, lsl #1]        @ encoding: [0x1d,0xf9,0x12,0xf0]2123@ CHECK: pli	[sp, r2]                @ encoding: [0x1d,0xf9,0x02,0xf0]2124@ CHECK: pli	[sp, r2, lsl #1]        @ encoding: [0x1d,0xf9,0x12,0xf0]2125 2126@------------------------------------------------------------------------------2127@ POP (alias)2128@------------------------------------------------------------------------------2129        pop {r2, r9}2130 2131@ CHECK: pop.w	{r2, r9}                @ encoding: [0xbd,0xe8,0x04,0x02]2132 2133 2134@------------------------------------------------------------------------------2135@ PUSH (alias)2136@------------------------------------------------------------------------------2137        push {r2, r9}2138 2139@ CHECK: push.w	{r2, r9}                @ encoding: [0x2d,0xe9,0x04,0x02]2140 2141 2142@------------------------------------------------------------------------------2143@ QADD/QADD16/QADD82144@------------------------------------------------------------------------------2145        qadd r1, r2, r32146        qadd16 r1, r2, r32147        qadd8 r1, r2, r32148        itte gt2149        qaddgt r1, r2, r32150        qadd16gt r1, r2, r32151        qadd8le r1, r2, r32152 2153@ CHECK: qadd	r1, r2, r3              @ encoding: [0x83,0xfa,0x82,0xf1]2154@ CHECK: qadd16	r1, r2, r3              @ encoding: [0x92,0xfa,0x13,0xf1]2155@ CHECK: qadd8	r1, r2, r3              @ encoding: [0x82,0xfa,0x13,0xf1]2156@ CHECK: itte	gt                      @ encoding: [0xc6,0xbf]2157@ CHECK: qaddgt	r1, r2, r3              @ encoding: [0x83,0xfa,0x82,0xf1]2158@ CHECK: qadd16gt r1, r2, r3            @ encoding: [0x92,0xfa,0x13,0xf1]2159@ CHECK: qadd8le r1, r2, r3             @ encoding: [0x82,0xfa,0x13,0xf1]2160 2161 2162@------------------------------------------------------------------------------2163@ QDADD/QDSUB2164@------------------------------------------------------------------------------2165        qdadd r6, r7, r82166        qdsub r6, r7, r82167        itt hi2168        qdaddhi r6, r7, r82169        qdsubhi r6, r7, r82170 2171@ CHECK: qdadd	r6, r7, r8              @ encoding: [0x88,0xfa,0x97,0xf6]2172@ CHECK: qdsub	r6, r7, r8              @ encoding: [0x88,0xfa,0xb7,0xf6]2173@ CHECK: itt	hi                      @ encoding: [0x84,0xbf]2174@ CHECK: qdaddhi r6, r7, r8             @ encoding: [0x88,0xfa,0x97,0xf6]2175@ CHECK: qdsubhi r6, r7, r8             @ encoding: [0x88,0xfa,0xb7,0xf6]2176 2177 2178@------------------------------------------------------------------------------2179@ QSAX2180@------------------------------------------------------------------------------2181        qsax r9, r12, r02182        it eq2183        qsaxeq r9, r12, r02184 2185@ CHECK: qsax	r9, r12, r0             @ encoding: [0xec,0xfa,0x10,0xf9]2186@ CHECK: it	eq                      @ encoding: [0x08,0xbf]2187@ CHECK: qsaxeq	r9, r12, r0             @ encoding: [0xec,0xfa,0x10,0xf9]2188 2189 2190@------------------------------------------------------------------------------2191@ QSUB/QSUB16/QSUB82192@------------------------------------------------------------------------------2193        qsub r1, r2, r32194        qsub16 r1, r2, r32195        qsub8 r1, r2, r32196        itet le2197        qsuble r1, r2, r32198        qsub16gt r1, r2, r32199        qsub8le r1, r2, r32200 2201@ CHECK: qsub	r1, r2, r3              @ encoding: [0x83,0xfa,0xa2,0xf1]2202@ CHECK: qsub16	r1, r2, r3              @ encoding: [0xd2,0xfa,0x13,0xf1]2203@ CHECK: qsub8	r1, r2, r3              @ encoding: [0xc2,0xfa,0x13,0xf1]2204@ CHECK: itet	le                      @ encoding: [0xd6,0xbf]2205@ CHECK: qsuble	r1, r2, r3              @ encoding: [0x83,0xfa,0xa2,0xf1]2206@ CHECK: qsub16gt	r1, r2, r3      @ encoding: [0xd2,0xfa,0x13,0xf1]2207@ CHECK: qsub8le r1, r2, r3             @ encoding: [0xc2,0xfa,0x13,0xf1]2208 2209 2210@------------------------------------------------------------------------------2211@ RBIT2212@------------------------------------------------------------------------------2213        rbit r1, r22214        it ne2215        rbitne r1, r22216 2217@ CHECK: rbit	r1, r2                  @ encoding: [0x92,0xfa,0xa2,0xf1]2218@ CHECK: it	ne                      @ encoding: [0x18,0xbf]2219@ CHECK: rbitne	r1, r2                  @ encoding: [0x92,0xfa,0xa2,0xf1]2220 2221 2222@------------------------------------------------------------------------------2223@ REV2224@------------------------------------------------------------------------------2225        rev.w r1, r22226        rev r2, r82227        itt ne2228        revne r1, r22229        revne r1, r82230 2231@ CHECK: rev.w	r1, r2                  @ encoding: [0x92,0xfa,0x82,0xf1]2232@ CHECK: rev.w	r2, r8                  @ encoding: [0x98,0xfa,0x88,0xf2]2233@ CHECK: itt	ne                      @ encoding: [0x1c,0xbf]2234@ CHECK: revne	r1, r2                  @ encoding: [0x11,0xba]2235@ CHECK: revne.w r1, r8                 @ encoding: [0x98,0xfa,0x88,0xf1]2236 2237 2238@------------------------------------------------------------------------------2239@ REV162240@------------------------------------------------------------------------------2241        rev16.w r1, r22242        rev16 r2, r82243        itt ne2244        rev16ne r1, r22245        rev16ne r1, r82246 2247@ CHECK: rev16.w r1, r2                 @ encoding: [0x92,0xfa,0x92,0xf1]2248@ CHECK: rev16.w r2, r8                 @ encoding: [0x98,0xfa,0x98,0xf2]2249@ CHECK: itt	ne                      @ encoding: [0x1c,0xbf]2250@ CHECK: rev16ne r1, r2                 @ encoding: [0x51,0xba]2251@ CHECK: rev16ne.w	r1, r8          @ encoding: [0x98,0xfa,0x98,0xf1]2252 2253 2254@------------------------------------------------------------------------------2255@ REVSH2256@------------------------------------------------------------------------------2257        revsh.w r1, r22258        revsh r2, r82259        itt ne2260        revshne r1, r22261        revshne r1, r82262 2263@ CHECK: revsh.w r1, r2                 @ encoding: [0x92,0xfa,0xb2,0xf1]2264@ CHECK: revsh.w r2, r8                 @ encoding: [0x98,0xfa,0xb8,0xf2]2265@ CHECK: itt	ne                      @ encoding: [0x1c,0xbf]2266@ CHECK: revshne r1, r2                 @ encoding: [0xd1,0xba]2267@ CHECK: revshne.w	r1, r8          @ encoding: [0x98,0xfa,0xb8,0xf1]2268 2269 2270@------------------------------------------------------------------------------2271@ ROR (immediate)2272@------------------------------------------------------------------------------2273        ror r2, r3, #122274        rors r8, r3, #312275        rors.w r2, r3, #12276        ror r2, r3, #42277        rors r2, r12, #152278 2279        ror r3, #192280        rors r8, #22281        rors.w r7, #52282        ror.w r12, #212283 2284@ CHECK: ror.w	r2, r3, #12             @ encoding: [0x4f,0xea,0x33,0x32]2285@ CHECK: rors.w	r8, r3, #31             @ encoding: [0x5f,0xea,0xf3,0x78]2286@ CHECK: rors.w	r2, r3, #1              @ encoding: [0x5f,0xea,0x73,0x02]2287@ CHECK: ror.w	r2, r3, #4              @ encoding: [0x4f,0xea,0x33,0x12]2288@ CHECK: rors.w	r2, r12, #15            @ encoding: [0x5f,0xea,0xfc,0x32]2289 2290@ CHECK: ror.w	r3, r3, #19             @ encoding: [0x4f,0xea,0xf3,0x43]2291@ CHECK: rors.w	r8, r8, #2              @ encoding: [0x5f,0xea,0xb8,0x08]2292@ CHECK: rors.w	r7, r7, #5              @ encoding: [0x5f,0xea,0x77,0x17]2293@ CHECK: ror.w	r12, r12, #21           @ encoding: [0x4f,0xea,0x7c,0x5c]2294 2295 2296@------------------------------------------------------------------------------2297@ ROR (register)2298@------------------------------------------------------------------------------2299        ror r3, r4, r22300        ror.w r1, r22301        rors r3, r4, r82302 2303@ CHECK: ror.w	r3, r4, r2              @ encoding: [0x64,0xfa,0x02,0xf3]2304@ CHECK: ror.w	r1, r1, r2              @ encoding: [0x61,0xfa,0x02,0xf1]2305@ CHECK: rors.w	r3, r4, r8              @ encoding: [0x74,0xfa,0x08,0xf3]2306 2307 2308@------------------------------------------------------------------------------2309@ RRX2310@------------------------------------------------------------------------------2311        rrx r1, r22312        rrxs r1, r22313        ite lt2314        rrxlt r9, r122315        rrxsge r8, r32316 2317@ CHECK: rrx	r1, r2                  @ encoding: [0x4f,0xea,0x32,0x01]2318@ CHECK: rrxs	r1, r2                  @ encoding: [0x5f,0xea,0x32,0x01]2319@ CHECK: ite	lt                      @ encoding: [0xb4,0xbf]2320@ CHECK: rrxlt	r9, r12                 @ encoding: [0x4f,0xea,0x3c,0x09]2321@ CHECK: rrxsge	r8, r3                  @ encoding: [0x5f,0xea,0x33,0x08]2322 2323@------------------------------------------------------------------------------2324@ RSB (immediate)2325@------------------------------------------------------------------------------2326        rsb r2, r5, #0xff0002327        rsbs r3, r12, #0xf2328        rsb r1, #0xff2329        rsb r1, r1, #0xff2330        rsb r11, r11, #02331        rsb r9, #02332        rsbs r3, r1, #02333        rsb r3, r1, #02334 2335@ CHECK: rsb.w	r2, r5, #1044480        @ encoding: [0xc5,0xf5,0x7f,0x22]2336@ CHECK: rsbs.w	r3, r12, #15            @ encoding: [0xdc,0xf1,0x0f,0x03]2337@ CHECK: rsb.w	r1, r1, #255            @ encoding: [0xc1,0xf1,0xff,0x01]2338@ CHECK: rsb.w	r1, r1, #255            @ encoding: [0xc1,0xf1,0xff,0x01]2339@ CHECK: rsb.w	r11, r11, #0            @ encoding: [0xcb,0xf1,0x00,0x0b]2340@ CHECK: rsb.w	r9, r9, #0              @ encoding: [0xc9,0xf1,0x00,0x09]2341@ CHECK: rsbs	r3, r1, #0              @ encoding: [0x4b,0x42]2342@ CHECK: rsb.w	r3, r1, #0              @ encoding: [0xc1,0xf1,0x00,0x03]2343 2344 2345@------------------------------------------------------------------------------2346@ RSB (register)2347@------------------------------------------------------------------------------2348        rsb r4, r82349        rsb.w r4, r82350        rsb r4, r9, r82351        rsb.w r4, r9, r82352        rsb r1, r4, r8, asr #32353        rsb.w r1, r4, r8, asr #32354        rsbs r2, r1, r7, lsl #12355        rsbs.w r2, r1, r7, lsl #12356        rsbs r0, r1, r22357        rsbs.w r0, r1, r22358 2359@ CHECK: rsb	r4, r4, r8              @ encoding: [0xc4,0xeb,0x08,0x04]2360@ CHECK: rsb	r4, r4, r8              @ encoding: [0xc4,0xeb,0x08,0x04]2361@ CHECK: rsb	r4, r9, r8              @ encoding: [0xc9,0xeb,0x08,0x04]2362@ CHECK: rsb	r4, r9, r8              @ encoding: [0xc9,0xeb,0x08,0x04]2363@ CHECK: rsb	r1, r4, r8, asr #3      @ encoding: [0xc4,0xeb,0xe8,0x01]2364@ CHECK: rsb	r1, r4, r8, asr #3      @ encoding: [0xc4,0xeb,0xe8,0x01]2365@ CHECK: rsbs	r2, r1, r7, lsl #1      @ encoding: [0xd1,0xeb,0x47,0x02]2366@ CHECK: rsbs	r2, r1, r7, lsl #1      @ encoding: [0xd1,0xeb,0x47,0x02]2367@ CHECK: rsbs	r0, r1, r2              @ encoding: [0xd1,0xeb,0x02,0x00]2368@ CHECK: rsbs	r0, r1, r2              @ encoding: [0xd1,0xeb,0x02,0x00]2369 2370 2371@------------------------------------------------------------------------------2372@ SADD162373@------------------------------------------------------------------------------2374        sadd16 r3, r4, r82375        it ne2376        sadd16ne r3, r4, r82377 2378@ CHECK: sadd16	r3, r4, r8              @ encoding: [0x94,0xfa,0x08,0xf3]2379@ CHECK: it	ne                      @ encoding: [0x18,0xbf]2380@ CHECK: sadd16ne	r3, r4, r8      @ encoding: [0x94,0xfa,0x08,0xf3]2381 2382 2383@------------------------------------------------------------------------------2384@ SADD82385@------------------------------------------------------------------------------2386        sadd8 r3, r4, r82387        it ne2388        sadd8ne r3, r4, r82389 2390@ CHECK: sadd8	r3, r4, r8              @ encoding: [0x84,0xfa,0x08,0xf3]2391@ CHECK: it	ne                      @ encoding: [0x18,0xbf]2392@ CHECK: sadd8ne r3, r4, r8             @ encoding: [0x84,0xfa,0x08,0xf3]2393 2394 2395@------------------------------------------------------------------------------2396@ SASX2397@------------------------------------------------------------------------------2398        saddsubx r9, r2, r72399        it ne2400        saddsubxne r2, r5, r62401        sasx r9, r2, r72402        it ne2403        sasxne r2, r5, r62404 2405@ CHECK: sasx	r9, r2, r7              @ encoding: [0xa2,0xfa,0x07,0xf9]2406@ CHECK: it	ne                      @ encoding: [0x18,0xbf]2407@ CHECK: sasxne	r2, r5, r6              @ encoding: [0xa5,0xfa,0x06,0xf2]2408@ CHECK: sasx	r9, r2, r7              @ encoding: [0xa2,0xfa,0x07,0xf9]2409@ CHECK: it	ne                      @ encoding: [0x18,0xbf]2410@ CHECK: sasxne	r2, r5, r6              @ encoding: [0xa5,0xfa,0x06,0xf2]2411 2412 2413@------------------------------------------------------------------------------2414@ SBC (immediate)2415@------------------------------------------------------------------------------2416        sbc r0, r1, #42417        sbcs r0, r1, #02418        sbc r1, r2, #2552419        sbc r3, r7, #0x005500552420        sbc r8, r12, #0xaa00aa002421        sbc r9, r7, #0xa5a5a5a52422        sbc r5, r3, #0x870000002423        sbc r4, r2, #0x7f8000002424        sbc r4, r2, #0x000006802425 2426@ CHECK: sbc	r0, r1, #4              @ encoding: [0x61,0xf1,0x04,0x00]2427@ CHECK: sbcs	r0, r1, #0              @ encoding: [0x71,0xf1,0x00,0x00]2428@ CHECK: sbc	r1, r2, #255            @ encoding: [0x62,0xf1,0xff,0x01]2429@ CHECK: sbc	r3, r7, #5570645        @ encoding: [0x67,0xf1,0x55,0x13]2430@ CHECK: sbc	r8, r12, #2852170240    @ encoding: [0x6c,0xf1,0xaa,0x28]2431@ CHECK: sbc	r9, r7, #2779096485     @ encoding: [0x67,0xf1,0xa5,0x39]2432@ CHECK: sbc	r5, r3, #2264924160     @ encoding: [0x63,0xf1,0x07,0x45]2433@ CHECK: sbc	r4, r2, #2139095040     @ encoding: [0x62,0xf1,0xff,0x44]2434@ CHECK: sbc	r4, r2, #1664           @ encoding: [0x62,0xf5,0xd0,0x64]2435 2436 2437@------------------------------------------------------------------------------2438@ SBC (register)2439@------------------------------------------------------------------------------2440        sbc r4, r5, r62441        sbcs r4, r5, r62442        sbc.w r9, r1, r32443        sbcs.w r9, r1, r32444        sbc	r0, r1, r3, ror #42445        sbcs	r0, r1, r3, lsl #72446        sbc.w	r0, r1, r3, lsr #312447        sbcs.w	r0, r1, r3, asr #322448 2449@ CHECK: sbc.w	r4, r5, r6              @ encoding: [0x65,0xeb,0x06,0x04]2450@ CHECK: sbcs.w	r4, r5, r6              @ encoding: [0x75,0xeb,0x06,0x04]2451@ CHECK: sbc.w	r9, r1, r3              @ encoding: [0x61,0xeb,0x03,0x09]2452@ CHECK: sbcs.w	r9, r1, r3              @ encoding: [0x71,0xeb,0x03,0x09]2453@ CHECK: sbc.w	r0, r1, r3, ror #4      @ encoding: [0x61,0xeb,0x33,0x10]2454@ CHECK: sbcs.w	r0, r1, r3, lsl #7      @ encoding: [0x71,0xeb,0xc3,0x10]2455@ CHECK: sbc.w	r0, r1, r3, lsr #31     @ encoding: [0x61,0xeb,0xd3,0x70]2456@ CHECK: sbcs.w	r0, r1, r3, asr #32     @ encoding: [0x71,0xeb,0x23,0x00]2457 2458 2459@------------------------------------------------------------------------------2460@ SBFX2461@------------------------------------------------------------------------------2462        sbfx r4, r5, #16, #12463        it gt2464        sbfxgt r4, r5, #16, #162465 2466@ CHECK: sbfx	r4, r5, #16, #1         @ encoding: [0x45,0xf3,0x00,0x44]2467@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]2468@ CHECK: sbfxgt	r4, r5, #16, #16        @ encoding: [0x45,0xf3,0x0f,0x44]2469 2470 2471@------------------------------------------------------------------------------2472@ SEL2473@------------------------------------------------------------------------------2474        sel r5, r9, r22475        it le2476        selle r5, r9, r22477 2478@ CHECK: sel	r5, r9, r2              @ encoding: [0xa9,0xfa,0x82,0xf5]2479@ CHECK: it	le                      @ encoding: [0xd8,0xbf]2480@ CHECK: selle	r5, r9, r2              @ encoding: [0xa9,0xfa,0x82,0xf5]2481 2482 2483@------------------------------------------------------------------------------2484@ SEV2485@------------------------------------------------------------------------------2486        sev.w2487        it eq2488        seveq.w2489 2490@ CHECK: sev.w                           @ encoding: [0xaf,0xf3,0x04,0x80]2491@ CHECK: it	eq                       @ encoding: [0x08,0xbf]2492@ CHECK: seveq.w                         @ encoding: [0xaf,0xf3,0x04,0x80]2493 2494 2495@------------------------------------------------------------------------------2496@ SADD16/SADD82497@------------------------------------------------------------------------------2498        sadd16 r1, r2, r32499        sadd8 r1, r2, r32500        ite gt2501        sadd16gt r1, r2, r32502        sadd8le r1, r2, r32503 2504@ CHECK: sadd16	r1, r2, r3              @ encoding: [0x92,0xfa,0x03,0xf1]2505@ CHECK: sadd8	r1, r2, r3              @ encoding: [0x82,0xfa,0x03,0xf1]2506@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]2507@ CHECK: sadd16gt	r1, r2, r3      @ encoding: [0x92,0xfa,0x03,0xf1]2508@ CHECK: sadd8le r1, r2, r3             @ encoding: [0x82,0xfa,0x03,0xf1]2509 2510 2511@------------------------------------------------------------------------------2512@ SHASX2513@------------------------------------------------------------------------------2514        shasx r4, r8, r22515        it gt2516        shasxgt r4, r8, r22517        shaddsubx r4, r8, r22518        it gt2519        shaddsubxgt r4, r8, r22520 2521@ CHECK: shasx	r4, r8, r2              @ encoding: [0xa8,0xfa,0x22,0xf4]2522@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]2523@ CHECK: shasxgt r4, r8, r2             @ encoding: [0xa8,0xfa,0x22,0xf4]2524@ CHECK: shasx	r4, r8, r2              @ encoding: [0xa8,0xfa,0x22,0xf4]2525@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]2526@ CHECK: shasxgt r4, r8, r2             @ encoding: [0xa8,0xfa,0x22,0xf4]2527 2528 2529@------------------------------------------------------------------------------2530@ SHASX2531@------------------------------------------------------------------------------2532        shsax r4, r8, r22533        it gt2534        shsaxgt r4, r8, r22535        shsubaddx r4, r8, r22536        it gt2537        shsubaddxgt r4, r8, r22538 2539@ CHECK: shsax	r4, r8, r2              @ encoding: [0xe8,0xfa,0x22,0xf4]2540@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]2541@ CHECK: shsaxgt r4, r8, r2             @ encoding: [0xe8,0xfa,0x22,0xf4]2542@ CHECK: shsax	r4, r8, r2              @ encoding: [0xe8,0xfa,0x22,0xf4]2543@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]2544@ CHECK: shsaxgt r4, r8, r2             @ encoding: [0xe8,0xfa,0x22,0xf4]2545 2546 2547@------------------------------------------------------------------------------2548@ SHSUB16/SHSUB82549@------------------------------------------------------------------------------2550        shsub16 r4, r8, r22551        shsub8 r4, r8, r22552        itt gt2553        shsub16gt r4, r8, r22554        shsub8gt r4, r8, r22555 2556@ CHECK: shsub16 r4, r8, r2             @ encoding: [0xd8,0xfa,0x22,0xf4]2557@ CHECK: shsub8	r4, r8, r2              @ encoding: [0xc8,0xfa,0x22,0xf4]2558@ CHECK: itt	gt                      @ encoding: [0xc4,0xbf]2559@ CHECK: shsub16gt	r4, r8, r2      @ encoding: [0xd8,0xfa,0x22,0xf4]2560@ CHECK: shsub8gt	r4, r8, r2      @ encoding: [0xc8,0xfa,0x22,0xf4]2561 2562 2563@------------------------------------------------------------------------------2564@ SMLABB/SMLABT/SMLATB/SMLATT2565@------------------------------------------------------------------------------2566        smlabb r3, r1, r9, r02567        smlabt r5, r6, r4, r12568        smlatb r4, r2, r3, r22569        smlatt r8, r3, r8, r42570        itete gt2571        smlabbgt r3, r1, r9, r02572        smlabtle r5, r6, r4, r12573        smlatbgt r4, r2, r3, r22574        smlattle r8, r3, r8, r42575 2576@ CHECK: smlabb	r3, r1, r9, r0          @ encoding: [0x11,0xfb,0x09,0x03]2577@ CHECK: smlabt	r5, r6, r4, r1          @ encoding: [0x16,0xfb,0x14,0x15]2578@ CHECK: smlatb	r4, r2, r3, r2          @ encoding: [0x12,0xfb,0x23,0x24]2579@ CHECK: smlatt	r8, r3, r8, r4          @ encoding: [0x13,0xfb,0x38,0x48]2580@ CHECK: itete	gt                      @ encoding: [0xcb,0xbf]2581@ CHECK: smlabbgt	r3, r1, r9, r0  @ encoding: [0x11,0xfb,0x09,0x03]2582@ CHECK: smlabtle	r5, r6, r4, r1  @ encoding: [0x16,0xfb,0x14,0x15]2583@ CHECK: smlatbgt	r4, r2, r3, r2  @ encoding: [0x12,0xfb,0x23,0x24]2584@ CHECK: smlattle	r8, r3, r8, r4  @ encoding: [0x13,0xfb,0x38,0x48]2585 2586 2587@------------------------------------------------------------------------------2588@ SMLAD/SMLADX2589@------------------------------------------------------------------------------2590        smlad r2, r3, r5, r82591        smladx r2, r3, r5, r82592        itt hi2593        smladhi r2, r3, r5, r82594        smladxhi r2, r3, r5, r82595 2596@ CHECK: smlad	r2, r3, r5, r8          @ encoding: [0x23,0xfb,0x05,0x82]2597@ CHECK: smladx	r2, r3, r5, r8          @ encoding: [0x23,0xfb,0x15,0x82]2598@ CHECK: itt	hi                      @ encoding: [0x84,0xbf]2599@ CHECK: smladhi r2, r3, r5, r8         @ encoding: [0x23,0xfb,0x05,0x82]2600@ CHECK: smladxhi	r2, r3, r5, r8  @ encoding: [0x23,0xfb,0x15,0x82]2601 2602 2603@------------------------------------------------------------------------------2604@ SMLAL2605@------------------------------------------------------------------------------2606        smlal r2, r3, r5, r82607        it eq2608        smlaleq r2, r3, r5, r82609 2610@ CHECK: smlal	r2, r3, r5, r8          @ encoding: [0xc5,0xfb,0x08,0x23]2611@ CHECK: it	eq                      @ encoding: [0x08,0xbf]2612@ CHECK: smlaleq r2, r3, r5, r8         @ encoding: [0xc5,0xfb,0x08,0x23]2613 2614 2615@------------------------------------------------------------------------------2616@ SMLALBB/SMLALBT/SMLALTB/SMLALTT2617@------------------------------------------------------------------------------2618        smlalbb r3, r1, r9, r02619        smlalbt r5, r6, r4, r12620        smlaltb r4, r2, r3, r22621        smlaltt r8, r3, r8, r42622        iteet ge2623        smlalbbge r3, r1, r9, r02624        smlalbtlt r5, r6, r4, r12625        smlaltblt r4, r2, r3, r22626        smlalttge r8, r3, r8, r42627 2628@ CHECK: smlalbb r3, r1, r9, r0         @ encoding: [0xc9,0xfb,0x80,0x31]2629@ CHECK: smlalbt r5, r6, r4, r1         @ encoding: [0xc4,0xfb,0x91,0x56]2630@ CHECK: smlaltb r4, r2, r3, r2         @ encoding: [0xc3,0xfb,0xa2,0x42]2631@ CHECK: smlaltt r8, r3, r8, r4         @ encoding: [0xc8,0xfb,0xb4,0x83]2632@ CHECK: iteet	ge                      @ encoding: [0xad,0xbf]2633@ CHECK: smlalbbge	r3, r1, r9, r0  @ encoding: [0xc9,0xfb,0x80,0x31]2634@ CHECK: smlalbtlt	r5, r6, r4, r1  @ encoding: [0xc4,0xfb,0x91,0x56]2635@ CHECK: smlaltblt	r4, r2, r3, r2  @ encoding: [0xc3,0xfb,0xa2,0x42]2636@ CHECK: smlalttge	r8, r3, r8, r4  @ encoding: [0xc8,0xfb,0xb4,0x83]2637 2638 2639@------------------------------------------------------------------------------2640@ SMLALD/SMLALDX2641@------------------------------------------------------------------------------2642        smlald r2, r3, r5, r82643        smlaldx r2, r3, r5, r82644        ite eq2645        smlaldeq r2, r3, r5, r82646        smlaldxne r2, r3, r5, r82647 2648@ CHECK: smlald	r2, r3, r5, r8          @ encoding: [0xc5,0xfb,0xc8,0x23]2649@ CHECK: smlaldx r2, r3, r5, r8         @ encoding: [0xc5,0xfb,0xd8,0x23]2650@ CHECK: ite	eq                      @ encoding: [0x0c,0xbf]2651@ CHECK: smlaldeq	r2, r3, r5, r8  @ encoding: [0xc5,0xfb,0xc8,0x23]2652@ CHECK: smlaldxne	r2, r3, r5, r8  @ encoding: [0xc5,0xfb,0xd8,0x23]2653 2654 2655@------------------------------------------------------------------------------2656@ SMLAWB/SMLAWT2657@------------------------------------------------------------------------------2658        smlawb r2, r3, r10, r82659        smlawt r8, r3, r5, r92660        ite eq2661        smlawbeq r2, r7, r5, r82662        smlawtne r1, r3, r0, r82663 2664@ CHECK: smlawb	r2, r3, r10, r8         @ encoding: [0x33,0xfb,0x0a,0x82]2665@ CHECK: smlawt	r8, r3, r5, r9          @ encoding: [0x33,0xfb,0x15,0x98]2666@ CHECK: ite	eq                      @ encoding: [0x0c,0xbf]2667@ CHECK: smlawbeq	r2, r7, r5, r8  @ encoding: [0x37,0xfb,0x05,0x82]2668@ CHECK: smlawtne	r1, r3, r0, r8  @ encoding: [0x33,0xfb,0x10,0x81]2669 2670 2671@------------------------------------------------------------------------------2672@ SMLSD/SMLSDX2673@------------------------------------------------------------------------------2674        smlsd r2, r3, r5, r82675        smlsdx r2, r3, r5, r82676        ite le2677        smlsdle r2, r3, r5, r82678        smlsdxgt r2, r3, r5, r82679 2680@ CHECK: smlsd	r2, r3, r5, r8          @ encoding: [0x43,0xfb,0x05,0x82]2681@ CHECK: smlsdx	r2, r3, r5, r8          @ encoding: [0x43,0xfb,0x15,0x82]2682@ CHECK: ite	le                      @ encoding: [0xd4,0xbf]2683@ CHECK: smlsdle	r2, r3, r5, r8  @ encoding: [0x43,0xfb,0x05,0x82]2684@ CHECK: smlsdxgt	r2, r3, r5, r8  @ encoding: [0x43,0xfb,0x15,0x82]2685 2686 2687@------------------------------------------------------------------------------2688@ SMLSLD/SMLSLDX2689@------------------------------------------------------------------------------2690        smlsld r2, r9, r5, r12691        smlsldx r4, r11, r2, r82692        ite ge2693        smlsldge r8, r2, r5, r62694        smlsldxlt r1, r0, r3, r82695 2696@ CHECK: smlsld	r2, r9, r5, r1          @ encoding: [0xd5,0xfb,0xc1,0x29]2697@ CHECK: smlsldx	r4, r11, r2, r8 @ encoding: [0xd2,0xfb,0xd8,0x4b]2698@ CHECK: ite	ge                      @ encoding: [0xac,0xbf]2699@ CHECK: smlsldge	r8, r2, r5, r6  @ encoding: [0xd5,0xfb,0xc6,0x82]2700@ CHECK: smlsldxlt	r1, r0, r3, r8  @ encoding: [0xd3,0xfb,0xd8,0x10]2701 2702 2703@------------------------------------------------------------------------------2704@ SMMLA/SMMLAR2705@------------------------------------------------------------------------------2706        smmla r1, r2, r3, r42707        smmlar r4, r3, r2, r12708        ite lo2709        smmlalo r1, r2, r3, r42710        smmlarcs r4, r3, r2, r12711 2712@ CHECK: smmla	r1, r2, r3, r4          @ encoding: [0x52,0xfb,0x03,0x41]2713@ CHECK: smmlar	r4, r3, r2, r1          @ encoding: [0x53,0xfb,0x12,0x14]2714@ CHECK: ite	lo                      @ encoding: [0x34,0xbf]2715@ CHECK: smmlalo	r1, r2, r3, r4  @ encoding: [0x52,0xfb,0x03,0x41]2716@ CHECK: smmlarhs	r4, r3, r2, r1  @ encoding: [0x53,0xfb,0x12,0x14]2717 2718 2719@------------------------------------------------------------------------------2720@ SMMLS/SMMLSR2721@------------------------------------------------------------------------------2722        smmls r1, r2, r3, r42723        smmlsr r4, r3, r2, r12724        ite lo2725        smmlslo r1, r2, r3, r42726        smmlsrcs r4, r3, r2, r12727 2728@ CHECK: smmls	r1, r2, r3, r4          @ encoding: [0x62,0xfb,0x03,0x41]2729@ CHECK: smmlsr	r4, r3, r2, r1          @ encoding: [0x63,0xfb,0x12,0x14]2730@ CHECK: ite	lo                      @ encoding: [0x34,0xbf]2731@ CHECK: smmlslo	r1, r2, r3, r4  @ encoding: [0x62,0xfb,0x03,0x41]2732@ CHECK: smmlsrhs	r4, r3, r2, r1  @ encoding: [0x63,0xfb,0x12,0x14]2733 2734 2735@------------------------------------------------------------------------------2736@ SMMUL/SMMULR2737@------------------------------------------------------------------------------2738        smmul r2, r3, r42739        smmulr r3, r2, r12740        ite cc2741        smmulcc r2, r3, r42742        smmulrhs r3, r2, r12743 2744@ CHECK: smmul	r2, r3, r4              @ encoding: [0x53,0xfb,0x04,0xf2]2745@ CHECK: smmulr	r3, r2, r1              @ encoding: [0x52,0xfb,0x11,0xf3]2746@ CHECK: ite	lo                      @ encoding: [0x34,0xbf]2747@ CHECK: smmullo	r2, r3, r4      @ encoding: [0x53,0xfb,0x04,0xf2]2748@ CHECK: smmulrhs	r3, r2, r1      @ encoding: [0x52,0xfb,0x11,0xf3]2749 2750 2751@------------------------------------------------------------------------------2752@ SMUAD/SMUADX2753@------------------------------------------------------------------------------2754        smuad r2, r3, r42755        smuadx r3, r2, r12756        ite lt2757        smuadlt r2, r3, r42758        smuadxge r3, r2, r12759 2760@ CHECK: smuad	r2, r3, r4              @ encoding: [0x23,0xfb,0x04,0xf2]2761@ CHECK: smuadx	r3, r2, r1              @ encoding: [0x22,0xfb,0x11,0xf3]2762@ CHECK: ite	lt                      @ encoding: [0xb4,0xbf]2763@ CHECK: smuadlt	r2, r3, r4      @ encoding: [0x23,0xfb,0x04,0xf2]2764@ CHECK: smuadxge	r3, r2, r1      @ encoding: [0x22,0xfb,0x11,0xf3]2765 2766 2767@------------------------------------------------------------------------------2768@ SMULBB/SMULBT/SMULTB/SMULTT2769@------------------------------------------------------------------------------2770        smulbb r3, r9, r02771        smulbt r5, r4, r12772        smultb r4, r2, r22773        smultt r8, r3, r42774        itete ge2775        smulbbge r1, r9, r02776        smulbtlt r5, r6, r42777        smultbge r2, r3, r22778        smulttlt r8, r3, r42779 2780@ CHECK: smulbb	r3, r9, r0              @ encoding: [0x19,0xfb,0x00,0xf3]2781@ CHECK: smulbt	r5, r4, r1              @ encoding: [0x14,0xfb,0x11,0xf5]2782@ CHECK: smultb	r4, r2, r2              @ encoding: [0x12,0xfb,0x22,0xf4]2783@ CHECK: smultt	r8, r3, r4              @ encoding: [0x13,0xfb,0x34,0xf8]2784@ CHECK: itete	ge                      @ encoding: [0xab,0xbf]2785@ CHECK: smulbbge	r1, r9, r0      @ encoding: [0x19,0xfb,0x00,0xf1]2786@ CHECK: smulbtlt	r5, r6, r4      @ encoding: [0x16,0xfb,0x14,0xf5]2787@ CHECK: smultbge	r2, r3, r2      @ encoding: [0x13,0xfb,0x22,0xf2]2788@ CHECK: smulttlt	r8, r3, r4      @ encoding: [0x13,0xfb,0x34,0xf8]2789 2790 2791@------------------------------------------------------------------------------2792@ SMULL2793@------------------------------------------------------------------------------2794        smull r3, r9, r0, r12795        it eq2796        smulleq r8, r3, r4, r52797 2798@ CHECK: smull	r3, r9, r0, r1          @ encoding: [0x80,0xfb,0x01,0x39]2799@ CHECK: it	eq                      @ encoding: [0x08,0xbf]2800@ CHECK: smulleq r8, r3, r4, r5         @ encoding: [0x84,0xfb,0x05,0x83]2801 2802 2803@------------------------------------------------------------------------------2804@ SMULWB/SMULWT2805@------------------------------------------------------------------------------2806        smulwb r3, r9, r02807        smulwt r3, r9, r22808        ite gt2809        smulwbgt r3, r9, r02810        smulwtle r3, r9, r22811 2812@ CHECK: smulwb	r3, r9, r0              @ encoding: [0x39,0xfb,0x00,0xf3]2813@ CHECK: smulwt	r3, r9, r2              @ encoding: [0x39,0xfb,0x12,0xf3]2814@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]2815@ CHECK: smulwbgt	r3, r9, r0      @ encoding: [0x39,0xfb,0x00,0xf3]2816@ CHECK: smulwtle	r3, r9, r2      @ encoding: [0x39,0xfb,0x12,0xf3]2817 2818 2819@------------------------------------------------------------------------------2820@ SMUSD/SMUSDX2821@------------------------------------------------------------------------------2822        smusd r3, r0, r12823        smusdx r3, r9, r22824        ite eq2825        smusdeq r8, r3, r22826        smusdxne r7, r4, r32827 2828@ CHECK: smusd	r3, r0, r1              @ encoding: [0x40,0xfb,0x01,0xf3]2829@ CHECK: smusdx	r3, r9, r2              @ encoding: [0x49,0xfb,0x12,0xf3]2830@ CHECK: ite	eq                      @ encoding: [0x0c,0xbf]2831@ CHECK: smusdeq	r8, r3, r2      @ encoding: [0x43,0xfb,0x02,0xf8]2832@ CHECK: smusdxne	r7, r4, r3      @ encoding: [0x44,0xfb,0x13,0xf7]2833 2834 2835@------------------------------------------------------------------------------2836@ SRS2837@------------------------------------------------------------------------------2838        srsdb sp, #12839        srsia sp, #02840 2841        srsdb sp!, #192842        srsia sp!, #22843 2844        srsea sp, #102845        srsfd sp, #92846 2847        srsea sp!, #52848        srsfd sp!, #52849 2850        srs sp, #52851        srs sp!, #52852 2853@ CHECK: srsdb	sp, #1                  @ encoding: [0x0d,0xe8,0x01,0xc0]2854@ CHECK: srsia	sp, #0                  @ encoding: [0x8d,0xe9,0x00,0xc0]2855@ CHECK: srsdb	sp!, #19                @ encoding: [0x2d,0xe8,0x13,0xc0]2856@ CHECK: srsia	sp!, #2                 @ encoding: [0xad,0xe9,0x02,0xc0]2857@ CHECK: srsia	sp, #10                 @ encoding: [0x8d,0xe9,0x0a,0xc0]2858@ CHECK: srsdb	sp, #9                  @ encoding: [0x0d,0xe8,0x09,0xc0]2859@ CHECK: srsia	sp!, #5                 @ encoding: [0xad,0xe9,0x05,0xc0]2860@ CHECK: srsdb	sp!, #5                 @ encoding: [0x2d,0xe8,0x05,0xc0]2861@ CHECK: srsia	sp, #5                  @ encoding: [0x8d,0xe9,0x05,0xc0]2862@ CHECK: srsia	sp!, #5                 @ encoding: [0xad,0xe9,0x05,0xc0]2863 2864        srsdb #12865        srsia #02866 2867        srsdb #19!2868        srsia #2!2869 2870        srsea #102871        srsfd #92872 2873        srsea #5!2874        srsfd #5!2875 2876        srs #52877        srs #5!2878 2879@ CHECK: srsdb	sp, #1                  @ encoding: [0x0d,0xe8,0x01,0xc0]2880@ CHECK: srsia	sp, #0                  @ encoding: [0x8d,0xe9,0x00,0xc0]2881@ CHECK: srsdb	sp!, #19                @ encoding: [0x2d,0xe8,0x13,0xc0]2882@ CHECK: srsia	sp!, #2                 @ encoding: [0xad,0xe9,0x02,0xc0]2883@ CHECK: srsia	sp, #10                 @ encoding: [0x8d,0xe9,0x0a,0xc0]2884@ CHECK: srsdb	sp, #9                  @ encoding: [0x0d,0xe8,0x09,0xc0]2885@ CHECK: srsia	sp!, #5                 @ encoding: [0xad,0xe9,0x05,0xc0]2886@ CHECK: srsdb	sp!, #5                 @ encoding: [0x2d,0xe8,0x05,0xc0]2887@ CHECK: srsia	sp, #5                  @ encoding: [0x8d,0xe9,0x05,0xc0]2888@ CHECK: srsia	sp!, #5                 @ encoding: [0xad,0xe9,0x05,0xc0]2889 2890 2891@------------------------------------------------------------------------------2892@ SSAT2893@------------------------------------------------------------------------------2894        ssat	r8, #1, r102895        ssat	r8, #1, r10, lsl #02896        ssat	r8, #1, r10, lsl #312897        ssat	r8, #1, r10, asr #12898 2899@ CHECK: ssat	r8, #1, r10             @ encoding: [0x0a,0xf3,0x00,0x08]2900@ CHECK: ssat	r8, #1, r10             @ encoding: [0x0a,0xf3,0x00,0x08]2901@ CHECK: ssat	r8, #1, r10, lsl #31    @ encoding: [0x0a,0xf3,0xc0,0x78]2902@ CHECK: ssat	r8, #1, r10, asr #1     @ encoding: [0x2a,0xf3,0x40,0x08]2903 2904 2905@------------------------------------------------------------------------------2906@ SSAT162907@------------------------------------------------------------------------------2908        ssat16	r2, #1, r72909        ssat16	r3, #16, r52910 2911@ CHECK: ssat16	r2, #1, r7              @ encoding: [0x27,0xf3,0x00,0x02]2912@ CHECK: ssat16	r3, #16, r5             @ encoding: [0x25,0xf3,0x0f,0x03]2913 2914 2915@------------------------------------------------------------------------------2916@ SSAX2917@------------------------------------------------------------------------------2918        ssubaddx r2, r3, r42919        it lt2920        ssubaddxlt r2, r3, r42921        ssax r2, r3, r42922        it lt2923        ssaxlt r2, r3, r42924 2925@ CHECK: ssax	r2, r3, r4              @ encoding: [0xe3,0xfa,0x04,0xf2]2926@ CHECK: it	lt                      @ encoding: [0xb8,0xbf]2927@ CHECK: ssaxlt	r2, r3, r4              @ encoding: [0xe3,0xfa,0x04,0xf2]2928@ CHECK: ssax	r2, r3, r4              @ encoding: [0xe3,0xfa,0x04,0xf2]2929@ CHECK: it	lt                      @ encoding: [0xb8,0xbf]2930@ CHECK: ssaxlt	r2, r3, r4              @ encoding: [0xe3,0xfa,0x04,0xf2]2931 2932 2933@------------------------------------------------------------------------------2934@ SSUB16/SSUB82935@------------------------------------------------------------------------------2936        ssub16 r1, r0, r62937        ssub8 r9, r2, r42938        ite ne2939        ssub16ne r5, r3, r22940        ssub8eq r5, r1, r22941 2942@ CHECK: ssub16	r1, r0, r6              @ encoding: [0xd0,0xfa,0x06,0xf1]2943@ CHECK: ssub8	r9, r2, r4              @ encoding: [0xc2,0xfa,0x04,0xf9]2944@ CHECK: ite	ne                      @ encoding: [0x14,0xbf]2945@ CHECK: ssub16ne	r5, r3, r2      @ encoding: [0xd3,0xfa,0x02,0xf5]2946@ CHECK: ssub8eq	r5, r1, r2      @ encoding: [0xc1,0xfa,0x02,0xf5]2947 2948 2949@------------------------------------------------------------------------------2950@ STC{L}/STC2{L}2951@------------------------------------------------------------------------------2952        stc2 p0, c8, [r1, #4]2953        stc2 p1, c7, [r2]2954        stc2 p2, c6, [r3, #-224]2955        stc2 p3, c5, [r4, #-120]!2956        stc2 p4, c4, [r5], #162957        stc2 p5, c3, [r6], #-722958        stc2l p6, c2, [r7, #4]2959        stc2l p7, c1, [r8]2960        stc2l p8, c0, [r9, #-224]2961        stc2l p9, c1, [r10, #-120]!2962        stc2l p0, c2, [r11], #162963        stc2l p1, c3, [r12], #-722964 2965        stc p12, c4, [r0, #4]2966        stc p13, c5, [r1]2967        stc p14, c6, [r2, #-224]2968        stc p15, c7, [r3, #-120]!2969        stc p5, c8, [r4], #162970        stc p4, c9, [r5], #-722971        stcl p3, c10, [r6, #4]2972        stcl p2, c11, [r7]2973        stcl p1, c12, [r8, #-224]2974        stcl p0, c13, [r9, #-120]!2975        stcl p6, c14, [r10], #162976        stcl p7, c15, [r11], #-722977 2978        stc2 p2, c8, [r1], { 25 }2979 2980@ CHECK: stc2	p0, c8, [r1, #4]        @ encoding: [0x81,0xfd,0x01,0x80]2981@ CHECK: stc2	p1, c7, [r2]            @ encoding: [0x82,0xfd,0x00,0x71]2982@ CHECK: stc2	p2, c6, [r3, #-224]     @ encoding: [0x03,0xfd,0x38,0x62]2983@ CHECK: stc2	p3, c5, [r4, #-120]!    @ encoding: [0x24,0xfd,0x1e,0x53]2984@ CHECK: stc2	p4, c4, [r5], #16       @ encoding: [0xa5,0xfc,0x04,0x44]2985@ CHECK: stc2	p5, c3, [r6], #-72      @ encoding: [0x26,0xfc,0x12,0x35]2986@ CHECK: stc2l	p6, c2, [r7, #4]        @ encoding: [0xc7,0xfd,0x01,0x26]2987@ CHECK: stc2l	p7, c1, [r8]            @ encoding: [0xc8,0xfd,0x00,0x17]2988@ CHECK: stc2l	p8, c0, [r9, #-224]     @ encoding: [0x49,0xfd,0x38,0x08]2989@ CHECK: stc2l	p9, c1, [r10, #-120]!   @ encoding: [0x6a,0xfd,0x1e,0x19]2990@ CHECK: stc2l	p0, c2, [r11], #16      @ encoding: [0xeb,0xfc,0x04,0x20]2991@ CHECK: stc2l	p1, c3, [r12], #-72     @ encoding: [0x6c,0xfc,0x12,0x31]2992 2993@ CHECK: stc	p12, c4, [r0, #4]       @ encoding: [0x80,0xed,0x01,0x4c]2994@ CHECK: stc	p13, c5, [r1]           @ encoding: [0x81,0xed,0x00,0x5d]2995@ CHECK: stc	p14, c6, [r2, #-224]    @ encoding: [0x02,0xed,0x38,0x6e]2996@ CHECK: stc	p15, c7, [r3, #-120]!   @ encoding: [0x23,0xed,0x1e,0x7f]2997@ CHECK: stc	p5, c8, [r4], #16       @ encoding: [0xa4,0xec,0x04,0x85]2998@ CHECK: stc	p4, c9, [r5], #-72      @ encoding: [0x25,0xec,0x12,0x94]2999@ CHECK: stcl	p3, c10, [r6, #4]       @ encoding: [0xc6,0xed,0x01,0xa3]3000@ CHECK: stcl	p2, c11, [r7]           @ encoding: [0xc7,0xed,0x00,0xb2]3001@ CHECK: stcl	p1, c12, [r8, #-224]    @ encoding: [0x48,0xed,0x38,0xc1]3002@ CHECK: stcl	p0, c13, [r9, #-120]!   @ encoding: [0x69,0xed,0x1e,0xd0]3003@ CHECK: stcl	p6, c14, [r10], #16     @ encoding: [0xea,0xec,0x04,0xe6]3004@ CHECK: stcl	p7, c15, [r11], #-72    @ encoding: [0x6b,0xec,0x12,0xf7]3005 3006@ CHECK: stc2	p2, c8, [r1], {25}      @ encoding: [0x81,0xfc,0x19,0x82]3007 3008 3009@------------------------------------------------------------------------------3010@ STMIA3011@------------------------------------------------------------------------------3012        stmia.w r4, {r4, r5, r8, r9}3013        stmia.w r4, {r5, r6}3014        stmia.w r5!, {r3, r8}3015        stm.w r4, {r4, r5, r8, r9}3016        stm.w r4, {r5, r6}3017        stm.w r5!, {r3, r8}3018        stm.w r5!, {r1, r2}3019        stm.w r2, {r1, r2}3020 3021        stmia r4, {r4, r5, r8, r9}3022        stmia r4, {r5, r6}3023        stmia r5!, {r3, r8}3024        stm r4, {r4, r5, r8, r9}3025        stm r4, {r5, r6}3026        stm r5!, {r3, r8}3027        stmea r5!, {r3, r8}3028 3029@ CHECK: stm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x84,0xe8,0x30,0x03]3030@ CHECK: stm.w	r4, {r5, r6}            @ encoding: [0x84,0xe8,0x60,0x00]3031@ CHECK: stm.w	r5!, {r3, r8}           @ encoding: [0xa5,0xe8,0x08,0x01]3032@ CHECK: stm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x84,0xe8,0x30,0x03]3033@ CHECK: stm.w	r4, {r5, r6}            @ encoding: [0x84,0xe8,0x60,0x00]3034@ CHECK: stm.w	r5!, {r3, r8}           @ encoding: [0xa5,0xe8,0x08,0x01]3035@ CHECK: stm.w	r5!, {r1, r2}           @ encoding: [0xa5,0xe8,0x06,0x00]3036@ CHECK: stm.w	r2, {r1, r2}            @ encoding: [0x82,0xe8,0x06,0x00]3037 3038@ CHECK: stm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x84,0xe8,0x30,0x03]3039@ CHECK: stm.w	r4, {r5, r6}            @ encoding: [0x84,0xe8,0x60,0x00]3040@ CHECK: stm.w	r5!, {r3, r8}           @ encoding: [0xa5,0xe8,0x08,0x01]3041@ CHECK: stm.w	r4, {r4, r5, r8, r9}    @ encoding: [0x84,0xe8,0x30,0x03]3042@ CHECK: stm.w	r4, {r5, r6}            @ encoding: [0x84,0xe8,0x60,0x00]3043@ CHECK: stm.w	r5!, {r3, r8}           @ encoding: [0xa5,0xe8,0x08,0x01]3044@ CHECK: stm.w	r5!, {r3, r8}           @ encoding: [0xa5,0xe8,0x08,0x01]3045 3046 3047@------------------------------------------------------------------------------3048@ STMDB3049@------------------------------------------------------------------------------3050        stmdb r4, {r4, r5, r8, r9}3051        stmdb r4, {r5, r6}3052        stmdb r5!, {r3, r8}3053        stmea r5!, {r3, r8}3054        stmdb.w r5, {r0, r1}3055 3056@ CHECK: stmdb	r4, {r4, r5, r8, r9}    @ encoding: [0x04,0xe9,0x30,0x03]3057@ CHECK: stmdb	r4, {r5, r6}            @ encoding: [0x04,0xe9,0x60,0x00]3058@ CHECK: stmdb	r5!, {r3, r8}           @ encoding: [0x25,0xe9,0x08,0x01]3059@ CHECK: stm.w	r5!, {r3, r8}           @ encoding: [0xa5,0xe8,0x08,0x01]3060@ CHECK: stmdb	r5, {r0, r1}            @ encoding: [0x05,0xe9,0x03,0x00]3061 3062 3063@------------------------------------------------------------------------------3064@ STR(immediate)3065@------------------------------------------------------------------------------3066        str r5, [r5, #-4]3067        str r5, [r6, #32]3068        str r5, [r6, #33]3069        str r5, [r6, #257]3070        str.w pc, [r7, #257]3071        str r2, [r4, #255]!3072        str r8, [sp, #4]!3073        str lr, [sp, #-4]!3074        str r2, [r4], #2553075        str r8, [sp], #43076        str lr, [sp], #-43077 3078@ CHECK: str	r5, [r5, #-4]           @ encoding: [0x45,0xf8,0x04,0x5c]3079@ CHECK: str	r5, [r6, #32]           @ encoding: [0x35,0x62]3080@ CHECK: str.w	r5, [r6, #33]           @ encoding: [0xc6,0xf8,0x21,0x50]3081@ CHECK: str.w	r5, [r6, #257]          @ encoding: [0xc6,0xf8,0x01,0x51]3082@ CHECK: str.w	pc, [r7, #257]          @ encoding: [0xc7,0xf8,0x01,0xf1]3083@ CHECK: str	r2, [r4, #255]!         @ encoding: [0x44,0xf8,0xff,0x2f]3084@ CHECK: str	r8, [sp, #4]!           @ encoding: [0x4d,0xf8,0x04,0x8f]3085@ CHECK: str	lr, [sp, #-4]!          @ encoding: [0x4d,0xf8,0x04,0xed]3086@ CHECK: str	r2, [r4], #255          @ encoding: [0x44,0xf8,0xff,0x2b]3087@ CHECK: str	r8, [sp], #4            @ encoding: [0x4d,0xf8,0x04,0x8b]3088@ CHECK: str	lr, [sp], #-4           @ encoding: [0x4d,0xf8,0x04,0xe9]3089 3090 3091@------------------------------------------------------------------------------3092@ STR(register)3093@------------------------------------------------------------------------------3094        str r1, [r8, r1]3095        str.w r4, [r5, r2]3096        str r6, [r0, r2, lsl #3]3097        str r8, [r8, r2, lsl #2]3098        str r7, [sp, r2, lsl #1]3099        str r7, [sp, r2, lsl #0]3100 3101@ CHECK: str.w	r1, [r8, r1]            @ encoding: [0x48,0xf8,0x01,0x10]3102@ CHECK: str.w	r4, [r5, r2]            @ encoding: [0x45,0xf8,0x02,0x40]3103@ CHECK: str.w	r6, [r0, r2, lsl #3]    @ encoding: [0x40,0xf8,0x32,0x60]3104@ CHECK: str.w	r8, [r8, r2, lsl #2]    @ encoding: [0x48,0xf8,0x22,0x80]3105@ CHECK: str.w	r7, [sp, r2, lsl #1]    @ encoding: [0x4d,0xf8,0x12,0x70]3106@ CHECK: str.w	r7, [sp, r2]            @ encoding: [0x4d,0xf8,0x02,0x70]3107 3108 3109@------------------------------------------------------------------------------3110@ STRB(immediate)3111@------------------------------------------------------------------------------3112        strb r5, [r5, #-4]3113        strb r5, [r6, #32]3114        strb r5, [r6, #33]3115        strb r5, [r6, #257]3116        strb.w lr, [r7, #257]3117        strb r5, [r8, #255]!3118        strb r2, [r5, #4]!3119        strb r1, [r4, #-4]!3120        strb lr, [r3], #2553121        strb r9, [r2], #43122        strb r3, [sp], #-43123        strb r4, [r8, #-0]!3124        strb r1, [r0], #-03125        strb.w r5, [r5, #-4]3126        strb.w r5, [r6, #32]3127        strb.w r5, [r8, #255]!3128        strb.w r9, [r2], #43129 3130@ CHECK: strb	r5, [r5, #-4]           @ encoding: [0x05,0xf8,0x04,0x5c]3131@ CHECK: strb.w	r5, [r6, #32]           @ encoding: [0x86,0xf8,0x20,0x50]3132@ CHECK: strb.w	r5, [r6, #33]           @ encoding: [0x86,0xf8,0x21,0x50]3133@ CHECK: strb.w	r5, [r6, #257]          @ encoding: [0x86,0xf8,0x01,0x51]3134@ CHECK: strb.w	lr, [r7, #257]          @ encoding: [0x87,0xf8,0x01,0xe1]3135@ CHECK: strb	r5, [r8, #255]!         @ encoding: [0x08,0xf8,0xff,0x5f]3136@ CHECK: strb	r2, [r5, #4]!           @ encoding: [0x05,0xf8,0x04,0x2f]3137@ CHECK: strb	r1, [r4, #-4]!          @ encoding: [0x04,0xf8,0x04,0x1d]3138@ CHECK: strb	lr, [r3], #255          @ encoding: [0x03,0xf8,0xff,0xeb]3139@ CHECK: strb	r9, [r2], #4            @ encoding: [0x02,0xf8,0x04,0x9b]3140@ CHECK: strb	r3, [sp], #-4           @ encoding: [0x0d,0xf8,0x04,0x39]3141@ CHECK: strb	r4, [r8, #-0]!          @ encoding: [0x08,0xf8,0x00,0x4d]3142@ CHECK: strb	r1, [r0], #-0           @ encoding: [0x00,0xf8,0x00,0x19]3143@ CHECK: strb	r5, [r5, #-4]           @ encoding: [0x05,0xf8,0x04,0x5c]3144@ CHECK: strb.w	r5, [r6, #32]           @ encoding: [0x86,0xf8,0x20,0x50]3145@ CHECK: strb	r5, [r8, #255]!         @ encoding: [0x08,0xf8,0xff,0x5f]3146@ CHECK: strb	r9, [r2], #4            @ encoding: [0x02,0xf8,0x04,0x9b]3147 3148 3149@------------------------------------------------------------------------------3150@ STRB(register)3151@------------------------------------------------------------------------------3152        strb r1, [r8, r1]3153        strb.w r4, [r5, r2]3154        strb r6, [r0, r2, lsl #3]3155        strb r8, [r8, r2, lsl #2]3156        strb r7, [sp, r2, lsl #1]3157        strb r7, [sp, r2, lsl #0]3158 3159@ CHECK: strb.w	r1, [r8, r1]            @ encoding: [0x08,0xf8,0x01,0x10]3160@ CHECK: strb.w	r4, [r5, r2]            @ encoding: [0x05,0xf8,0x02,0x40]3161@ CHECK: strb.w	r6, [r0, r2, lsl #3]    @ encoding: [0x00,0xf8,0x32,0x60]3162@ CHECK: strb.w	r8, [r8, r2, lsl #2]    @ encoding: [0x08,0xf8,0x22,0x80]3163@ CHECK: strb.w	r7, [sp, r2, lsl #1]    @ encoding: [0x0d,0xf8,0x12,0x70]3164@ CHECK: strb.w	r7, [sp, r2]            @ encoding: [0x0d,0xf8,0x02,0x70]3165 3166 3167@------------------------------------------------------------------------------3168@ STRBT3169@------------------------------------------------------------------------------3170        strbt r1, [r2]3171        strbt r1, [r8, #0]3172        strbt r1, [r8, #3]3173        strbt r1, [r8, #255]3174 3175@ CHECK: strbt	r1, [r2]                @ encoding: [0x02,0xf8,0x00,0x1e]3176@ CHECK: strbt	r1, [r8]                @ encoding: [0x08,0xf8,0x00,0x1e]3177@ CHECK: strbt	r1, [r8, #3]            @ encoding: [0x08,0xf8,0x03,0x1e]3178@ CHECK: strbt	r1, [r8, #255]          @ encoding: [0x08,0xf8,0xff,0x1e]3179 3180 3181@------------------------------------------------------------------------------3182@ STRD3183@------------------------------------------------------------------------------3184        strd r3, r5, [r6, #24]3185        strd r3, r5, [r6, #24]!3186        strd r3, r5, [r6], #43187        strd r3, r5, [r6], #-83188        strd r3, r5, [r6]3189        strd r8, r1, [r3, #0]3190        strd r0, r1, [r2, #-0]3191        strd r0, r1, [r2, #-0]!3192        strd r0, r1, [r2], #-03193        strd r0, r1, [r2, #256]3194        strd r0, r1, [r2, #256]!3195        strd r0, r1, [r2], #2563196 3197@ CHECK: strd	r3, r5, [r6, #24]       @ encoding: [0xc6,0xe9,0x06,0x35]3198@ CHECK: strd	r3, r5, [r6, #24]!      @ encoding: [0xe6,0xe9,0x06,0x35]3199@ CHECK: strd	r3, r5, [r6], #4        @ encoding: [0xe6,0xe8,0x01,0x35]3200@ CHECK: strd	r3, r5, [r6], #-8       @ encoding: [0x66,0xe8,0x02,0x35]3201@ CHECK: strd	r3, r5, [r6]            @ encoding: [0xc6,0xe9,0x00,0x35]3202@ CHECK: strd	r8, r1, [r3]            @ encoding: [0xc3,0xe9,0x00,0x81]3203@ CHECK: strd   r0, r1, [r2, #-0]       @ encoding: [0x42,0xe9,0x00,0x01]3204@ CHECK: strd   r0, r1, [r2, #-0]!      @ encoding: [0x62,0xe9,0x00,0x01]3205@ CHECK: strd   r0, r1, [r2], #-0       @ encoding: [0x62,0xe8,0x00,0x01]3206@ CHECK: strd	r0, r1, [r2, #256]      @ encoding: [0xc2,0xe9,0x40,0x01]3207@ CHECK: strd	r0, r1, [r2, #256]!     @ encoding: [0xe2,0xe9,0x40,0x01]3208@ CHECK: strd	r0, r1, [r2], #256      @ encoding: [0xe2,0xe8,0x40,0x01]3209 3210 3211@------------------------------------------------------------------------------3212@ STREX/STREXB/STREXH/STREXD3213@------------------------------------------------------------------------------3214        strex r1, r8, [r4]3215        strex r8, r2, [r4, #0]3216        strex r2, r12, [sp, #128]3217        strexb r5, r1, [r7]3218        strexh r9, r7, [r12]3219        strexd r9, r3, r6, [r4]3220 3221@ CHECK: strex	r1, r8, [r4]            @ encoding: [0x44,0xe8,0x00,0x81]3222@ CHECK: strex	r8, r2, [r4]            @ encoding: [0x44,0xe8,0x00,0x28]3223@ CHECK: strex	r2, r12, [sp, #128]     @ encoding: [0x4d,0xe8,0x20,0xc2]3224@ CHECK: strexb	r5, r1, [r7]            @ encoding: [0xc7,0xe8,0x45,0x1f]3225@ CHECK: strexh	r9, r7, [r12]           @ encoding: [0xcc,0xe8,0x59,0x7f]3226@ CHECK: strexd	r9, r3, r6, [r4]        @ encoding: [0xc4,0xe8,0x79,0x36]3227 3228 3229@------------------------------------------------------------------------------3230@ STRH(immediate)3231@------------------------------------------------------------------------------3232        strh r5, [r5, #-4]3233        strh r5, [r6, #32]3234        strh r5, [r6, #33]3235        strh r5, [r6, #257]3236        strh.w lr, [r7, #257]3237        strh r5, [r8, #255]!3238        strh r2, [r5, #4]!3239        strh r1, [r4, #-4]!3240        strh lr, [r3], #2553241        strh r9, [r2], #43242        strh r3, [sp], #-43243        strh.w r5, [r5, #-4]3244        strh.w r5, [r6, #32]3245        strh.w r5, [r8, #255]!3246        strh.w r9, [r2], #43247 3248@ CHECK: strh	r5, [r5, #-4]           @ encoding: [0x25,0xf8,0x04,0x5c]3249@ CHECK: strh	r5, [r6, #32]           @ encoding: [0x35,0x84]3250@ CHECK: strh.w	r5, [r6, #33]           @ encoding: [0xa6,0xf8,0x21,0x50]3251@ CHECK: strh.w	r5, [r6, #257]          @ encoding: [0xa6,0xf8,0x01,0x51]3252@ CHECK: strh.w	lr, [r7, #257]          @ encoding: [0xa7,0xf8,0x01,0xe1]3253@ CHECK: strh	r5, [r8, #255]!         @ encoding: [0x28,0xf8,0xff,0x5f]3254@ CHECK: strh	r2, [r5, #4]!           @ encoding: [0x25,0xf8,0x04,0x2f]3255@ CHECK: strh	r1, [r4, #-4]!          @ encoding: [0x24,0xf8,0x04,0x1d]3256@ CHECK: strh	lr, [r3], #255          @ encoding: [0x23,0xf8,0xff,0xeb]3257@ CHECK: strh	r9, [r2], #4            @ encoding: [0x22,0xf8,0x04,0x9b]3258@ CHECK: strh	r3, [sp], #-4           @ encoding: [0x2d,0xf8,0x04,0x39]3259@ CHECK: strh	r5, [r5, #-4]           @ encoding: [0x25,0xf8,0x04,0x5c]3260@ CHECK: strh.w	r5, [r6, #32]           @ encoding: [0xa6,0xf8,0x20,0x50]3261@ CHECK: strh	r5, [r8, #255]!         @ encoding: [0x28,0xf8,0xff,0x5f]3262@ CHECK: strh	r9, [r2], #4            @ encoding: [0x22,0xf8,0x04,0x9b]3263 3264 3265@------------------------------------------------------------------------------3266@ STRH(register)3267@------------------------------------------------------------------------------3268        strh r1, [r8, r1]3269        strh.w r4, [r5, r2]3270        strh r6, [r0, r2, lsl #3]3271        strh r8, [r8, r2, lsl #2]3272        strh r7, [sp, r2, lsl #1]3273        strh r7, [sp, r2, lsl #0]3274 3275@ CHECK: strh.w	r1, [r8, r1]            @ encoding: [0x28,0xf8,0x01,0x10]3276@ CHECK: strh.w	r4, [r5, r2]            @ encoding: [0x25,0xf8,0x02,0x40]3277@ CHECK: strh.w	r6, [r0, r2, lsl #3]    @ encoding: [0x20,0xf8,0x32,0x60]3278@ CHECK: strh.w	r8, [r8, r2, lsl #2]    @ encoding: [0x28,0xf8,0x22,0x80]3279@ CHECK: strh.w	r7, [sp, r2, lsl #1]    @ encoding: [0x2d,0xf8,0x12,0x70]3280@ CHECK: strh.w	r7, [sp, r2]            @ encoding: [0x2d,0xf8,0x02,0x70]3281 3282 3283@------------------------------------------------------------------------------3284@ STRHT3285@------------------------------------------------------------------------------3286        strht r1, [r2]3287        strht r1, [r8, #0]3288        strht r1, [r8, #3]3289        strht r1, [r8, #255]3290 3291@ CHECK: strht	r1, [r2]                @ encoding: [0x22,0xf8,0x00,0x1e]3292@ CHECK: strht	r1, [r8]                @ encoding: [0x28,0xf8,0x00,0x1e]3293@ CHECK: strht	r1, [r8, #3]            @ encoding: [0x28,0xf8,0x03,0x1e]3294@ CHECK: strht	r1, [r8, #255]          @ encoding: [0x28,0xf8,0xff,0x1e]3295 3296 3297@------------------------------------------------------------------------------3298@ STRT3299@------------------------------------------------------------------------------3300        strt r1, [r2]3301        strt r1, [r8, #0]3302        strt r1, [r8, #3]3303        strt r1, [r8, #255]3304 3305@ CHECK: strt	r1, [r2]                @ encoding: [0x42,0xf8,0x00,0x1e]3306@ CHECK: strt	r1, [r8]                @ encoding: [0x48,0xf8,0x00,0x1e]3307@ CHECK: strt	r1, [r8, #3]            @ encoding: [0x48,0xf8,0x03,0x1e]3308@ CHECK: strt	r1, [r8, #255]          @ encoding: [0x48,0xf8,0xff,0x1e]3309 3310 3311@------------------------------------------------------------------------------3312@ SUB (immediate)3313@------------------------------------------------------------------------------3314        itet eq3315        subeq r1, r2, #43316        subwne r5, r3, #10233317        subeq r4, r5, #2933318        sub r2, sp, #10243319        sub r2, r8, #0xff003320        sub r2, r3, #2573321        subw r2, r3, #2573322        sub r12, r6, #0x1003323        subw r12, r6, #0x1003324        subs r1, r2, #0x1f03325	sub r2, #13326        sub r0, r0, #323327        subs r2, r2, #563328        subs r2, #563329        subw    r0, r0, #40953330        subw    r0, #40953331        sub    r0, r0, #40953332        sub    r0, #40953333@ CHECK: itet	eq                      @ encoding: [0x0a,0xbf]3334@ CHECK: subeq	r1, r2, #4              @ encoding: [0x11,0x1f]3335@ CHECK: subwne	r5, r3, #1023           @ encoding: [0xa3,0xf2,0xff,0x35]3336@ CHECK: subweq	r4, r5, #293            @ encoding: [0xa5,0xf2,0x25,0x14]3337@ CHECK: sub.w	r2, sp, #1024           @ encoding: [0xad,0xf5,0x80,0x62]3338@ CHECK: sub.w	r2, r8, #65280          @ encoding: [0xa8,0xf5,0x7f,0x42]3339@ CHECK: subw	r2, r3, #257            @ encoding: [0xa3,0xf2,0x01,0x12]3340@ CHECK: subw	r2, r3, #257            @ encoding: [0xa3,0xf2,0x01,0x12]3341@ CHECK: sub.w	r12, r6, #256           @ encoding: [0xa6,0xf5,0x80,0x7c]3342@ CHECK: subw	r12, r6, #256           @ encoding: [0xa6,0xf2,0x00,0x1c]3343@ CHECK: subs.w	r1, r2, #496            @ encoding: [0xb2,0xf5,0xf8,0x71]3344@ CHECK: sub.w	r2, r2, #1              @ encoding: [0xa2,0xf1,0x01,0x02]3345@ CHECK: sub.w	r0, r0, #32             @ encoding: [0xa0,0xf1,0x20,0x00]3346@ CHECK: subs	r2, #56                 @ encoding: [0x38,0x3a]3347@ CHECK: subs	r2, #56                 @ encoding: [0x38,0x3a]3348@ CHECK-NEXT: subw    r0, r0, #4095           @ encoding: [0xa0,0xf6,0xff,0x70]3349@ CHECK-NEXT: subw    r0, r0, #4095           @ encoding: [0xa0,0xf6,0xff,0x70]3350@ CHECK-NEXT: subw    r0, r0, #4095           @ encoding: [0xa0,0xf6,0xff,0x70]3351@ CHECK-NEXT: subw    r0, r0, #4095           @ encoding: [0xa0,0xf6,0xff,0x70]3352@------------------------------------------------------------------------------3353@ SUB (immediate, writting to SP)3354@------------------------------------------------------------------------------3355        sub.w sp, sp, #0x1fe0000 //T23356        sub sp, sp, #0x1fe00003357        sub.w sp, #0x1fe00003358        sub sp, #0x1fe00003359@ CHECK-NEXT: sub.w	sp, sp, #33423360       @ encoding: [0xad,0xf1,0xff,0x7d]3360@ CHECK-NEXT: sub.w	sp, sp, #33423360       @ encoding: [0xad,0xf1,0xff,0x7d]3361@ CHECK-NEXT: sub.w	sp, sp, #33423360       @ encoding: [0xad,0xf1,0xff,0x7d]3362@ CHECK-NEXT: sub.w	sp, sp, #33423360       @ encoding: [0xad,0xf1,0xff,0x7d]3363        subs.w sp, sp, #0x1fe0000 //T23364        subs sp, sp, #0x1fe00003365        subs.w sp, #0x1fe00003366        subs sp, #0x1fe00003367@ CHECK-NEXT: subs.w	sp, sp, #33423360       @ encoding: [0xbd,0xf1,0xff,0x7d]3368@ CHECK-NEXT: subs.w	sp, sp, #33423360       @ encoding: [0xbd,0xf1,0xff,0x7d]3369@ CHECK-NEXT: subs.w	sp, sp, #33423360       @ encoding: [0xbd,0xf1,0xff,0x7d]3370@ CHECK-NEXT: subs.w	sp, sp, #33423360       @ encoding: [0xbd,0xf1,0xff,0x7d]3371        subw sp, sp, #4095 //T33372        sub sp, sp, #40953373        subw sp, #40953374        sub sp, #40953375@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]3376@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]3377@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]3378@ CHECK-NEXT: subw    sp, sp, #4095           @ encoding: [0xad,0xf6,0xff,0x7d]3379         sub sp, #128 //T13380@ CHECK-NEXT: sub     sp, #128                @ encoding: [0xa0,0xb0]3381         subs.w sp, #128 //T23382         subs sp, #128 //T23383@ CHECK-NEXT:  subs.w  sp, sp, #128            @ encoding: [0xbd,0xf1,0x80,0x0d]3384@ CHECK-NEXT:  subs.w  sp, sp, #128            @ encoding: [0xbd,0xf1,0x80,0x0d]3385        sub.w sp, #128 //T23386@ CHECK-NEXT:  sub.w  sp, sp, #128            @ encoding: [0xad,0xf1,0x80,0x0d]3387        subw sp, #128 //T43388@ CHECK-NEXT: subw    sp, sp, #128            @ encoding: [0xad,0xf2,0x80,0x0d]3389@------------------------------------------------------------------------------3390@ SUB (register)3391@------------------------------------------------------------------------------3392        sub r4, r5, r63393        sub r4, r5, r6, lsl #53394        sub r4, r5, r6, lsr #53395        sub.w r4, r5, r6, lsr #53396        sub r4, r5, r6, asr #53397        sub r4, r5, r6, ror #53398        sub.w r5, r2, r12, rrx3399        sub r2, sp, ip3400        sub sp, sp, ip3401        sub sp, ip3402        sub.w r2, sp, ip3403        sub.w sp, sp, ip3404        sub.w sp, ip3405 3406@ CHECK: sub.w	r4, r5, r6              @ encoding: [0xa5,0xeb,0x06,0x04]3407@ CHECK: sub.w	r4, r5, r6, lsl #5      @ encoding: [0xa5,0xeb,0x46,0x14]3408@ CHECK: sub.w	r4, r5, r6, lsr #5      @ encoding: [0xa5,0xeb,0x56,0x14]3409@ CHECK: sub.w	r4, r5, r6, lsr #5      @ encoding: [0xa5,0xeb,0x56,0x14]3410@ CHECK: sub.w	r4, r5, r6, asr #5      @ encoding: [0xa5,0xeb,0x66,0x14]3411@ CHECK: sub.w	r4, r5, r6, ror #5      @ encoding: [0xa5,0xeb,0x76,0x14]3412@ CHECK: sub.w r5, r2, r12, rrx         @ encoding: [0xa2,0xeb,0x3c,0x05]3413@ CHECK: sub.w	r2, sp, r12             @ encoding: [0xad,0xeb,0x0c,0x02]3414@ CHECK: sub.w	sp, sp, r12             @ encoding: [0xad,0xeb,0x0c,0x0d]3415@ CHECK: sub.w	sp, sp, r12             @ encoding: [0xad,0xeb,0x0c,0x0d]3416@ CHECK: sub.w	r2, sp, r12             @ encoding: [0xad,0xeb,0x0c,0x02]3417@ CHECK: sub.w	sp, sp, r12             @ encoding: [0xad,0xeb,0x0c,0x0d]3418@ CHECK: sub.w	sp, sp, r12             @ encoding: [0xad,0xeb,0x0c,0x0d]3419 3420 3421@------------------------------------------------------------------------------3422@ SVC3423@------------------------------------------------------------------------------3424        svc #03425        it eq3426        svceq #2553427        it ne3428        swine #333429        itt eq3430        svceq #03431        svceq #13432 3433@ CHECK: svc	#0                      @ encoding: [0x00,0xdf]3434@ CHECK: it	eq                      @ encoding: [0x08,0xbf]3435@ CHECK: svceq	#255                    @ encoding: [0xff,0xdf]3436@ CHECK: it	ne                      @ encoding: [0x18,0xbf]3437@ CHECK: svcne	#33                     @ encoding: [0x21,0xdf]3438@ CHECK: itt    eq                      @ encoding: [0x04,0xbf]3439@ CHECK: svceq  #0                      @ encoding: [0x00,0xdf]3440@ CHECK: svceq  #1                      @ encoding: [0x01,0xdf]3441 3442 3443@------------------------------------------------------------------------------3444@ SXTAB3445@------------------------------------------------------------------------------3446        sxtab r2, r3, r43447        sxtab r4, r5, r6, ror #03448        it lt3449        sxtablt r6, r2, r9, ror #83450        sxtab r5, r1, r4, ror #163451        sxtab r7, r8, r3, ror #243452 3453@ CHECK: sxtab	r2, r3, r4              @ encoding: [0x43,0xfa,0x84,0xf2]3454@ CHECK: sxtab	r4, r5, r6              @ encoding: [0x45,0xfa,0x86,0xf4]3455@ CHECK: it	lt                      @ encoding: [0xb8,0xbf]3456@ CHECK: sxtablt r6, r2, r9, ror #8     @ encoding: [0x42,0xfa,0x99,0xf6]3457@ CHECK: sxtab	r5, r1, r4, ror #16     @ encoding: [0x41,0xfa,0xa4,0xf5]3458@ CHECK: sxtab	r7, r8, r3, ror #24     @ encoding: [0x48,0xfa,0xb3,0xf7]3459 3460 3461@------------------------------------------------------------------------------3462@ SXTAB163463@------------------------------------------------------------------------------3464        sxtab16 r6, r2, r7, ror #03465        sxtab16 r3, r5, r8, ror #83466        sxtab16 r3, r2, r1, ror #163467        ite ne3468        sxtab16ne r0, r1, r43469        sxtab16eq r1, r2, r3, ror #243470 3471@ CHECK: sxtab16 r6, r2, r7             @ encoding: [0x22,0xfa,0x87,0xf6]3472@ CHECK: sxtab16 r3, r5, r8, ror #8     @ encoding: [0x25,0xfa,0x98,0xf3]3473@ CHECK: sxtab16 r3, r2, r1, ror #16    @ encoding: [0x22,0xfa,0xa1,0xf3]3474@ CHECK: ite	ne                      @ encoding: [0x14,0xbf]3475@ CHECK: sxtab16ne r0, r1, r4           @ encoding: [0x21,0xfa,0x84,0xf0]3476@ CHECK: sxtab16eq r1, r2, r3, ror #24  @ encoding: [0x22,0xfa,0xb3,0xf1]3477 3478 3479@------------------------------------------------------------------------------3480@ SXTAH3481@------------------------------------------------------------------------------3482        sxtah r1, r3, r93483        sxtah r3, r8, r3, ror #83484        sxtah r9, r3, r3, ror #243485        ite hi3486        sxtahhi r6, r1, r6, ror #03487        sxtahls r2, r2, r4, ror #163488 3489@ CHECK: sxtah	r1, r3, r9              @ encoding: [0x03,0xfa,0x89,0xf1]3490@ CHECK: sxtah	r3, r8, r3, ror #8      @ encoding: [0x08,0xfa,0x93,0xf3]3491@ CHECK: sxtah	r9, r3, r3, ror #24     @ encoding: [0x03,0xfa,0xb3,0xf9]3492@ CHECK: ite	hi                      @ encoding: [0x8c,0xbf]3493@ CHECK: sxtahhi r6, r1, r6             @ encoding: [0x01,0xfa,0x86,0xf6]3494@ CHECK: sxtahls r2, r2, r4, ror #16    @ encoding: [0x02,0xfa,0xa4,0xf2]3495 3496 3497@------------------------------------------------------------------------------3498@ SXTB3499@------------------------------------------------------------------------------3500        sxtb r5, r6, ror #03501        sxtb r6, r9, ror #83502        sxtb r8, r3, ror #243503        ite ge3504        sxtbge r2, r43505        sxtblt r5, r1, ror #163506        sxtb.w  r7, r83507 3508@ CHECK: sxtb	r5, r6                  @ encoding: [0x75,0xb2]3509@ CHECK: sxtb.w	r6, r9, ror #8          @ encoding: [0x4f,0xfa,0x99,0xf6]3510@ CHECK: sxtb.w	r8, r3, ror #24         @ encoding: [0x4f,0xfa,0xb3,0xf8]3511@ CHECK: ite	ge                      @ encoding: [0xac,0xbf]3512@ CHECK: sxtbge	r2, r4                  @ encoding: [0x62,0xb2]3513@ CHECK: sxtblt.w	r5, r1, ror #16 @ encoding: [0x4f,0xfa,0xa1,0xf5]3514@ CHECK: sxtb.w	r7, r8                  @ encoding: [0x4f,0xfa,0x88,0xf7]3515 3516 3517@------------------------------------------------------------------------------3518@ SXTB163519@------------------------------------------------------------------------------3520        sxtb16 r1, r43521        sxtb16 r6, r7, ror #03522        sxtb16 r3, r1, ror #163523        ite cs3524        sxtb16cs r3, r5, ror #83525        sxtb16lo r2, r3, ror #243526 3527@ CHECK: sxtb16	r1, r4                  @ encoding: [0x2f,0xfa,0x84,0xf1]3528@ CHECK: sxtb16	r6, r7                  @ encoding: [0x2f,0xfa,0x87,0xf6]3529@ CHECK: sxtb16	r3, r1, ror #16         @ encoding: [0x2f,0xfa,0xa1,0xf3]3530@ CHECK: ite	hs                      @ encoding: [0x2c,0xbf]3531@ CHECK: sxtb16hs	r3, r5, ror #8  @ encoding: [0x2f,0xfa,0x95,0xf3]3532@ CHECK: sxtb16lo	r2, r3, ror #24 @ encoding: [0x2f,0xfa,0xb3,0xf2]3533 3534 3535@------------------------------------------------------------------------------3536@ SXTH3537@------------------------------------------------------------------------------3538        sxth r1, r6, ror #03539        sxth r3, r8, ror #83540        sxth r9, r3, ror #243541        itt ne3542        sxthne r3, r93543        sxthne r2, r2, ror #163544        sxth.w  r7, r83545 3546@ CHECK: sxth	r1, r6                  @ encoding: [0x31,0xb2]3547@ CHECK: sxth.w	r3, r8, ror #8          @ encoding: [0x0f,0xfa,0x98,0xf3]3548@ CHECK: sxth.w	r9, r3, ror #24         @ encoding: [0x0f,0xfa,0xb3,0xf9]3549@ CHECK: itt	ne                      @ encoding: [0x1c,0xbf]3550@ CHECK: sxthne.w	r3, r9          @ encoding: [0x0f,0xfa,0x89,0xf3]3551@ CHECK: sxthne.w	r2, r2, ror #16 @ encoding: [0x0f,0xfa,0xa2,0xf2]3552@ CHECK: sxth.w	r7, r8                  @ encoding: [0x0f,0xfa,0x88,0xf7]3553 3554 3555@------------------------------------------------------------------------------3556@ SXTB3557@------------------------------------------------------------------------------3558        sxtb r5, r6, ror #03559        sxtb.w r6, r9, ror #83560        sxtb r8, r3, ror #243561        ite ge3562        sxtbge r2, r43563        sxtblt r5, r1, ror #163564 3565@ CHECK: sxtb	r5, r6                  @ encoding: [0x75,0xb2]3566@ CHECK: sxtb.w	r6, r9, ror #8          @ encoding: [0x4f,0xfa,0x99,0xf6]3567@ CHECK: sxtb.w	r8, r3, ror #24         @ encoding: [0x4f,0xfa,0xb3,0xf8]3568@ CHECK: ite	ge                      @ encoding: [0xac,0xbf]3569@ CHECK: sxtbge	r2, r4                  @ encoding: [0x62,0xb2]3570@ CHECK: sxtblt.w	r5, r1, ror #16 @ encoding: [0x4f,0xfa,0xa1,0xf5]3571 3572 3573@------------------------------------------------------------------------------3574@ SXTB163575@------------------------------------------------------------------------------3576        sxtb16 r1, r43577        sxtb16 r6, r7, ror #03578        sxtb16 r3, r1, ror #163579        ite cs3580        sxtb16cs r3, r5, ror #83581        sxtb16lo r2, r3, ror #243582 3583@ CHECK: sxtb16	r1, r4                  @ encoding: [0x2f,0xfa,0x84,0xf1]3584@ CHECK: sxtb16	r6, r7                  @ encoding: [0x2f,0xfa,0x87,0xf6]3585@ CHECK: sxtb16	r3, r1, ror #16         @ encoding: [0x2f,0xfa,0xa1,0xf3]3586@ CHECK: ite	hs                      @ encoding: [0x2c,0xbf]3587@ CHECK: sxtb16hs	r3, r5, ror #8  @ encoding: [0x2f,0xfa,0x95,0xf3]3588@ CHECK: sxtb16lo	r2, r3, ror #24 @ encoding: [0x2f,0xfa,0xb3,0xf2]3589 3590 3591@------------------------------------------------------------------------------3592@ SXTH3593@------------------------------------------------------------------------------3594        sxth r1, r6, ror #03595        sxth.w r3, r8, ror #83596        sxth r9, r3, ror #243597        itt ne3598        sxthne r3, r93599        sxthne r2, r2, ror #163600 3601@ CHECK: sxth	r1, r6                  @ encoding: [0x31,0xb2]3602@ CHECK: sxth.w	r3, r8, ror #8          @ encoding: [0x0f,0xfa,0x98,0xf3]3603@ CHECK: sxth.w	r9, r3, ror #24         @ encoding: [0x0f,0xfa,0xb3,0xf9]3604@ CHECK: itt	ne                      @ encoding: [0x1c,0xbf]3605@ CHECK: sxthne.w	r3, r9          @ encoding: [0x0f,0xfa,0x89,0xf3]3606@ CHECK: sxthne.w	r2, r2, ror #16 @ encoding: [0x0f,0xfa,0xa2,0xf2]3607 3608 3609@------------------------------------------------------------------------------3610@ TBB/TBH3611@------------------------------------------------------------------------------3612        tbb [r3, r8]3613        tbh [r3, r8, lsl #1]3614        it eq3615        tbbeq [r3, r8]3616        it cs3617        tbhcs [r3, r8, lsl #1]3618 3619@ CHECK: tbb	[r3, r8]                @ encoding: [0xd3,0xe8,0x08,0xf0]3620@ CHECK: tbh	[r3, r8, lsl #1]        @ encoding: [0xd3,0xe8,0x18,0xf0]3621@ CHECK: it	eq                      @ encoding: [0x08,0xbf]3622@ CHECK: tbbeq	[r3, r8]                @ encoding: [0xd3,0xe8,0x08,0xf0]3623@ CHECK: it	hs                      @ encoding: [0x28,0xbf]3624@ CHECK: tbhhs	[r3, r8, lsl #1]        @ encoding: [0xd3,0xe8,0x18,0xf0]3625 3626 3627@------------------------------------------------------------------------------3628@ TEQ3629@------------------------------------------------------------------------------3630        teq r5, #0xf0003631        teq r4, r53632        teq r4, r5, lsl #53633        teq r4, r5, lsr #53634        teq r4, r5, lsr #53635        teq r4, r5, asr #53636        teq r4, r5, ror #53637 3638@ CHECK: teq.w	r5, #61440              @ encoding: [0x95,0xf4,0x70,0x4f]3639@ CHECK: teq.w	r4, r5                  @ encoding: [0x94,0xea,0x05,0x0f]3640@ CHECK: teq.w	r4, r5, lsl #5          @ encoding: [0x94,0xea,0x45,0x1f]3641@ CHECK: teq.w	r4, r5, lsr #5          @ encoding: [0x94,0xea,0x55,0x1f]3642@ CHECK: teq.w	r4, r5, lsr #5          @ encoding: [0x94,0xea,0x55,0x1f]3643@ CHECK: teq.w	r4, r5, asr #5          @ encoding: [0x94,0xea,0x65,0x1f]3644@ CHECK: teq.w	r4, r5, ror #5          @ encoding: [0x94,0xea,0x75,0x1f]3645 3646 3647@------------------------------------------------------------------------------3648@ TST3649@------------------------------------------------------------------------------3650        tst r5, #0xf0003651        tst r2, r53652        tst r3, r12, lsl #53653        tst r4, r11, lsr #43654        tst r5, r10, lsr #123655        tst r6, r9, asr #303656        tst r7, r8, ror #23657 3658@ CHECK: tst.w	r5, #61440              @ encoding: [0x15,0xf4,0x70,0x4f]3659@ CHECK: tst	r2, r5                  @ encoding: [0x2a,0x42]3660@ CHECK: tst.w	r3, r12, lsl #5         @ encoding: [0x13,0xea,0x4c,0x1f]3661@ CHECK: tst.w	r4, r11, lsr #4         @ encoding: [0x14,0xea,0x1b,0x1f]3662@ CHECK: tst.w	r5, r10, lsr #12        @ encoding: [0x15,0xea,0x1a,0x3f]3663@ CHECK: tst.w	r6, r9, asr #30         @ encoding: [0x16,0xea,0xa9,0x7f]3664@ CHECK: tst.w	r7, r8, ror #2          @ encoding: [0x17,0xea,0xb8,0x0f]3665 3666 3667@------------------------------------------------------------------------------3668@ UADD16/UADD83669@------------------------------------------------------------------------------3670        uadd16 r1, r2, r33671        uadd8 r1, r2, r33672        ite gt3673        uadd16gt r1, r2, r33674        uadd8le r1, r2, r33675 3676@ CHECK: uadd16	r1, r2, r3              @ encoding: [0x92,0xfa,0x43,0xf1]3677@ CHECK: uadd8	r1, r2, r3              @ encoding: [0x82,0xfa,0x43,0xf1]3678@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]3679@ CHECK: uadd16gt	r1, r2, r3      @ encoding: [0x92,0xfa,0x43,0xf1]3680@ CHECK: uadd8le	r1, r2, r3      @ encoding: [0x82,0xfa,0x43,0xf1]3681 3682 3683@------------------------------------------------------------------------------3684@ UASX3685@------------------------------------------------------------------------------3686        uasx r9, r12, r03687        it eq3688        uasxeq r9, r12, r03689        uaddsubx r9, r12, r03690        it eq3691        uaddsubxeq r9, r12, r03692 3693@ CHECK: uasx	r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]3694@ CHECK: it	eq                      @ encoding: [0x08,0xbf]3695@ CHECK: uasxeq	r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]3696@ CHECK: uasx	r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]3697@ CHECK: it	eq                      @ encoding: [0x08,0xbf]3698@ CHECK: uasxeq	r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]3699 3700 3701@------------------------------------------------------------------------------3702@ UBFX3703@------------------------------------------------------------------------------3704        ubfx r4, r5, #16, #13705        it gt3706        ubfxgt r4, r5, #16, #163707 3708@ CHECK: ubfx	r4, r5, #16, #1         @ encoding: [0xc5,0xf3,0x00,0x44]3709@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]3710@ CHECK: ubfxgt	r4, r5, #16, #16        @ encoding: [0xc5,0xf3,0x0f,0x44]3711 3712 3713@------------------------------------------------------------------------------3714@ UHADD16/UHADD83715@------------------------------------------------------------------------------3716        uhadd16 r4, r8, r23717        uhadd8 r4, r8, r23718        itt gt3719        uhadd16gt r4, r8, r23720        uhadd8gt r4, r8, r23721 3722@ CHECK: uhadd16	r4, r8, r2      @ encoding: [0x98,0xfa,0x62,0xf4]3723@ CHECK: uhadd8	r4, r8, r2              @ encoding: [0x88,0xfa,0x62,0xf4]3724@ CHECK: itt	gt                      @ encoding: [0xc4,0xbf]3725@ CHECK: uhadd16gt	r4, r8, r2      @ encoding: [0x98,0xfa,0x62,0xf4]3726@ CHECK: uhadd8gt	r4, r8, r2      @ encoding: [0x88,0xfa,0x62,0xf4]3727 3728 3729@------------------------------------------------------------------------------3730@ UHASX/UHSAX3731@------------------------------------------------------------------------------3732        uhasx r4, r1, r53733        uhsax r5, r6, r63734        itt gt3735        uhasxgt r6, r9, r83736        uhsaxgt r7, r8, r123737        uhaddsubx r4, r1, r53738        uhsubaddx r5, r6, r63739        itt gt3740        uhaddsubxgt r6, r9, r83741        uhsubaddxgt r7, r8, r123742 3743@ CHECK: uhasx	r4, r1, r5              @ encoding: [0xa1,0xfa,0x65,0xf4]3744@ CHECK: uhsax	r5, r6, r6              @ encoding: [0xe6,0xfa,0x66,0xf5]3745@ CHECK: itt	gt                      @ encoding: [0xc4,0xbf]3746@ CHECK: uhasxgt r6, r9, r8             @ encoding: [0xa9,0xfa,0x68,0xf6]3747@ CHECK: uhsaxgt r7, r8, r12            @ encoding: [0xe8,0xfa,0x6c,0xf7]3748@ CHECK: uhasx	r4, r1, r5              @ encoding: [0xa1,0xfa,0x65,0xf4]3749@ CHECK: uhsax	r5, r6, r6              @ encoding: [0xe6,0xfa,0x66,0xf5]3750@ CHECK: itt	gt                      @ encoding: [0xc4,0xbf]3751@ CHECK: uhasxgt r6, r9, r8             @ encoding: [0xa9,0xfa,0x68,0xf6]3752@ CHECK: uhsaxgt r7, r8, r12            @ encoding: [0xe8,0xfa,0x6c,0xf7]3753 3754 3755@------------------------------------------------------------------------------3756@ UHSUB16/UHSUB83757@------------------------------------------------------------------------------3758        uhsub16 r5, r8, r33759        uhsub8 r1, r7, r63760        itt lt3761        uhsub16lt r4, r9, r123762        uhsub8lt r3, r1, r53763 3764@ CHECK: uhsub16	r5, r8, r3      @ encoding: [0xd8,0xfa,0x63,0xf5]3765@ CHECK: uhsub8	r1, r7, r6              @ encoding: [0xc7,0xfa,0x66,0xf1]3766@ CHECK: itt	lt                      @ encoding: [0xbc,0xbf]3767@ CHECK: uhsub16lt	r4, r9, r12     @ encoding: [0xd9,0xfa,0x6c,0xf4]3768@ CHECK: uhsub8lt	r3, r1, r5      @ encoding: [0xc1,0xfa,0x65,0xf3]3769 3770 3771@------------------------------------------------------------------------------3772@ UMAAL3773@------------------------------------------------------------------------------3774        umaal r3, r4, r5, r63775        it lt3776        umaallt r3, r4, r5, r63777 3778@ CHECK: umaal	r3, r4, r5, r6          @ encoding: [0xe5,0xfb,0x66,0x34]3779@ CHECK: it	lt                      @ encoding: [0xb8,0xbf]3780@ CHECK: umaallt	r3, r4, r5, r6  @ encoding: [0xe5,0xfb,0x66,0x34]3781 3782 3783@------------------------------------------------------------------------------3784@ UMLAL3785@------------------------------------------------------------------------------3786        umlal r2, r4, r6, r83787        it gt3788        umlalgt r6, r1, r2, r63789 3790@ CHECK: umlal	r2, r4, r6, r8          @ encoding: [0xe6,0xfb,0x08,0x24]3791@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]3792@ CHECK: umlalgt	r6, r1, r2, r6  @ encoding: [0xe2,0xfb,0x06,0x61]3793 3794 3795@------------------------------------------------------------------------------3796@ UMULL3797@------------------------------------------------------------------------------3798        umull r2, r4, r6, r83799        it gt3800        umullgt r6, r1, r2, r63801 3802@ CHECK: umull	r2, r4, r6, r8          @ encoding: [0xa6,0xfb,0x08,0x24]3803@ CHECK: it	gt                      @ encoding: [0xc8,0xbf]3804@ CHECK: umullgt	r6, r1, r2, r6  @ encoding: [0xa2,0xfb,0x06,0x61]3805 3806 3807@------------------------------------------------------------------------------3808@ UQADD16/UQADD83809@------------------------------------------------------------------------------3810        uqadd16 r1, r2, r33811        uqadd8 r3, r4, r83812        ite gt3813        uqadd16gt r4, r7, r93814        uqadd8le r8, r1, r23815 3816@ CHECK: uqadd16	r1, r2, r3      @ encoding: [0x92,0xfa,0x53,0xf1]3817@ CHECK: uqadd8	r3, r4, r8              @ encoding: [0x84,0xfa,0x58,0xf3]3818@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]3819@ CHECK: uqadd16gt	r4, r7, r9      @ encoding: [0x97,0xfa,0x59,0xf4]3820@ CHECK: uqadd8le	r8, r1, r2      @ encoding: [0x81,0xfa,0x52,0xf8]3821 3822 3823@------------------------------------------------------------------------------3824@ UQASX/UQSAX3825@------------------------------------------------------------------------------3826        uqasx r1, r2, r33827        uqsax r3, r4, r83828        ite gt3829        uqasxgt r4, r7, r93830        uqsaxle r8, r1, r23831 3832        uqaddsubx r1, r2, r33833        uqsubaddx r3, r4, r83834        ite gt3835        uqaddsubxgt r4, r7, r93836        uqsubaddxle r8, r1, r23837 3838@ CHECK: uqasx	r1, r2, r3              @ encoding: [0xa2,0xfa,0x53,0xf1]3839@ CHECK: uqsax	r3, r4, r8              @ encoding: [0xe4,0xfa,0x58,0xf3]3840@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]3841@ CHECK: uqasxgt r4, r7, r9             @ encoding: [0xa7,0xfa,0x59,0xf4]3842@ CHECK: uqsaxle r8, r1, r2             @ encoding: [0xe1,0xfa,0x52,0xf8]3843 3844@ CHECK: uqasx	r1, r2, r3              @ encoding: [0xa2,0xfa,0x53,0xf1]3845@ CHECK: uqsax	r3, r4, r8              @ encoding: [0xe4,0xfa,0x58,0xf3]3846@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]3847@ CHECK: uqasxgt r4, r7, r9             @ encoding: [0xa7,0xfa,0x59,0xf4]3848@ CHECK: uqsaxle r8, r1, r2             @ encoding: [0xe1,0xfa,0x52,0xf8]3849 3850 3851@------------------------------------------------------------------------------3852@ UQSUB16/UQSUB83853@------------------------------------------------------------------------------3854        uqsub8 r8, r2, r93855        uqsub16 r1, r9, r73856        ite gt3857        uqsub8gt r3, r1, r63858        uqsub16le r4, r6, r43859 3860@ CHECK: uqsub8	r8, r2, r9              @ encoding: [0xc2,0xfa,0x59,0xf8]3861@ CHECK: uqsub16 r1, r9, r7             @ encoding: [0xd9,0xfa,0x57,0xf1]3862@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]3863@ CHECK: uqsub8gt	r3, r1, r6      @ encoding: [0xc1,0xfa,0x56,0xf3]3864@ CHECK: uqsub16le	r4, r6, r4      @ encoding: [0xd6,0xfa,0x54,0xf4]3865 3866 3867@------------------------------------------------------------------------------3868@ UQSUB16/UQSUB83869@------------------------------------------------------------------------------3870        usad8 r1, r9, r73871        usada8 r8, r2, r9, r123872        ite gt3873        usada8gt r3, r1, r6, r93874        usad8le r4, r6, r43875 3876@ CHECK: usad8	r1, r9, r7              @ encoding: [0x79,0xfb,0x07,0xf1]3877@ CHECK: usada8	r8, r2, r9, r12         @ encoding: [0x72,0xfb,0x09,0xc8]3878@ CHECK: ite	gt                      @ encoding: [0xcc,0xbf]3879@ CHECK: usada8gt	r3, r1, r6, r9  @ encoding: [0x71,0xfb,0x06,0x93]3880@ CHECK: usad8le	r4, r6, r4      @ encoding: [0x76,0xfb,0x04,0xf4]3881 3882 3883@------------------------------------------------------------------------------3884@ USAT3885@------------------------------------------------------------------------------3886        usat	r8, #1, r103887        usat	r8, #4, r10, lsl #03888        usat	r8, #5, r10, lsl #313889        usat	r8, #16, r10, asr #13890 3891@ CHECK: usat	r8, #1, r10             @ encoding: [0x8a,0xf3,0x01,0x08]3892@ CHECK: usat	r8, #4, r10             @ encoding: [0x8a,0xf3,0x04,0x08]3893@ CHECK: usat	r8, #5, r10, lsl #31    @ encoding: [0x8a,0xf3,0xc5,0x78]3894@ CHECK: usat	r8, #16, r10, asr #1    @ encoding: [0xaa,0xf3,0x50,0x08]3895 3896 3897@------------------------------------------------------------------------------3898@ USAT163899@------------------------------------------------------------------------------3900        usat16	r2, #2, r73901        usat16	r3, #15, r53902 3903@ CHECK: usat16	r2, #2, r7              @ encoding: [0xa7,0xf3,0x02,0x02]3904@ CHECK: usat16	r3, #15, r5             @ encoding: [0xa5,0xf3,0x0f,0x03]3905 3906 3907@------------------------------------------------------------------------------3908@ USAX3909@------------------------------------------------------------------------------3910        usax r2, r3, r43911        it ne3912        usaxne r6, r1, r93913        usubaddx r2, r3, r43914        it ne3915        usubaddxne r6, r1, r93916 3917@ CHECK: usax	r2, r3, r4              @ encoding: [0xe3,0xfa,0x44,0xf2]3918@ CHECK: it	ne                      @ encoding: [0x18,0xbf]3919@ CHECK: usaxne	r6, r1, r9              @ encoding: [0xe1,0xfa,0x49,0xf6]3920@ CHECK: usax	r2, r3, r4              @ encoding: [0xe3,0xfa,0x44,0xf2]3921@ CHECK: it	ne                      @ encoding: [0x18,0xbf]3922@ CHECK: usaxne	r6, r1, r9              @ encoding: [0xe1,0xfa,0x49,0xf6]3923 3924 3925@------------------------------------------------------------------------------3926@ USUB16/USUB83927@------------------------------------------------------------------------------3928        usub16 r4, r2, r73929        usub8 r1, r8, r53930        ite hi3931        usub16hi r1, r1, r33932        usub8ls r9, r2, r33933 3934@ CHECK: usub16	r4, r2, r7              @ encoding: [0xd2,0xfa,0x47,0xf4]3935@ CHECK: usub8	r1, r8, r5              @ encoding: [0xc8,0xfa,0x45,0xf1]3936@ CHECK: ite	hi                      @ encoding: [0x8c,0xbf]3937@ CHECK: usub16hi	r1, r1, r3      @ encoding: [0xd1,0xfa,0x43,0xf1]3938@ CHECK: usub8ls	r9, r2, r3      @ encoding: [0xc2,0xfa,0x43,0xf9]3939 3940 3941@------------------------------------------------------------------------------3942@ UXTAB3943@------------------------------------------------------------------------------3944        uxtab r2, r3, r43945        uxtab r4, r5, r6, ror #03946        it lt3947        uxtablt r6, r2, r9, ror #83948        uxtab r5, r1, r4, ror #163949        uxtab r7, r8, r3, ror #243950 3951@ CHECK: uxtab	r2, r3, r4              @ encoding: [0x53,0xfa,0x84,0xf2]3952@ CHECK: uxtab	r4, r5, r6              @ encoding: [0x55,0xfa,0x86,0xf4]3953@ CHECK: it	lt                      @ encoding: [0xb8,0xbf]3954@ CHECK: uxtablt r6, r2, r9, ror #8     @ encoding: [0x52,0xfa,0x99,0xf6]3955@ CHECK: uxtab	r5, r1, r4, ror #16     @ encoding: [0x51,0xfa,0xa4,0xf5]3956@ CHECK: uxtab	r7, r8, r3, ror #24     @ encoding: [0x58,0xfa,0xb3,0xf7]3957 3958 3959@------------------------------------------------------------------------------3960@ UXTAB163961@------------------------------------------------------------------------------3962        it ge3963        uxtab16ge r0, r1, r43964        uxtab16 r6, r2, r7, ror #03965        uxtab16 r3, r5, r8, ror #83966        uxtab16 r3, r2, r1, ror #163967        it eq3968        uxtab16eq r1, r2, r3, ror #243969 3970@ CHECK: it	ge                      @ encoding: [0xa8,0xbf]3971@ CHECK: uxtab16ge	r0, r1, r4      @ encoding: [0x31,0xfa,0x84,0xf0]3972@ CHECK: uxtab16 r6, r2, r7             @ encoding: [0x32,0xfa,0x87,0xf6]3973@ CHECK: uxtab16 r3, r5, r8, ror #8     @ encoding: [0x35,0xfa,0x98,0xf3]3974@ CHECK: uxtab16 r3, r2, r1, ror #16    @ encoding: [0x32,0xfa,0xa1,0xf3]3975@ CHECK: it	eq                      @ encoding: [0x08,0xbf]3976@ CHECK: uxtab16eq r1, r2, r3, ror #24  @ encoding: [0x32,0xfa,0xb3,0xf1]3977 3978 3979@------------------------------------------------------------------------------3980@ UXTAH3981@------------------------------------------------------------------------------3982        uxtah r1, r3, r93983        it hi3984        uxtahhi r6, r1, r6, ror #03985        uxtah r3, r8, r3, ror #83986        it lo3987        uxtahlo r2, r2, r4, ror #163988        uxtah r9, r3, r3, ror #243989 3990@ CHECK: uxtah	r1, r3, r9              @ encoding: [0x13,0xfa,0x89,0xf1]3991@ CHECK: it	hi                      @ encoding: [0x88,0xbf]3992@ CHECK: uxtahhi r6, r1, r6             @ encoding: [0x11,0xfa,0x86,0xf6]3993@ CHECK: uxtah	r3, r8, r3, ror #8      @ encoding: [0x18,0xfa,0x93,0xf3]3994@ CHECK: it	lo                      @ encoding: [0x38,0xbf]3995@ CHECK: uxtahlo r2, r2, r4, ror #16    @ encoding: [0x12,0xfa,0xa4,0xf2]3996@ CHECK: uxtah	r9, r3, r3, ror #24     @ encoding: [0x13,0xfa,0xb3,0xf9]3997 3998 3999@------------------------------------------------------------------------------4000@ UXTB4001@------------------------------------------------------------------------------4002        it ge4003        uxtbge r2, r44004        uxtb r5, r6, ror #04005        uxtb r6, r9, ror #84006        it cc4007        uxtbcc r5, r1, ror #164008        uxtb r8, r3, ror #244009        uxtb.w  r7, r84010 4011@ CHECK: it	ge                      @ encoding: [0xa8,0xbf]4012@ CHECK: uxtbge	r2, r4                  @ encoding: [0xe2,0xb2]4013@ CHECK: uxtb	r5, r6                  @ encoding: [0xf5,0xb2]4014@ CHECK: uxtb.w	r6, r9, ror #8          @ encoding: [0x5f,0xfa,0x99,0xf6]4015@ CHECK: it	lo                      @ encoding: [0x38,0xbf]4016@ CHECK: uxtblo.w	r5, r1, ror #16 @ encoding: [0x5f,0xfa,0xa1,0xf5]4017@ CHECK: uxtb.w	r8, r3, ror #24         @ encoding: [0x5f,0xfa,0xb3,0xf8]4018@ CHECK: uxtb.w	r7, r8                  @ encoding: [0x5f,0xfa,0x88,0xf7]4019 4020 4021@------------------------------------------------------------------------------4022@ UXTB164023@------------------------------------------------------------------------------4024        uxtb16 r1, r44025        uxtb16 r6, r7, ror #04026        it cs4027        uxtb16cs r3, r5, ror #84028        uxtb16 r3, r1, ror #164029        it ge4030        uxtb16ge r2, r3, ror #244031 4032@ CHECK: uxtb16	r1, r4                  @ encoding: [0x3f,0xfa,0x84,0xf1]4033@ CHECK: uxtb16	r6, r7                  @ encoding: [0x3f,0xfa,0x87,0xf6]4034@ CHECK: it	hs                      @ encoding: [0x28,0xbf]4035@ CHECK: uxtb16hs	r3, r5, ror #8  @ encoding: [0x3f,0xfa,0x95,0xf3]4036@ CHECK: uxtb16	r3, r1, ror #16         @ encoding: [0x3f,0xfa,0xa1,0xf3]4037@ CHECK: it	ge                      @ encoding: [0xa8,0xbf]4038@ CHECK: uxtb16ge	r2, r3, ror #24 @ encoding: [0x3f,0xfa,0xb3,0xf2]4039 4040 4041@------------------------------------------------------------------------------4042@ UXTH4043@------------------------------------------------------------------------------4044        it ne4045        uxthne r3, r94046        uxth r1, r6, ror #04047        uxth r3, r8, ror #84048        it le4049        uxthle r2, r2, ror #164050        uxth r9, r3, ror #244051        uxth.w  r7, r84052 4053@ CHECK: it	ne                      @ encoding: [0x18,0xbf]4054@ CHECK: uxthne.w	r3, r9          @ encoding: [0x1f,0xfa,0x89,0xf3]4055@ CHECK: uxth	r1, r6                  @ encoding: [0xb1,0xb2]4056@ CHECK: uxth.w	r3, r8, ror #8          @ encoding: [0x1f,0xfa,0x98,0xf3]4057@ CHECK: it	le                      @ encoding: [0xd8,0xbf]4058@ CHECK: uxthle.w	r2, r2, ror #16 @ encoding: [0x1f,0xfa,0xa2,0xf2]4059@ CHECK: uxth.w	r9, r3, ror #24         @ encoding: [0x1f,0xfa,0xb3,0xf9]4060@ CHECK: uxth.w	r7, r8                  @ encoding: [0x1f,0xfa,0x88,0xf7]4061 4062@------------------------------------------------------------------------------4063@ WFE/WFI/YIELD/HINT4064@------------------------------------------------------------------------------4065        wfe4066        wfi4067        yield4068        itet lt4069        wfelt4070        wfige4071        yieldlt4072        hint.w #44073        hint.w #34074        hint.w #24075        hint.w #14076        hint.w #04077        hint #44078        hint #34079        hint #24080        hint #14081        hint #04082 4083        itet lt4084        hintlt #154085        hintge #164086        hintlt #2394087 4088@ CHECK: wfe                            @ encoding: [0x20,0xbf]4089@ CHECK: wfi                            @ encoding: [0x30,0xbf]4090@ CHECK: yield                          @ encoding: [0x10,0xbf]4091@ CHECK: itet	lt                      @ encoding: [0xb6,0xbf]4092@ CHECK: wfelt                          @ encoding: [0x20,0xbf]4093@ CHECK: wfige                          @ encoding: [0x30,0xbf]4094@ CHECK: yieldlt                        @ encoding: [0x10,0xbf]4095@ CHECK: sev.w                          @ encoding: [0xaf,0xf3,0x04,0x80]4096@ CHECK: wfi.w                          @ encoding: [0xaf,0xf3,0x03,0x80]4097@ CHECK: wfe.w                          @ encoding: [0xaf,0xf3,0x02,0x80]4098@ CHECK: yield.w                        @ encoding: [0xaf,0xf3,0x01,0x80]4099@ CHECK: nop.w                          @ encoding: [0xaf,0xf3,0x00,0x80]4100@ CHECK: sev                            @ encoding: [0x40,0xbf]4101@ CHECK: wfi                            @ encoding: [0x30,0xbf]4102@ CHECK: wfe                            @ encoding: [0x20,0xbf]4103@ CHECK: yield                          @ encoding: [0x10,0xbf]4104@ CHECK: nop                            @ encoding: [0x00,0xbf]4105 4106@ CHECK: itet	lt                      @ encoding: [0xb6,0xbf]4107@ CHECK: hintlt #15                     @ encoding: [0xf0,0xbf]4108@ CHECK: hintge.w #16                   @ encoding: [0xaf,0xf3,0x10,0x80]4109@ CHECK: hintlt.w #239                  @ encoding: [0xaf,0xf3,0xef,0x80]4110 4111@------------------------------------------------------------------------------4112@ Unallocated wide/narrow hints4113@------------------------------------------------------------------------------4114        hint #74115        hint.w #74116@ CHECK: hint #7                        @ encoding: [0x70,0xbf]4117@ CHECK: hint.w #7                      @ encoding: [0xaf,0xf3,0x07,0x80]4118 4119@------------------------------------------------------------------------------4120@ Alternate syntax for LDR*(literal) encodings4121@------------------------------------------------------------------------------4122        ldrb r11, [pc, #22]4123        ldrh r11, [pc, #22]4124        ldrsb r11, [pc, #22]4125        ldrsh r11, [pc, #22]4126        ldr.w r11, [pc, #22]4127        ldrb.w r11, [pc, #22]4128        ldrh.w r11, [pc, #22]4129        ldrsb.w r11, [pc, #22]4130        ldrsh.w r11, [pc, #22]4131 4132@ CHECK: ldrb.w r11, [pc, #22]        @ encoding: [0x9f,0xf8,0x16,0xb0]4133@ CHECK: ldrh.w r11, [pc, #22]        @ encoding: [0xbf,0xf8,0x16,0xb0]4134@ CHECK: ldrsb.w r11, [pc, #22]       @ encoding: [0x9f,0xf9,0x16,0xb0]4135@ CHECK: ldrsh.w r11, [pc, #22]       @ encoding: [0xbf,0xf9,0x16,0xb0]4136@ CHECK: ldr.w r11, [pc, #22]         @ encoding: [0xdf,0xf8,0x16,0xb0]4137@ CHECK: ldrb.w r11, [pc, #22]        @ encoding: [0x9f,0xf8,0x16,0xb0]4138@ CHECK: ldrh.w r11, [pc, #22]        @ encoding: [0xbf,0xf8,0x16,0xb0]4139@ CHECK: ldrsb.w r11, [pc, #22]       @ encoding: [0x9f,0xf9,0x16,0xb0]4140@ CHECK: ldrsh.w r11, [pc, #22]       @ encoding: [0xbf,0xf9,0x16,0xb0]4141 4142        ldr r11, [pc, #-22]4143        ldrb r11, [pc, #-22]4144        ldrh r11, [pc, #-22]4145        ldrsb r11, [pc, #-22]4146        ldrsh r11, [pc, #-22]4147        ldr.w r11, [pc, #-22]4148        ldrb.w r11, [pc, #-22]4149        ldrh.w r11, [pc, #-22]4150        ldrsb.w r11, [pc, #-22]4151        ldrsh.w r11, [pc, #-22]4152 4153@ CHECK: ldr.w	r11, [pc, #-22]         @ encoding: [0x5f,0xf8,0x16,0xb0]4154@ CHECK: ldrb.w	r11, [pc, #-22]         @ encoding: [0x1f,0xf8,0x16,0xb0]4155@ CHECK: ldrh.w	r11, [pc, #-22]         @ encoding: [0x3f,0xf8,0x16,0xb0]4156@ CHECK: ldrsb.w r11, [pc, #-22]        @ encoding: [0x1f,0xf9,0x16,0xb0]4157@ CHECK: ldrsh.w r11, [pc, #-22]        @ encoding: [0x3f,0xf9,0x16,0xb0]4158@ CHECK: ldr.w	r11, [pc, #-22]         @ encoding: [0x5f,0xf8,0x16,0xb0]4159@ CHECK: ldrb.w	r11, [pc, #-22]         @ encoding: [0x1f,0xf8,0x16,0xb0]4160@ CHECK: ldrh.w	r11, [pc, #-22]         @ encoding: [0x3f,0xf8,0x16,0xb0]4161@ CHECK: ldrsb.w r11, [pc, #-22]        @ encoding: [0x1f,0xf9,0x16,0xb0]4162@ CHECK: ldrsh.w r11, [pc, #-22]        @ encoding: [0x3f,0xf9,0x16,0xb0]4163 4164@ rdar://125963614165         ldr r1, [pc, #12]4166@ CHECK: ldr r1, [pc, #12]              @ encoding: [0x03,0x49]4167 4168@ rdar://142140634169         subs pc, lr, #44170@ CHECK: subs pc, lr, #4                @ encoding: [0xde,0xf3,0x04,0x8f]4171