1# RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s 2 3#------------------------------------------------------------------------------ 4# ADC (immediate) 5#------------------------------------------------------------------------------ 6# CHECK: adc r1, r2, #15 7# CHECK: adc r1, r2, #240 8# CHECK: adc r1, r2, #3840 9# CHECK: adc r1, r2, #61440 10# CHECK: adc r1, r2, #983040 11# CHECK: adc r1, r2, #15728640 12# CHECK: adc r1, r2, #251658240 13# CHECK: adc r1, r2, #-268435456 14# CHECK: adc r1, r2, #-268435441 15# CHECK: adc r7, r8, #-2147483638 16# CHECK: adc r7, r8, #40, #2 17# CHECK: adcs r1, r2, #3840 18# CHECK: adcs r7, r8, #40, #2 19# CHECK: adcseq r1, r2, #3840 20# CHECK: adceq r1, r2, #3840 21 220x0f 0x10 0xa2 0xe2 230xf0 0x10 0xa2 0xe2 240x0f 0x1c 0xa2 0xe2 250x0f 0x1a 0xa2 0xe2 260x0f 0x18 0xa2 0xe2 270x0f 0x16 0xa2 0xe2 280x0f 0x14 0xa2 0xe2 290x0f 0x12 0xa2 0xe2 300xff 0x12 0xa2 0xe2 310x2a 0x71 0xa8 0xe2 320x28 0x71 0xa8 0xe2 33 340x0f 0x1c 0xb2 0xe2 350x28 0x71 0xb8 0xe2 360x0f 0x1c 0xb2 0x02 370x0f 0x1c 0xa2 0x02 38 39#------------------------------------------------------------------------------ 40# ADC (register) 41# ADC (shifted register) 42#------------------------------------------------------------------------------ 43# CHECK: adc r4, r5, r6 44 45# CHECK: adc r4, r5, r6, lsl #1 46# CHECK: adc r4, r5, r6, lsl #31 47# CHECK: adc r4, r5, r6, lsr #1 48# CHECK: adc r4, r5, r6, lsr #31 49# CHECK: adc r4, r5, r6, lsr #32 50# CHECK: adc r4, r5, r6, asr #1 51# CHECK: adc r4, r5, r6, asr #31 52# CHECK: adc r4, r5, r6, asr #32 53# CHECK: adc r4, r5, r6, ror #1 54# CHECK: adc r4, r5, r6, ror #31 55 56# CHECK: adc r6, r7, r8, lsl r9 57# CHECK: adc r6, r7, r8, lsr r9 58# CHECK: adc r6, r7, r8, asr r9 59# CHECK: adc r6, r7, r8, ror r9 60# CHECK: adc r4, r5, r6, rrx 61 62# CHECK: adc r5, r5, r6 63# CHECK: adc r4, r4, r5, lsl #1 64# CHECK: adc r4, r4, r5, lsl #31 65# CHECK: adc r4, r4, r5, lsr #1 66# CHECK: adc r4, r4, r5, lsr #31 67# CHECK: adc r4, r4, r5, lsr #32 68# CHECK: adc r4, r4, r5, asr #1 69# CHECK: adc r4, r4, r5, asr #31 70# CHECK: adc r4, r4, r5, asr #32 71# CHECK: adc r4, r4, r5, ror #1 72# CHECK: adc r4, r4, r5, ror #31 73# CHECK: adc r4, r4, r5, rrx 74# CHECK: adc r6, r6, r7, lsl r9 75# CHECK: adc r6, r6, r7, lsr r9 76# CHECK: adc r6, r6, r7, asr r9 77# CHECK: adc r6, r6, r7, ror r9 78# CHECK: adc r4, r4, r5, rrx 79 800x06 0x40 0xa5 0xe0 81 820x86 0x40 0xa5 0xe0 830x86 0x4f 0xa5 0xe0 840xa6 0x40 0xa5 0xe0 850xa6 0x4f 0xa5 0xe0 860x26 0x40 0xa5 0xe0 870xc6 0x40 0xa5 0xe0 880xc6 0x4f 0xa5 0xe0 890x46 0x40 0xa5 0xe0 900xe6 0x40 0xa5 0xe0 910xe6 0x4f 0xa5 0xe0 92 930x18 0x69 0xa7 0xe0 940x38 0x69 0xa7 0xe0 950x58 0x69 0xa7 0xe0 960x78 0x69 0xa7 0xe0 970x66 0x40 0xa5 0xe0 98 990x06 0x50 0xa5 0xe0 1000x85 0x40 0xa4 0xe0 1010x85 0x4f 0xa4 0xe0 1020xa5 0x40 0xa4 0xe0 1030xa5 0x4f 0xa4 0xe0 1040x25 0x40 0xa4 0xe0 1050xc5 0x40 0xa4 0xe0 1060xc5 0x4f 0xa4 0xe0 1070x45 0x40 0xa4 0xe0 1080xe5 0x40 0xa4 0xe0 1090xe5 0x4f 0xa4 0xe0 1100x65 0x40 0xa4 0xe0 1110x17 0x69 0xa6 0xe0 1120x37 0x69 0xa6 0xe0 1130x57 0x69 0xa6 0xe0 1140x77 0x69 0xa6 0xe0 1150x65 0x40 0xa4 0xe0 116 117#------------------------------------------------------------------------------ 118# ADD 119#------------------------------------------------------------------------------ 120# CHECK: add r4, r5, #61440 121# CHECK: add r7, r8, #-2147483638 122# CHECK: add r7, r8, #40, #2 123# CHECK: add r4, r5, r6 124# CHECK: add r4, r5, r6, lsl #5 125# CHECK: add r4, r5, r6, lsr #5 126# CHECK: add r4, r5, r6, lsr #5 127# CHECK: add r4, r5, r6, asr #5 128# CHECK: add r4, r5, r6, ror #5 129# CHECK: add r6, r7, r8, lsl r9 130# CHECK: add r6, r7, r8, lsr r9 131# CHECK: add r6, r7, r8, asr r9 132# CHECK: add r6, r7, r8, ror r9 133# CHECK: add r4, r5, r6, rrx 134 135# CHECK: add r5, r5, #61440 136# CHECK: add r4, r4, r5 137# CHECK: add r4, r4, r5, lsl #5 138# CHECK: add r4, r4, r5, lsr #5 139# CHECK: add r4, r4, r5, lsr #5 140# CHECK: add r4, r4, r5, asr #5 141# CHECK: add r4, r4, r5, ror #5 142# CHECK: add r6, r6, r7, lsl r9 143# CHECK: add r6, r6, r7, lsr r9 144# CHECK: add r6, r6, r7, asr r9 145# CHECK: add r6, r6, r7, ror r9 146# CHECK: add r4, r4, r5, rrx 147 1480x0f 0x4a 0x85 0xe2 1490x2a 0x71 0x88 0xe2 1500x28 0x71 0x88 0xe2 1510x06 0x40 0x85 0xe0 1520x86 0x42 0x85 0xe0 1530xa6 0x42 0x85 0xe0 1540xa6 0x42 0x85 0xe0 1550xc6 0x42 0x85 0xe0 1560xe6 0x42 0x85 0xe0 1570x18 0x69 0x87 0xe0 1580x38 0x69 0x87 0xe0 1590x58 0x69 0x87 0xe0 1600x78 0x69 0x87 0xe0 1610x66 0x40 0x85 0xe0 162 163 1640x0f 0x5a 0x85 0xe2 1650x05 0x40 0x84 0xe0 1660x85 0x42 0x84 0xe0 1670xa5 0x42 0x84 0xe0 1680xa5 0x42 0x84 0xe0 1690xc5 0x42 0x84 0xe0 1700xe5 0x42 0x84 0xe0 1710x17 0x69 0x86 0xe0 1720x37 0x69 0x86 0xe0 1730x57 0x69 0x86 0xe0 1740x77 0x69 0x86 0xe0 1750x65 0x40 0x84 0xe0 176 177#------------------------------------------------------------------------------ 178# ADDS 179#------------------------------------------------------------------------------ 180# CHECK: adds r7, r8, #-2147483638 181# CHECK: adds r7, r8, #40, #2 182 1830x2a 0x71 0x98 0xe2 1840x28 0x71 0x98 0xe2 185 186#------------------------------------------------------------------------------ 187# ADR 188#------------------------------------------------------------------------------ 189# CHECK: add r2, pc, #3 190# CHECK: sub r2, pc, #3 191# CHECK: sub r1, pc, #0 192# CHECK: sub r1, pc, #301989888 193# CHECK: add r1, pc, #301989888 194 1950x03 0x20 0x8f 0xe2 1960x03 0x20 0x4f 0xe2 1970x00 0x10 0x4f 0xe2 1980x12 0x14 0x4f 0xe2 1990x12 0x14 0x8f 0xe2 200 201#------------------------------------------------------------------------------ 202# AND 203#------------------------------------------------------------------------------ 204# CHECK: and r10, r1, #15 205# CHECK: and r7, r8, #-2147483638 206# CHECK: and r7, r8, #40, #2 207# CHECK: and r10, r1, r6 208# CHECK: and r10, r1, r6, lsl #10 209# CHECK: and r10, r1, r6, lsr #10 210# CHECK: and r10, r1, r6, lsr #10 211# CHECK: and r10, r1, r6, asr #10 212# CHECK: and r10, r1, r6, ror #10 213# CHECK: and r6, r7, r8, lsl r2 214# CHECK: and r6, r7, r8, lsr r2 215# CHECK: and r6, r7, r8, asr r2 216# CHECK: and r6, r7, r8, ror r2 217# CHECK: and r10, r1, r6, rrx 218 219# CHECK: and r1, r1, #15 220# CHECK: and r10, r10, r1 221# CHECK: and r10, r10, r1, lsl #10 222# CHECK: and r10, r10, r1, lsr #10 223# CHECK: and r10, r10, r1, lsr #10 224# CHECK: and r10, r10, r1, asr #10 225# CHECK: and r10, r10, r1, ror #10 226# CHECK: and r6, r6, r7, lsl r2 227# CHECK: and r6, r6, r7, lsr r2 228# CHECK: and r6, r6, r7, asr r2 229# CHECK: and r6, r6, r7, ror r2 230# CHECK: and r10, r10, r1, rrx 231 2320x0f 0xa0 0x01 0xe2 2330x2a 0x71 0x08 0xe2 2340x28 0x71 0x08 0xe2 2350x06 0xa0 0x01 0xe0 2360x06 0xa5 0x01 0xe0 2370x26 0xa5 0x01 0xe0 2380x26 0xa5 0x01 0xe0 2390x46 0xa5 0x01 0xe0 2400x66 0xa5 0x01 0xe0 2410x18 0x62 0x07 0xe0 2420x38 0x62 0x07 0xe0 2430x58 0x62 0x07 0xe0 2440x78 0x62 0x07 0xe0 2450x66 0xa0 0x01 0xe0 246 2470x0f 0x10 0x01 0xe2 2480x01 0xa0 0x0a 0xe0 2490x01 0xa5 0x0a 0xe0 2500x21 0xa5 0x0a 0xe0 2510x21 0xa5 0x0a 0xe0 2520x41 0xa5 0x0a 0xe0 2530x61 0xa5 0x0a 0xe0 2540x17 0x62 0x06 0xe0 2550x37 0x62 0x06 0xe0 2560x57 0x62 0x06 0xe0 2570x77 0x62 0x06 0xe0 2580x61 0xa0 0x0a 0xe0 259 260#------------------------------------------------------------------------------ 261# FIXME: ASR 262#------------------------------------------------------------------------------ 263 264#------------------------------------------------------------------------------ 265# BFC 266#------------------------------------------------------------------------------ 267# CHECK: bfc r5, #3, #17 268# CHECK: bfclo r5, #3, #17 269 2700x9f 0x51 0xd3 0xe7 2710x9f 0x51 0xd3 0x37 272 273 274#------------------------------------------------------------------------------ 275# BFI 276#------------------------------------------------------------------------------ 277# CHECK: bfi r5, r2, #3, #17 278# CHECK: bfine r5, r2, #3, #17 279 2800x92 0x51 0xd3 0xe7 2810x92 0x51 0xd3 0x17 282 283 284#------------------------------------------------------------------------------ 285# BIC 286#------------------------------------------------------------------------------ 287# CHECK: bic r10, r1, #15 288# CHECK: bic r7, r8, #-2147483638 289# CHECK: bic r7, r8, #40, #2 290# CHECK: bic r10, r1, r6 291# CHECK: bic r10, r1, r6, lsl #10 292# CHECK: bic r10, r1, r6, lsr #10 293# CHECK: bic r10, r1, r6, lsr #10 294# CHECK: bic r10, r1, r6, asr #10 295# CHECK: bic r10, r1, r6, ror #10 296# CHECK: bic r6, r7, r8, lsl r2 297# CHECK: bic r6, r7, r8, lsr r2 298# CHECK: bic r6, r7, r8, asr r2 299# CHECK: bic r6, r7, r8, ror r2 300# CHECK: bic r10, r1, r6, rrx 301 302# CHECK: bic r1, r1, #15 303# CHECK: bic r10, r10, r1 304# CHECK: bic r10, r10, r1, lsl #10 305# CHECK: bic r10, r10, r1, lsr #10 306# CHECK: bic r10, r10, r1, lsr #10 307# CHECK: bic r10, r10, r1, asr #10 308# CHECK: bic r10, r10, r1, ror #10 309# CHECK: bic r6, r6, r7, lsl r2 310# CHECK: bic r6, r6, r7, lsr r2 311# CHECK: bic r6, r6, r7, asr r2 312# CHECK: bic r6, r6, r7, ror r2 313# CHECK: bic r10, r10, r1, rrx 314 3150x0f 0xa0 0xc1 0xe3 3160x2a 0x71 0xc8 0xe3 3170x28 0x71 0xc8 0xe3 3180x06 0xa0 0xc1 0xe1 3190x06 0xa5 0xc1 0xe1 3200x26 0xa5 0xc1 0xe1 3210x26 0xa5 0xc1 0xe1 3220x46 0xa5 0xc1 0xe1 3230x66 0xa5 0xc1 0xe1 3240x18 0x62 0xc7 0xe1 3250x38 0x62 0xc7 0xe1 3260x58 0x62 0xc7 0xe1 3270x78 0x62 0xc7 0xe1 3280x66 0xa0 0xc1 0xe1 329 330 3310x0f 0x10 0xc1 0xe3 3320x01 0xa0 0xca 0xe1 3330x01 0xa5 0xca 0xe1 3340x21 0xa5 0xca 0xe1 3350x21 0xa5 0xca 0xe1 3360x41 0xa5 0xca 0xe1 3370x61 0xa5 0xca 0xe1 3380x17 0x62 0xc6 0xe1 3390x37 0x62 0xc6 0xe1 3400x57 0x62 0xc6 0xe1 3410x77 0x62 0xc6 0xe1 3420x61 0xa0 0xca 0xe1 343 344#------------------------------------------------------------------------------ 345# BKPT 346#------------------------------------------------------------------------------ 347# CHECK: bkpt #10 348# CHECK: bkpt #65535 349 3500x7a 0x00 0x20 0xe1 3510x7f 0xff 0x2f 0xe1 352 353#------------------------------------------------------------------------------ 354# BLX (register) 355#------------------------------------------------------------------------------ 356# CHECK: blx r2 357# CHECK: blxne r2 358 3590x32 0xff 0x2f 0xe1 3600x32 0xff 0x2f 0x11 361 362#------------------------------------------------------------------------------ 363# BLX (immediate) 364#------------------------------------------------------------------------------ 365# CHECK: blx #32424576 366# CHECK: blx #16212288 367 3680xa0 0xb0 0x7b 0xfa 3690x50 0xd8 0x3d 0xfa 370 371#------------------------------------------------------------------------------ 372# BX 373#------------------------------------------------------------------------------ 374 375# CHECK: bx r2 376# CHECK: bxne r2 377 3780x12 0xff 0x2f 0xe1 3790x12 0xff 0x2f 0x11 380 381#------------------------------------------------------------------------------ 382# BXJ 383#------------------------------------------------------------------------------ 384 385# CHECK: bxj r2 386# CHECK: bxjne r2 387 3880x22 0xff 0x2f 0xe1 3890x22 0xff 0x2f 0x11 390 391 392#------------------------------------------------------------------------------ 393# CDP/CDP2 394#------------------------------------------------------------------------------ 395# CHECK: cdp p7, #1, c1, c1, c1, #4 396# CHECK: cdp2 p7, #1, c1, c1, c1, #4 397 3980x81 0x17 0x11 0xee 3990x81 0x17 0x11 0xfe 400 401 402#------------------------------------------------------------------------------ 403# CLREX 404#------------------------------------------------------------------------------ 405# CHECK: clrex 406 4070x1f 0xf0 0x7f 0xf5 408 409 410#------------------------------------------------------------------------------ 411# CLZ 412#------------------------------------------------------------------------------ 413# CHECK: clz r1, r2 414# CHECK: clzeq r1, r2 415 4160x12 0x1f 0x6f 0xe1 4170x12 0x1f 0x6f 0x01 418 419#------------------------------------------------------------------------------ 420# CMN 421#------------------------------------------------------------------------------ 422# CHECK: cmn r1, #15 423# CHECK: cmn r7, #40, #2 424# CHECK: cmn r7, #-2147483638 425# CHECK: cmn r1, r6 426# CHECK: cmn r1, r6, lsl #10 427# CHECK: cmn r1, r6, lsr #10 428# CHECK: cmn sp, r6, lsr #10 429# CHECK: cmn r1, r6, asr #10 430# CHECK: cmn r1, r6, ror #10 431# CHECK: cmn r7, r8, lsl r2 432# CHECK: cmn sp, r8, lsr r2 433# CHECK: cmn r7, r8, asr r2 434# CHECK: cmn r7, r8, ror r2 435# CHECK: cmn r1, r6, rrx 436 4370x0f 0x00 0x71 0xe3 4380x28 0x01 0x77 0xe3 4390x2a 0x01 0x77 0xe3 4400x06 0x00 0x71 0xe1 4410x06 0x05 0x71 0xe1 4420x26 0x05 0x71 0xe1 4430x26 0x05 0x7d 0xe1 4440x46 0x05 0x71 0xe1 4450x66 0x05 0x71 0xe1 4460x18 0x02 0x77 0xe1 4470x38 0x02 0x7d 0xe1 4480x58 0x02 0x77 0xe1 4490x78 0x02 0x77 0xe1 4500x66 0x00 0x71 0xe1 451 452#------------------------------------------------------------------------------ 453# CMP 454#------------------------------------------------------------------------------ 455# CHECK: cmp r1, #15 456# CHECK: cmp r7, #40, #2 457# CHECK: cmp r7, #-2147483638 458# CHECK: cmp r1, r6 459# CHECK: cmp r1, r6, lsl #10 460# CHECK: cmp r1, r6, lsr #10 461# CHECK: cmp sp, r6, lsr #10 462# CHECK: cmp r1, r6, asr #10 463# CHECK: cmp r1, r6, ror #10 464# CHECK: cmp r7, r8, lsl r2 465# CHECK: cmp sp, r8, lsr r2 466# CHECK: cmp r7, r8, asr r2 467# CHECK: cmp r7, r8, ror r2 468# CHECK: cmp r1, r6, rrx 469 4700x0f 0x00 0x51 0xe3 4710x28 0x01 0x57 0xe3 4720x2a 0x01 0x57 0xe3 4730x06 0x00 0x51 0xe1 4740x06 0x05 0x51 0xe1 4750x26 0x05 0x51 0xe1 4760x26 0x05 0x5d 0xe1 4770x46 0x05 0x51 0xe1 4780x66 0x05 0x51 0xe1 4790x18 0x02 0x57 0xe1 4800x38 0x02 0x5d 0xe1 4810x58 0x02 0x57 0xe1 4820x78 0x02 0x57 0xe1 4830x66 0x00 0x51 0xe1 484 485 486#------------------------------------------------------------------------------ 487# CPS 488#------------------------------------------------------------------------------ 489# CHECK: cpsie aif 490# CHECK: cps #15 491# CHECK: cpsid if, #10 492# CHECK: cpsid af, #17 493# CHECK: cpsie f, #26 494 4950xc0 0x01 0x08 0xf1 4960x0f 0x00 0x02 0xf1 4970xca 0x00 0x0e 0xf1 4980x51 0x01 0x0e 0xf1 4990x5a 0x00 0x0a 0xf1 500 501 502#------------------------------------------------------------------------------ 503# DBG 504#------------------------------------------------------------------------------ 505# CHECK: dbg #0 506# CHECK: dbg #5 507# CHECK: dbg #15 508 5090xf0 0xf0 0x20 0xe3 5100xf5 0xf0 0x20 0xe3 5110xff 0xf0 0x20 0xe3 512 513 514#------------------------------------------------------------------------------ 515# DMB 516#------------------------------------------------------------------------------ 517 518# CHECK: dmb #0x0 519# CHECK: dmb #0x1 520# CHECK: dmb oshst 521# CHECK: dmb osh 522# CHECK: dmb #0x4 523# CHECK: dmb #0x5 524# CHECK: dmb nshst 525# CHECK: dmb nsh 526# CHECK: dmb #0x8 527# CHECK: dmb #0x9 528# CHECK: dmb ishst 529# CHECK: dmb ish 530# CHECK: dmb #0xc 531# CHECK: dmb #0xd 532# CHECK: dmb st 533# CHECK: dmb sy 534 5350x50 0xf0 0x7f 0xf5 5360x51 0xf0 0x7f 0xf5 5370x52 0xf0 0x7f 0xf5 5380x53 0xf0 0x7f 0xf5 5390x54 0xf0 0x7f 0xf5 5400x55 0xf0 0x7f 0xf5 5410x56 0xf0 0x7f 0xf5 5420x57 0xf0 0x7f 0xf5 5430x58 0xf0 0x7f 0xf5 5440x59 0xf0 0x7f 0xf5 5450x5a 0xf0 0x7f 0xf5 5460x5b 0xf0 0x7f 0xf5 5470x5c 0xf0 0x7f 0xf5 5480x5d 0xf0 0x7f 0xf5 5490x5e 0xf0 0x7f 0xf5 5500x5f 0xf0 0x7f 0xf5 551 552#------------------------------------------------------------------------------ 553# DSB 554#------------------------------------------------------------------------------ 555 556# CHECK: dsb #0x0 557# CHECK: dsb #0x1 558# CHECK: dsb oshst 559# CHECK: dsb osh 560# CHECK: dsb #0x4 561# CHECK: dsb #0x5 562# CHECK: dsb nshst 563# CHECK: dsb nsh 564# CHECK: dsb #0x8 565# CHECK: dsb #0x9 566# CHECK: dsb ishst 567# CHECK: dsb ish 568# CHECK: dsb #0xc 569# CHECK: dsb #0xd 570# CHECK: dsb st 571# CHECK: dsb sy 572 5730x40 0xf0 0x7f 0xf5 5740x41 0xf0 0x7f 0xf5 5750x42 0xf0 0x7f 0xf5 5760x43 0xf0 0x7f 0xf5 5770x44 0xf0 0x7f 0xf5 5780x45 0xf0 0x7f 0xf5 5790x46 0xf0 0x7f 0xf5 5800x47 0xf0 0x7f 0xf5 5810x48 0xf0 0x7f 0xf5 5820x49 0xf0 0x7f 0xf5 5830x4a 0xf0 0x7f 0xf5 5840x4b 0xf0 0x7f 0xf5 5850x4c 0xf0 0x7f 0xf5 5860x4d 0xf0 0x7f 0xf5 5870x4e 0xf0 0x7f 0xf5 5880x4f 0xf0 0x7f 0xf5 589 590#------------------------------------------------------------------------------ 591# EOR 592#------------------------------------------------------------------------------ 593# CHECK: eor r4, r5, #61440 594# CHECK: eor r7, r8, #-2147483638 595# CHECK: eor r7, r8, #40, #2 596# CHECK: eor r4, r5, r6 597# CHECK: eor r4, r5, r6, lsl #5 598# CHECK: eor r4, r5, r6, lsr #5 599# CHECK: eor r4, r5, r6, lsr #5 600# CHECK: eor r4, r5, r6, asr #5 601# CHECK: eor r4, r5, r6, ror #5 602# CHECK: eor r6, r7, r8, lsl r9 603# CHECK: eor r6, r7, r8, lsr r9 604# CHECK: eor r6, r7, r8, asr r9 605# CHECK: eor r6, r7, r8, ror r9 606# CHECK: eor r4, r5, r6, rrx 607 608# CHECK: eor r5, r5, #61440 609# CHECK: eor r4, r4, r5 610# CHECK: eor r4, r4, r5, lsl #5 611# CHECK: eor r4, r4, r5, lsr #5 612# CHECK: eor r4, r4, r5, lsr #5 613# CHECK: eor r4, r4, r5, asr #5 614# CHECK: eor r4, r4, r5, ror #5 615# CHECK: eor r6, r6, r7, lsl r9 616# CHECK: eor r6, r6, r7, lsr r9 617# CHECK: eor r6, r6, r7, asr r9 618# CHECK: eor r6, r6, r7, ror r9 619# CHECK: eor r4, r4, r5, rrx 620 6210x0f 0x4a 0x25 0xe2 6220x2a 0x71 0x28 0xe2 6230x28 0x71 0x28 0xe2 6240x06 0x40 0x25 0xe0 6250x86 0x42 0x25 0xe0 6260xa6 0x42 0x25 0xe0 6270xa6 0x42 0x25 0xe0 6280xc6 0x42 0x25 0xe0 6290xe6 0x42 0x25 0xe0 6300x18 0x69 0x27 0xe0 6310x38 0x69 0x27 0xe0 6320x58 0x69 0x27 0xe0 6330x78 0x69 0x27 0xe0 6340x66 0x40 0x25 0xe0 635 636 6370x0f 0x5a 0x25 0xe2 6380x05 0x40 0x24 0xe0 6390x85 0x42 0x24 0xe0 6400xa5 0x42 0x24 0xe0 6410xa5 0x42 0x24 0xe0 6420xc5 0x42 0x24 0xe0 6430xe5 0x42 0x24 0xe0 6440x17 0x69 0x26 0xe0 6450x37 0x69 0x26 0xe0 6460x57 0x69 0x26 0xe0 6470x77 0x69 0x26 0xe0 6480x65 0x40 0x24 0xe0 649 650 651#------------------------------------------------------------------------------ 652# ISB 653#------------------------------------------------------------------------------ 654# CHECK: isb sy 655# CHECK: isb #0xa 656 6570x6f 0xf0 0x7f 0xf5 6580x6a 0xf0 0x7f 0xf5 659 660 661 662#------------------------------------------------------------------------------ 663# LDM* 664#------------------------------------------------------------------------------ 665# CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} 666# CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} 667# CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} 668# CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} 669 670 671# CHECK: ldm r2!, {r1, r3, r4, r5, r6, sp} 672# CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} 673# CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} 674# CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} 675 6760x7a 0x20 0x92 0xe8 6770x7a 0x20 0x92 0xe9 6780x7a 0x20 0x12 0xe8 6790x7a 0x20 0x12 0xe9 680 6810x7a 0x20 0xb2 0xe8 6820x7a 0x20 0xb2 0xe9 6830x7a 0x20 0x32 0xe8 6840x7a 0x20 0x32 0xe9 685 686 687#------------------------------------------------------------------------------ 688# LDREX/LDREXB/LDREXH/LDREXD 689#------------------------------------------------------------------------------ 690# CHECK: ldrexb r3, [r4] 691# CHECK: ldrexh r2, [r5] 692# CHECK: ldrex r1, [r7] 693# CHECK: ldrexd r6, r7, [r8] 694 6950x9f 0x3f 0xd4 0xe1 6960x9f 0x2f 0xf5 0xe1 6970x9f 0x1f 0x97 0xe1 6980x9f 0x6f 0xb8 0xe1 699 700 701#------------------------------------------------------------------------------ 702# FIXME: LSL 703#------------------------------------------------------------------------------ 704#------------------------------------------------------------------------------ 705# FIXME: LSR 706#------------------------------------------------------------------------------ 707 708#------------------------------------------------------------------------------ 709# MCR/MCR2 710#------------------------------------------------------------------------------ 711# CHECK: mcr p7, #1, r5, c1, c1, #4 712# CHECK: mcr2 p7, #1, r5, c1, c1, #4 713 7140x91 0x57 0x21 0xee 7150x91 0x57 0x21 0xfe 716 717#------------------------------------------------------------------------------ 718# MCRR/MCRR2 719#------------------------------------------------------------------------------ 720# CHECK: mcrr p7, #15, r5, r4, c1 721# CHECK: mcrr2 p7, #15, r5, r4, c1 722 7230xf1 0x57 0x44 0xec 7240xf1 0x57 0x44 0xfc 725 726 727#------------------------------------------------------------------------------ 728# MLA 729#------------------------------------------------------------------------------ 730# CHECK: mla r1, r2, r3, r4 731# CHECK: mlas r1, r2, r3, r4 732# CHECK: mlane r1, r2, r3, r4 733# CHECK: mlasne r1, r2, r3, r4 734 7350x92 0x43 0x21 0xe0 7360x92 0x43 0x31 0xe0 7370x92 0x43 0x21 0x10 7380x92 0x43 0x31 0x10 739 740#------------------------------------------------------------------------------ 741# MLS 742#------------------------------------------------------------------------------ 743# CHECK: mls r2, r5, r6, r3 744# CHECK: mlsne r2, r5, r6, r3 745 7460x95 0x36 0x62 0xe0 7470x95 0x36 0x62 0x10 748 749#------------------------------------------------------------------------------ 750# MOV (immediate) 751#------------------------------------------------------------------------------ 752# CHECK: mov r3, #7 753# CHECK: mov r4, #4080 754# CHECK: mov r5, #16711680 755# CHECK: mov sp, #35 756# CHECK: mov r9, #240, #30 757# CHECK: mov r7, #-2147483638 758# CHECK: mov pc, #2147483658 759# CHECK: movw r6, #65535 760# CHECK: movw r9, #65535 761# CHECK: movw sp, #1193 762# CHECK: movs r3, #7 763# CHECK: movs r11, #99 764# CHECK: movs r11, #240, #30 765# CHECK: moveq r4, #4080 766# CHECK: movseq r5, #16711680 767 7680x07 0x30 0xa0 0xe3 7690xff 0x4e 0xa0 0xe3 7700xff 0x58 0xa0 0xe3 7710x23 0xd0 0xa0 0xe3 7720xf0 0x9f 0xa0 0xe3 7730x2a 0x71 0xa0 0xe3 7740x2a 0xf1 0xa0 0xe3 7750xff 0x6f 0x0f 0xe3 7760xff 0x9f 0x0f 0xe3 7770xa9 0xd4 0x00 0xe3 7780x07 0x30 0xb0 0xe3 7790x63 0xb0 0xb0 0xe3 7800xf0 0xbf 0xb0 0xe3 7810xff 0x4e 0xa0 0x03 7820xff 0x58 0xb0 0x03 783 784#------------------------------------------------------------------------------ 785# MOV (register) 786#------------------------------------------------------------------------------ 787# CHECK: mov r2, r3 788# CHECK: movs r2, r3 789# CHECK: moveq r2, r3 790# CHECK: movseq r2, r3 791 7920x03 0x20 0xa0 0xe1 7930x03 0x20 0xb0 0xe1 7940x03 0x20 0xa0 0x01 7950x03 0x20 0xb0 0x01 796 797#------------------------------------------------------------------------------ 798# MOVT 799#------------------------------------------------------------------------------ 800# CHECK: movt r3, #7 801# CHECK: movt r6, #65535 802# CHECK: movt sp, #3397 803# CHECK: movteq r4, #4080 804 8050x07 0x30 0x40 0xe3 8060xff 0x6f 0x4f 0xe3 8070x45 0xdd 0x40 0xe3 8080xf0 0x4f 0x40 0x03 809 810 811#------------------------------------------------------------------------------ 812# MRC/MRC2 813#------------------------------------------------------------------------------ 814# CHECK: mrc p14, #0, r1, c1, c2, #4 815# CHECK: mrc p15, #7, apsr_nzcv, c15, c6, #6 816# CHECK: mrc2 p14, #0, r1, c1, c2, #4 817# CHECK: mrc2 p9, #7, apsr_nzcv, c15, c0, #1 818 8190x92 0x1e 0x11 0xee 8200xd6 0xff 0xff 0xee 8210x92 0x1e 0x11 0xfe 8220x30 0xf9 0xff 0xfe 823 824#------------------------------------------------------------------------------ 825# MRRC/MRRC2 826#------------------------------------------------------------------------------ 827# CHECK: mrrc p7, #1, r5, r4, c1 828# CHECK: mrrc2 p7, #1, r5, r4, c1 829 8300x11 0x57 0x54 0xec 8310x11 0x57 0x54 0xfc 832 833 834#------------------------------------------------------------------------------ 835# MRS 836#------------------------------------------------------------------------------ 837# CHECK: mrs r8, apsr 838# CHECK: mrs r8, spsr 8390x00 0x80 0x0f 0xe1 8400x00 0x80 0x4f 0xe1 841 842 843 844#------------------------------------------------------------------------------ 845# MSR 846#------------------------------------------------------------------------------ 847 848# CHECK: msr CPSR_fc, #5 849# CHECK: msr APSR_g, #5 850# CHECK: msr APSR_nzcvq, #5 851# CHECK: msr APSR_nzcvq, #5 852# CHECK: msr APSR_nzcvqg, #5 853# CHECK: msr CPSR_fc, #5 854# CHECK: msr CPSR_c, #5 855# CHECK: msr CPSR_x, #5 856# CHECK: msr CPSR_fc, #5 857# CHECK: msr CPSR_fc, #5 858# CHECK: msr CPSR_fsx, #5 859# CHECK: msr SPSR_fc, #5 860# CHECK: msr SPSR_fsxc, #5 861# CHECK: msr CPSR_fsxc, #5 862# CHECK: msr APSR_nzcvq, #2147483658 863# CHECK: msr SPSR_fsxc, #40, #2 864 8650x05 0xf0 0x29 0xe3 8660x05 0xf0 0x24 0xe3 8670x05 0xf0 0x28 0xe3 8680x05 0xf0 0x28 0xe3 8690x05 0xf0 0x2c 0xe3 8700x05 0xf0 0x29 0xe3 8710x05 0xf0 0x21 0xe3 8720x05 0xf0 0x22 0xe3 8730x05 0xf0 0x29 0xe3 8740x05 0xf0 0x29 0xe3 8750x05 0xf0 0x2e 0xe3 8760x05 0xf0 0x69 0xe3 8770x05 0xf0 0x6f 0xe3 8780x05 0xf0 0x2f 0xe3 8790x2a 0xf1 0x28 0xe3 8800x28 0xf1 0x6f 0xe3 881 882# CHECK: msr CPSR_fc, r0 883# CHECK: msr APSR_g, r0 884# CHECK: msr APSR_nzcvq, r0 885# CHECK: msr APSR_nzcvq, r0 886# CHECK: msr APSR_nzcvqg, r0 887# CHECK: msr CPSR_fc, r0 888# CHECK: msr CPSR_c, r0 889# CHECK: msr CPSR_x, r0 890# CHECK: msr CPSR_fc, r0 891# CHECK: msr CPSR_fc, r0 892# CHECK: msr CPSR_fsx, r0 893# CHECK: msr SPSR_fc, r0 894# CHECK: msr SPSR_fsxc, r0 895# CHECK: msr CPSR_fsxc, r0 896 8970x00 0xf0 0x29 0xe1 8980x00 0xf0 0x24 0xe1 8990x00 0xf0 0x28 0xe1 9000x00 0xf0 0x28 0xe1 9010x00 0xf0 0x2c 0xe1 9020x00 0xf0 0x29 0xe1 9030x00 0xf0 0x21 0xe1 9040x00 0xf0 0x22 0xe1 9050x00 0xf0 0x29 0xe1 9060x00 0xf0 0x29 0xe1 9070x00 0xf0 0x2e 0xe1 9080x00 0xf0 0x69 0xe1 9090x00 0xf0 0x6f 0xe1 9100x00 0xf0 0x2f 0xe1 911 912#------------------------------------------------------------------------------ 913# MUL 914#------------------------------------------------------------------------------ 915 916# CHECK: mul r5, r6, r7 917# CHECK: muls r5, r6, r7 918# CHECK: mulgt r5, r6, r7 919# CHECK: mulsle r5, r6, r7 920 9210x96 0x07 0x05 0xe0 9220x96 0x07 0x15 0xe0 9230x96 0x07 0x05 0xc0 9240x96 0x07 0x15 0xd0 925 926 927#------------------------------------------------------------------------------ 928# MVN (immediate) 929#------------------------------------------------------------------------------ 930# CHECK: mvn r3, #7 931# CHECK: mvn r4, #4080 932# CHECK: mvn r5, #16711680 933# CHECK: mvn r7, #40, #2 934# CHECK: mvn r7, #-2147483638 935# CHECK: mvns r3, #7 936# CHECK: mvns r11, #240, #30 937# CHECK: mvns r11, #-2147483638 938# CHECK: mvneq r4, #4080 939# CHECK: mvnseq r5, #16711680 940 9410x07 0x30 0xe0 0xe3 9420xff 0x4e 0xe0 0xe3 9430xff 0x58 0xe0 0xe3 9440x28 0x71 0xe0 0xe3 9450x2a 0x71 0xe0 0xe3 9460x07 0x30 0xf0 0xe3 9470xf0 0xbf 0xf0 0xe3 9480x2a 0xb1 0xf0 0xe3 9490xff 0x4e 0xe0 0x03 9500xff 0x58 0xf0 0x03 951 952 953#------------------------------------------------------------------------------ 954# MVN (register) 955#------------------------------------------------------------------------------ 956# CHECK: mvn r2, r3 957# CHECK: mvns r2, r3 958# CHECK: mvn r5, r6, lsl #19 959# CHECK: mvn r5, r6, lsr #9 960# CHECK: mvn r5, r6, asr #4 961# CHECK: mvn r5, r6, ror #6 962# CHECK: mvn r5, r6, rrx 963# CHECK: mvneq r2, r3 964# CHECK: mvnseq r2, r3, lsl #10 965 9660x03 0x20 0xe0 0xe1 9670x03 0x20 0xf0 0xe1 9680x86 0x59 0xe0 0xe1 9690xa6 0x54 0xe0 0xe1 9700x46 0x52 0xe0 0xe1 9710x66 0x53 0xe0 0xe1 9720x66 0x50 0xe0 0xe1 9730x03 0x20 0xe0 0x01 9740x03 0x25 0xf0 0x01 975 976 977#------------------------------------------------------------------------------ 978# MVN (shifted register) 979#------------------------------------------------------------------------------ 980# CHECK: mvn r5, r6, lsl r7 981# CHECK: mvns r5, r6, lsr r7 982# CHECK: mvngt r5, r6, asr r7 983# CHECK: mvnslt r5, r6, ror r7 984 9850x16 0x57 0xe0 0xe1 9860x36 0x57 0xf0 0xe1 9870x56 0x57 0xe0 0xc1 9880x76 0x57 0xf0 0xb1 989 990#------------------------------------------------------------------------------ 991# NOP 992#------------------------------------------------------------------------------ 993# CHECK: nop 994# CHECK: nopgt 995 9960x00 0xf0 0x20 0xe3 9970x00 0xf0 0x20 0xc3 998 999 1000#------------------------------------------------------------------------------ 1001# ORR 1002#------------------------------------------------------------------------------ 1003# CHECK: orr r4, r5, #61440 1004# CHECK: orr r7, r8, #-2147483638 1005# CHECK: orr r7, r8, #40, #2 1006# CHECK: orr r4, r5, r6 1007# CHECK: orr r4, r5, r6, lsl #5 1008# CHECK: orr r4, r5, r6, lsr #5 1009# CHECK: orr r4, r5, r6, lsr #5 1010# CHECK: orr r4, r5, r6, asr #5 1011# CHECK: orr r4, r5, r6, ror #5 1012# CHECK: orr r6, r7, r8, lsl r9 1013# CHECK: orr r6, r7, r8, lsr r9 1014# CHECK: orr r6, r7, r8, asr r9 1015# CHECK: orr r6, r7, r8, ror r9 1016# CHECK: orr r4, r5, r6, rrx 1017 1018# CHECK: orr r5, r5, #61440 1019# CHECK: orr r4, r4, r5 1020# CHECK: orr r4, r4, r5, lsl #5 1021# CHECK: orr r4, r4, r5, lsr #5 1022# CHECK: orr r4, r4, r5, lsr #5 1023# CHECK: orr r4, r4, r5, asr #5 1024# CHECK: orr r4, r4, r5, ror #5 1025# CHECK: orr r6, r6, r7, lsl r9 1026# CHECK: orr r6, r6, r7, lsr r9 1027# CHECK: orr r6, r6, r7, asr r9 1028# CHECK: orr r6, r6, r7, ror r9 1029# CHECK: orr r4, r4, r5, rrx 1030 10310x0f 0x4a 0x85 0xe3 10320x2a 0x71 0x88 0xe3 10330x28 0x71 0x88 0xe3 10340x06 0x40 0x85 0xe1 10350x86 0x42 0x85 0xe1 10360xa6 0x42 0x85 0xe1 10370xa6 0x42 0x85 0xe1 10380xc6 0x42 0x85 0xe1 10390xe6 0x42 0x85 0xe1 10400x18 0x69 0x87 0xe1 10410x38 0x69 0x87 0xe1 10420x58 0x69 0x87 0xe1 10430x78 0x69 0x87 0xe1 10440x66 0x40 0x85 0xe1 1045 10460x0f 0x5a 0x85 0xe3 10470x05 0x40 0x84 0xe1 10480x85 0x42 0x84 0xe1 10490xa5 0x42 0x84 0xe1 10500xa5 0x42 0x84 0xe1 10510xc5 0x42 0x84 0xe1 10520xe5 0x42 0x84 0xe1 10530x17 0x69 0x86 0xe1 10540x37 0x69 0x86 0xe1 10550x57 0x69 0x86 0xe1 10560x77 0x69 0x86 0xe1 10570x65 0x40 0x84 0xe1 1058 1059# CHECK: orrseq r4, r5, #61440 1060# CHECK: orrne r4, r5, r6 1061# CHECK: orrseq r4, r5, r6, lsl #5 1062# CHECK: orrlo r6, r7, r8, ror r9 1063# CHECK: orrshi r4, r5, r6, rrx 1064# CHECK: orrhs r5, r5, #61440 1065# CHECK: orrseq r4, r4, r5 1066# CHECK: orrne r6, r6, r7, asr r9 1067# CHECK: orrslt r6, r6, r7, ror r9 1068# CHECK: orrsgt r4, r4, r5, rrx 1069 10700x0f 0x4a 0x95 0x03 10710x06 0x40 0x85 0x11 10720x86 0x42 0x95 0x01 10730x78 0x69 0x87 0x31 10740x66 0x40 0x95 0x81 10750x0f 0x5a 0x85 0x23 10760x05 0x40 0x94 0x01 10770x57 0x69 0x86 0x11 10780x77 0x69 0x96 0xb1 10790x65 0x40 0x94 0xc1 1080 1081#------------------------------------------------------------------------------ 1082# PKH 1083#------------------------------------------------------------------------------ 1084# CHECK: pkhbt r2, r2, r3 1085# CHECK: pkhbt r2, r2, r3, lsl #31 1086# CHECK: pkhbt r2, r2, r3 1087# CHECK: pkhbt r2, r2, r3, lsl #15 1088 1089# CHECK: pkhbt r2, r2, r3 1090# CHECK: pkhtb r2, r2, r3, asr #31 1091# CHECK: pkhtb r2, r2, r3, asr #15 1092 10930x13 0x20 0x82 0xe6 10940x93 0x2f 0x82 0xe6 10950x13 0x20 0x82 0xe6 10960x93 0x27 0x82 0xe6 1097 10980x13 0x20 0x82 0xe6 10990xd3 0x2f 0x82 0xe6 11000xd3 0x27 0x82 0xe6 1101 1102#------------------------------------------------------------------------------ 1103# FIXME: PLD 1104#------------------------------------------------------------------------------ 1105#------------------------------------------------------------------------------ 1106# FIXME: PLI 1107#------------------------------------------------------------------------------ 1108 1109 1110#------------------------------------------------------------------------------ 1111# POP 1112#------------------------------------------------------------------------------ 1113# CHECK: ldr r7, [sp], #4 1114# CHECK: pop {r7, r8, r9, r10} 1115 11160x04 0x70 0x9d 0xe4 11170x80 0x07 0xbd 0xe8 1118 1119 1120#------------------------------------------------------------------------------ 1121# PUSH 1122#------------------------------------------------------------------------------ 1123# CHECK: str r7, [sp, #-4]! 1124# CHECK: push {r7, r8, r9, r10} 1125 11260x04 0x70 0x2d 0xe5 11270x80 0x07 0x2d 0xe9 1128 1129 1130#------------------------------------------------------------------------------ 1131# QADD/QADD16/QADD8 1132#------------------------------------------------------------------------------ 1133# CHECK: qadd r1, r2, r3 1134# CHECK: qaddne r1, r2, r3 1135# CHECK: qadd16 r1, r2, r3 1136# CHECK: qadd16gt r1, r2, r3 1137# CHECK: qadd8 r1, r2, r3 1138# CHECK: qadd8le r1, r2, r3 1139 11400x52 0x10 0x03 0xe1 11410x52 0x10 0x03 0x11 11420x13 0x1f 0x22 0xe6 11430x13 0x1f 0x22 0xc6 11440x93 0x1f 0x22 0xe6 11450x93 0x1f 0x22 0xd6 1146 1147 1148#------------------------------------------------------------------------------ 1149# QDADD/QDSUB 1150#------------------------------------------------------------------------------ 1151# CHECK: qdadd r6, r7, r8 1152# CHECK: qdaddhi r6, r7, r8 1153# CHECK: qdsub r6, r7, r8 1154# CHECK: qdsubhi r6, r7, r8 1155 11560x57 0x60 0x48 0xe1 11570x57 0x60 0x48 0x81 11580x57 0x60 0x68 0xe1 11590x57 0x60 0x68 0x81 1160 1161 1162#------------------------------------------------------------------------------ 1163# QSAX 1164#------------------------------------------------------------------------------ 1165# CHECK: qsax r9, r12, r0 1166# CHECK: qsaxeq r9, r12, r0 1167 11680x50 0x9f 0x2c 0xe6 11690x50 0x9f 0x2c 0x06 1170 1171 1172#------------------------------------------------------------------------------ 1173# QSUB/QSUB16/QSUB8 1174#------------------------------------------------------------------------------ 1175# CHECK: qsub r1, r2, r3 1176# CHECK: qsubne r1, r2, r3 1177# CHECK: qsub16 r1, r2, r3 1178# CHECK: qsub16gt r1, r2, r3 1179# CHECK: qsub8 r1, r2, r3 1180# CHECK: qsub8le r1, r2, r3 1181 11820x52 0x10 0x23 0xe1 11830x52 0x10 0x23 0x11 11840x73 0x1f 0x22 0xe6 11850x73 0x1f 0x22 0xc6 11860xf3 0x1f 0x22 0xe6 11870xf3 0x1f 0x22 0xd6 1188 1189 1190#------------------------------------------------------------------------------ 1191# RBIT 1192#------------------------------------------------------------------------------ 1193# CHECK: rbit r1, r2 1194# CHECK: rbitne r1, r2 1195 11960x32 0x1f 0xff 0xe6 11970x32 0x1f 0xff 0x16 1198 1199 1200#------------------------------------------------------------------------------ 1201# REV/REV16/REVSH 1202#------------------------------------------------------------------------------ 1203# CHECK: rev r1, r9 1204# CHECK: revne r1, r5 1205# CHECK: rev16 r8, r3 1206# CHECK: rev16ne r12, r4 1207# CHECK: revsh r4, r9 1208# CHECK: revshne r9, r1 1209 12100x39 0x1f 0xbf 0xe6 12110x35 0x1f 0xbf 0x16 12120xb3 0x8f 0xbf 0xe6 12130xb4 0xcf 0xbf 0x16 12140xb9 0x4f 0xff 0xe6 12150xb1 0x9f 0xff 0x16 1216 1217 1218#------------------------------------------------------------------------------ 1219# RFE 1220#------------------------------------------------------------------------------ 1221# CHECK: rfeda r2 1222# CHECK: rfedb r3 1223# CHECK: rfeia r5 1224# CHECK: rfeib r6 1225 1226# CHECK: rfeda r4! 1227# CHECK: rfedb r7! 1228# CHECK: rfeia r9! 1229# CHECK: rfeib r8! 1230 1231# CHECK: rfeda r2 1232# CHECK: rfedb r3 1233# CHECK: rfeia r5 1234# CHECK: rfeib r6 1235 1236# CHECK: rfeda r4! 1237# CHECK: rfedb r7! 1238# CHECK: rfeia r9! 1239# CHECK: rfeib r8! 1240 1241# CHECK: rfeia r1 1242# CHECK: rfeia r1! 1243 12440x00 0x0a 0x12 0xf8 12450x00 0x0a 0x13 0xf9 12460x00 0x0a 0x95 0xf8 12470x00 0x0a 0x96 0xf9 1248 12490x00 0x0a 0x34 0xf8 12500x00 0x0a 0x37 0xf9 12510x00 0x0a 0xb9 0xf8 12520x00 0x0a 0xb8 0xf9 1253 12540x00 0x0a 0x12 0xf8 12550x00 0x0a 0x13 0xf9 12560x00 0x0a 0x95 0xf8 12570x00 0x0a 0x96 0xf9 1258 12590x00 0x0a 0x34 0xf8 12600x00 0x0a 0x37 0xf9 12610x00 0x0a 0xb9 0xf8 12620x00 0x0a 0xb8 0xf9 1263 12640x00 0x0a 0x91 0xf8 12650x00 0x0a 0xb1 0xf8 1266 1267 1268#------------------------------------------------------------------------------ 1269# RSB 1270#------------------------------------------------------------------------------ 1271# CHECK: rsb r4, r5, #61440 1272# CHECK: rsb r7, r8, #-2147483638 1273# CHECK: rsb r7, r8, #40, #2 1274# CHECK: rsb r4, r5, r6 1275# CHECK: rsb r4, r5, r6, lsl #5 1276# CHECK: rsblo r4, r5, r6, lsr #5 1277# CHECK: rsb r4, r5, r6, lsr #5 1278# CHECK: rsb r4, r5, r6, asr #5 1279# CHECK: rsb r4, r5, r6, ror #5 1280# CHECK: rsb r6, r7, r8, lsl r9 1281# CHECK: rsb r6, r7, r8, lsr r9 1282# CHECK: rsb r6, r7, r8, asr r9 1283# CHECK: rsble r6, r7, r8, ror r9 1284# CHECK: rsb r4, r5, r6, rrx 1285 1286# CHECK: rsb r5, r5, #61440 1287# CHECK: rsb r4, r4, r5 1288# CHECK: rsb r4, r4, r5, lsl #5 1289# CHECK: rsb r4, r4, r5, lsr #5 1290# CHECK: rsbne r4, r4, r5, lsr #5 1291# CHECK: rsb r4, r4, r5, asr #5 1292# CHECK: rsb r4, r4, r5, ror #5 1293# CHECK: rsbgt r6, r6, r7, lsl r9 1294# CHECK: rsb r6, r6, r7, lsr r9 1295# CHECK: rsb r6, r6, r7, asr r9 1296# CHECK: rsb r6, r6, r7, ror r9 1297# CHECK: rsb r4, r4, r5, rrx 1298 12990x0f 0x4a 0x65 0xe2 13000x2a 0x71 0x68 0xe2 13010x28 0x71 0x68 0xe2 13020x06 0x40 0x65 0xe0 13030x86 0x42 0x65 0xe0 13040xa6 0x42 0x65 0x30 13050xa6 0x42 0x65 0xe0 13060xc6 0x42 0x65 0xe0 13070xe6 0x42 0x65 0xe0 13080x18 0x69 0x67 0xe0 13090x38 0x69 0x67 0xe0 13100x58 0x69 0x67 0xe0 13110x78 0x69 0x67 0xd0 13120x66 0x40 0x65 0xe0 1313 13140x0f 0x5a 0x65 0xe2 13150x05 0x40 0x64 0xe0 13160x85 0x42 0x64 0xe0 13170xa5 0x42 0x64 0xe0 13180xa5 0x42 0x64 0x10 13190xc5 0x42 0x64 0xe0 13200xe5 0x42 0x64 0xe0 13210x17 0x69 0x66 0xc0 13220x37 0x69 0x66 0xe0 13230x57 0x69 0x66 0xe0 13240x77 0x69 0x66 0xe0 13250x65 0x40 0x64 0xe0 1326 1327#------------------------------------------------------------------------------ 1328# RSBS 1329#------------------------------------------------------------------------------ 1330# CHECK: rsbs r7, r8, #-2147483638 1331# CHECK: rsbs r7, r8, #40, #2 1332 13330x2a 0x71 0x78 0xe2 13340x28 0x71 0x78 0xe2 1335 1336#------------------------------------------------------------------------------ 1337# RSC 1338#------------------------------------------------------------------------------ 1339# CHECK: rsc r4, r5, #61440 1340# CHECK: rsc r7, r8, #-2147483638 1341# CHECK: rsc r7, r8, #40, #2 1342# CHECK: rsc r4, r5, r6 1343# CHECK: rsc r4, r5, r6, lsl #5 1344# CHECK: rsclo r4, r5, r6, lsr #5 1345# CHECK: rsc r4, r5, r6, lsr #5 1346# CHECK: rsc r4, r5, r6, asr #5 1347# CHECK: rsc r4, r5, r6, ror #5 1348# CHECK: rsc r6, r7, r8, lsl r9 1349# CHECK: rsc r6, r7, r8, lsr r9 1350# CHECK: rsc r6, r7, r8, asr r9 1351# CHECK: rscle r6, r7, r8, ror r9 1352 1353# CHECK: rsc r5, r5, #61440 1354# CHECK: rsc r4, r4, r5 1355# CHECK: rsc r4, r4, r5, lsl #5 1356# CHECK: rsc r4, r4, r5, lsr #5 1357# CHECK: rscne r4, r4, r5, lsr #5 1358# CHECK: rsc r4, r4, r5, asr #5 1359# CHECK: rsc r4, r4, r5, ror #5 1360# CHECK: rscgt r6, r6, r7, lsl r9 1361# CHECK: rsc r6, r6, r7, lsr r9 1362# CHECK: rsc r6, r6, r7, asr r9 1363# CHECK: rsc r6, r6, r7, ror r9 1364 13650x0f 0x4a 0xe5 0xe2 13660x2a 0x71 0xe8 0xe2 13670x28 0x71 0xe8 0xe2 13680x06 0x40 0xe5 0xe0 13690x86 0x42 0xe5 0xe0 13700xa6 0x42 0xe5 0x30 13710xa6 0x42 0xe5 0xe0 13720xc6 0x42 0xe5 0xe0 13730xe6 0x42 0xe5 0xe0 13740x18 0x69 0xe7 0xe0 13750x38 0x69 0xe7 0xe0 13760x58 0x69 0xe7 0xe0 13770x78 0x69 0xe7 0xd0 1378 13790x0f 0x5a 0xe5 0xe2 13800x05 0x40 0xe4 0xe0 13810x85 0x42 0xe4 0xe0 13820xa5 0x42 0xe4 0xe0 13830xa5 0x42 0xe4 0x10 13840xc5 0x42 0xe4 0xe0 13850xe5 0x42 0xe4 0xe0 13860x17 0x69 0xe6 0xc0 13870x37 0x69 0xe6 0xe0 13880x57 0x69 0xe6 0xe0 13890x77 0x69 0xe6 0xe0 1390 1391#------------------------------------------------------------------------------ 1392# RRX/RRXS 1393#------------------------------------------------------------------------------ 1394# CHECK: rrx r0, r1 1395# CHECK: rrx sp, pc 1396# CHECK: rrx pc, lr 1397# CHECK: rrx lr, sp 1398 13990x61 0x00 0xa0 0xe1 14000x6f 0xd0 0xa0 0xe1 14010x6e 0xf0 0xa0 0xe1 14020x6d 0xe0 0xa0 0xe1 1403 1404# CHECK: rrxs r0, r1 1405# CHECK: rrxs sp, pc 1406# CHECK: rrxs pc, lr 1407# CHECK: rrxs lr, sp 1408 14090x61 0x00 0xb0 0xe1 14100x6f 0xd0 0xb0 0xe1 14110x6e 0xf0 0xb0 0xe1 14120x6d 0xe0 0xb0 0xe1 1413 1414#------------------------------------------------------------------------------ 1415# SADD16/SADD8 1416#------------------------------------------------------------------------------ 1417# CHECK: sadd16 r1, r2, r3 1418# CHECK: sadd16gt r1, r2, r3 1419# CHECK: sadd8 r1, r2, r3 1420# CHECK: sadd8le r1, r2, r3 1421 14220x13 0x1f 0x12 0xe6 14230x13 0x1f 0x12 0xc6 14240x93 0x1f 0x12 0xe6 14250x93 0x1f 0x12 0xd6 1426 1427 1428#------------------------------------------------------------------------------ 1429# SASX 1430#------------------------------------------------------------------------------ 1431# CHECK: sasx r9, r12, r0 1432# CHECK: sasxeq r9, r12, r0 1433 14340x30 0x9f 0x1c 0xe6 14350x30 0x9f 0x1c 0x06 1436 1437 1438#------------------------------------------------------------------------------ 1439# SBC 1440#------------------------------------------------------------------------------ 1441# CHECK: sbc r4, r5, #61440 1442# CHECK: sbc r7, r8, #-2147483638 1443# CHECK: sbc r7, r8, #40, #2 1444# CHECK: sbc r4, r5, r6 1445# CHECK: sbc r4, r5, r6, lsl #5 1446# CHECK: sbc r4, r5, r6, lsr #5 1447# CHECK: sbc r4, r5, r6, lsr #5 1448# CHECK: sbc r4, r5, r6, asr #5 1449# CHECK: sbc r4, r5, r6, ror #5 1450# CHECK: sbc r6, r7, r8, lsl r9 1451# CHECK: sbc r6, r7, r8, lsr r9 1452# CHECK: sbc r6, r7, r8, asr r9 1453# CHECK: sbc r6, r7, r8, ror r9 1454 1455# CHECK: sbc r5, r5, #61440 1456# CHECK: sbc r4, r4, r5 1457# CHECK: sbc r4, r4, r5, lsl #5 1458# CHECK: sbc r4, r4, r5, lsr #5 1459# CHECK: sbc r4, r4, r5, lsr #5 1460# CHECK: sbc r4, r4, r5, asr #5 1461# CHECK: sbc r4, r4, r5, ror #5 1462# CHECK: sbc r6, r6, r7, lsl r9 1463# CHECK: sbc r6, r6, r7, lsr r9 1464# CHECK: sbc r6, r6, r7, asr r9 1465# CHECK: sbc r6, r6, r7, ror r9 1466 14670x0f 0x4a 0xc5 0xe2 14680x2a 0x71 0xc8 0xe2 14690x28 0x71 0xc8 0xe2 14700x06 0x40 0xc5 0xe0 14710x86 0x42 0xc5 0xe0 14720xa6 0x42 0xc5 0xe0 14730xa6 0x42 0xc5 0xe0 14740xc6 0x42 0xc5 0xe0 14750xe6 0x42 0xc5 0xe0 14760x18 0x69 0xc7 0xe0 14770x38 0x69 0xc7 0xe0 14780x58 0x69 0xc7 0xe0 14790x78 0x69 0xc7 0xe0 1480 14810x0f 0x5a 0xc5 0xe2 14820x05 0x40 0xc4 0xe0 14830x85 0x42 0xc4 0xe0 14840xa5 0x42 0xc4 0xe0 14850xa5 0x42 0xc4 0xe0 14860xc5 0x42 0xc4 0xe0 14870xe5 0x42 0xc4 0xe0 14880x17 0x69 0xc6 0xe0 14890x37 0x69 0xc6 0xe0 14900x57 0x69 0xc6 0xe0 14910x77 0x69 0xc6 0xe0 1492 1493 1494#------------------------------------------------------------------------------ 1495# SBFX 1496#------------------------------------------------------------------------------ 1497# CHECK: sbfx r4, r5, #16, #1 1498# CHECK: sbfxgt r4, r5, #16, #16 1499 15000x55 0x48 0xa0 0xe7 15010x55 0x48 0xaf 0xc7 1502 1503 1504#------------------------------------------------------------------------------ 1505# SEL 1506#------------------------------------------------------------------------------ 1507# CHECK: sel r9, r2, r1 1508# CHECK: selne r9, r2, r1 1509 15100xb1 0x9f 0x82 0xe6 15110xb1 0x9f 0x82 0x16 1512 1513 1514#------------------------------------------------------------------------------ 1515# SETEND 1516#------------------------------------------------------------------------------ 1517# CHECK: setend be 1518# CHECK: setend le 1519 15200x00 0x02 0x01 0xf1 15210x00 0x00 0x01 0xf1 1522 1523#------------------------------------------------------------------------------ 1524# SEV 1525#------------------------------------------------------------------------------ 1526# CHECK: sev 1527# CHECK: seveq 1528 15290x04 0xf0 0x20 0xe3 15300x04 0xf0 0x20 0x03 1531 1532#------------------------------------------------------------------------------ 1533# SHADD16/SHADD8 1534#------------------------------------------------------------------------------ 1535# CHECK: shadd16 r4, r8, r2 1536# CHECK: shadd16gt r4, r8, r2 1537# CHECK: shadd8 r4, r8, r2 1538# CHECK: shadd8gt r4, r8, r2 1539 15400x12 0x4f 0x38 0xe6 15410x12 0x4f 0x38 0xc6 15420x92 0x4f 0x38 0xe6 15430x92 0x4f 0x38 0xc6 1544 1545 1546#------------------------------------------------------------------------------ 1547# SHASX 1548#------------------------------------------------------------------------------ 1549# CHECK: shasx r4, r8, r2 1550# CHECK: shasxgt r4, r8, r2 1551 15520x32 0x4f 0x38 0xe6 15530x32 0x4f 0x38 0xc6 1554 1555 1556#------------------------------------------------------------------------------ 1557# SHSUB16/SHSUB8 1558#------------------------------------------------------------------------------ 1559# CHECK: shsub16 r4, r8, r2 1560# CHECK: shsub16gt r4, r8, r2 1561# CHECK: shsub8 r4, r8, r2 1562# CHECK: shsub8gt r4, r8, r2 1563 15640x72 0x4f 0x38 0xe6 15650x72 0x4f 0x38 0xc6 15660xf2 0x4f 0x38 0xe6 15670xf2 0x4f 0x38 0xc6 1568 1569#------------------------------------------------------------------------------ 1570# SMLABB/SMLABT/SMLATB/SMLATT 1571#------------------------------------------------------------------------------ 1572# CHECK: smlabb r3, r1, r9, r0 1573# CHECK: smlabt r5, r6, r4, r1 1574# CHECK: smlatb r4, r2, r3, r2 1575# CHECK: smlatt r8, r3, r8, r4 1576# CHECK: smlabbge r3, r1, r9, r0 1577# CHECK: smlabtle r5, r6, r4, r1 1578# CHECK: smlatbne r4, r2, r3, r2 1579# CHECK: smlatteq r8, r3, r8, r4 1580 15810x81 0x09 0x03 0xe1 15820xc6 0x14 0x05 0xe1 15830xa2 0x23 0x04 0xe1 15840xe3 0x48 0x08 0xe1 15850x81 0x09 0x03 0xa1 15860xc6 0x14 0x05 0xd1 15870xa2 0x23 0x04 0x11 15880xe3 0x48 0x08 0x01 1589 1590#------------------------------------------------------------------------------ 1591# SMLAD/SMLADX 1592#------------------------------------------------------------------------------ 1593# CHECK: smlad r2, r3, r5, r8 1594# CHECK: smladx r2, r3, r5, r8 1595# CHECK: smladeq r2, r3, r5, r8 1596# CHECK: smladxhi r2, r3, r5, r8 1597 15980x13 0x85 0x02 0xe7 15990x33 0x85 0x02 0xe7 16000x13 0x85 0x02 0x07 16010x33 0x85 0x02 0x87 1602 1603 1604#------------------------------------------------------------------------------ 1605# SMLAL 1606#------------------------------------------------------------------------------ 1607# CHECK: smlal r2, r3, r5, r8 1608# CHECK: smlals r2, r3, r5, r8 1609# CHECK: smlaleq r2, r3, r5, r8 1610# CHECK: smlalshi r2, r3, r5, r8 1611 16120x95 0x28 0xe3 0xe0 16130x95 0x28 0xf3 0xe0 16140x95 0x28 0xe3 0x00 16150x95 0x28 0xf3 0x80 1616 1617 1618#------------------------------------------------------------------------------ 1619# SMLALBB/SMLALBT/SMLALTB/SMLALTT 1620#------------------------------------------------------------------------------ 1621# CHECK: smlalbb r3, r1, r9, r0 1622# CHECK: smlalbt r5, r6, r4, r1 1623# CHECK: smlaltb r4, r2, r3, r2 1624# CHECK: smlaltt r8, r3, r8, r4 1625# CHECK: smlalbbge r3, r1, r9, r0 1626# CHECK: smlalbtle r5, r6, r4, r1 1627# CHECK: smlaltbne r4, r2, r3, r2 1628# CHECK: smlaltteq r8, r3, r8, r4 1629 16300x89 0x30 0x41 0xe1 16310xc4 0x51 0x46 0xe1 16320xa3 0x42 0x42 0xe1 16330xe8 0x84 0x43 0xe1 16340x89 0x30 0x41 0xa1 16350xc4 0x51 0x46 0xd1 16360xa3 0x42 0x42 0x11 16370xe8 0x84 0x43 0x01 1638 1639 1640#------------------------------------------------------------------------------ 1641# SMLALD/SMLALDX 1642#------------------------------------------------------------------------------ 1643# CHECK: smlald r2, r3, r5, r8 1644# CHECK: smlaldx r2, r3, r5, r8 1645# CHECK: smlaldeq r2, r3, r5, r8 1646# CHECK: smlaldxhi r2, r3, r5, r8 1647 16480x15 0x28 0x43 0xe7 16490x35 0x28 0x43 0xe7 16500x15 0x28 0x43 0x07 16510x35 0x28 0x43 0x87 1652 1653 1654#------------------------------------------------------------------------------ 1655# SMLAWB/SMLAWT 1656#------------------------------------------------------------------------------ 1657# CHECK: smlawb r2, r3, r10, r8 1658# CHECK: smlawt r8, r3, r5, r9 1659# CHECK: smlawbeq r2, r7, r5, r8 1660# CHECK: smlawthi r1, r3, r0, r8 1661 16620x83 0x8a 0x22 0xe1 16630xc3 0x95 0x28 0xe1 16640x87 0x85 0x22 0x01 16650xc3 0x80 0x21 0x81 1666 1667 1668#------------------------------------------------------------------------------ 1669# SMLSD/SMLSDX 1670#------------------------------------------------------------------------------ 1671# CHECK: smlsd r2, r3, r5, r8 1672# CHECK: smlsdx r2, r3, r5, r8 1673# CHECK: smlsdeq r2, r3, r5, r8 1674# CHECK: smlsdxhi r2, r3, r5, r8 1675 16760x53 0x85 0x02 0xe7 16770x73 0x85 0x02 0xe7 16780x53 0x85 0x02 0x07 16790x73 0x85 0x02 0x87 1680 1681 1682#------------------------------------------------------------------------------ 1683# SMLSLD/SMLSLDX 1684#------------------------------------------------------------------------------ 1685# CHECK: smlsld r2, r9, r5, r1 1686# CHECK: smlsldx r4, r11, r2, r8 1687# CHECK: smlsldeq r8, r2, r5, r6 1688# CHECK: smlsldxhi r1, r0, r3, r8 1689 16900x55 0x21 0x49 0xe7 16910x72 0x48 0x4b 0xe7 16920x55 0x86 0x42 0x07 16930x73 0x18 0x40 0x87 1694 1695 1696#------------------------------------------------------------------------------ 1697# SMMLA/SMMLAR 1698#------------------------------------------------------------------------------ 1699# CHECK: smmla r1, r2, r3, r4 1700# CHECK: smmlar r4, r3, r2, r1 1701# CHECK: smmlalo r1, r2, r3, r4 1702# CHECK: smmlarhs r4, r3, r2, r1 1703 17040x12 0x43 0x51 0xe7 17050x33 0x12 0x54 0xe7 17060x12 0x43 0x51 0x37 17070x33 0x12 0x54 0x27 1708 1709 1710#------------------------------------------------------------------------------ 1711# SMMLS/SMMLSR 1712#------------------------------------------------------------------------------ 1713# CHECK: smmls r1, r2, r3, r4 1714# CHECK: smmlsr r4, r3, r2, r1 1715# CHECK: smmlslo r1, r2, r3, r4 1716# CHECK: smmlsrhs r4, r3, r2, r1 1717 17180xd2 0x43 0x51 0xe7 17190xf3 0x12 0x54 0xe7 17200xd2 0x43 0x51 0x37 17210xf3 0x12 0x54 0x27 1722 1723 1724#------------------------------------------------------------------------------ 1725# SMMUL/SMMULR 1726#------------------------------------------------------------------------------ 1727# CHECK: smmul r2, r3, r4 1728# CHECK: smmulr r3, r2, r1 1729# CHECK: smmullo r2, r3, r4 1730# CHECK: smmulrhs r3, r2, r1 1731 17320x13 0xf4 0x52 0xe7 17330x32 0xf1 0x53 0xe7 17340x13 0xf4 0x52 0x37 17350x32 0xf1 0x53 0x27 1736 1737 1738#------------------------------------------------------------------------------ 1739# SMUAD/SMUADX 1740#------------------------------------------------------------------------------ 1741# CHECK: smuad r2, r3, r4 1742# CHECK: smuadx r3, r2, r1 1743# CHECK: smuadlt r2, r3, r4 1744# CHECK: smuadxge r3, r2, r1 1745 17460x13 0xf4 0x02 0xe7 17470x32 0xf1 0x03 0xe7 17480x13 0xf4 0x02 0xb7 17490x32 0xf1 0x03 0xa7 1750 1751 1752#------------------------------------------------------------------------------ 1753# SMULBB/SMLALBT/SMLALTB/SMLALTT 1754#------------------------------------------------------------------------------ 1755# CHECK: smulbb r3, r9, r0 1756# CHECK: smulbt r5, r4, r1 1757# CHECK: smultb r4, r2, r2 1758# CHECK: smultt r8, r3, r4 1759# CHECK: smulbbge r1, r9, r0 1760# CHECK: smulbtle r5, r6, r4 1761# CHECK: smultbne r2, r3, r2 1762# CHECK: smultteq r8, r3, r4 1763 17640x89 0x00 0x63 0xe1 17650xc4 0x01 0x65 0xe1 17660xa2 0x02 0x64 0xe1 17670xe3 0x04 0x68 0xe1 17680x89 0x00 0x61 0xa1 17690xc6 0x04 0x65 0xd1 17700xa3 0x02 0x62 0x11 17710xe3 0x04 0x68 0x01 1772 1773 1774#------------------------------------------------------------------------------ 1775# SMULL 1776#------------------------------------------------------------------------------ 1777# CHECK: smull r3, r9, r0, r1 1778# CHECK: smulls r3, r9, r0, r2 1779# CHECK: smulleq r8, r3, r4, r5 1780# CHECK: smullseq r8, r3, r4, r3 1781 17820x90 0x31 0xc9 0xe0 17830x90 0x32 0xd9 0xe0 17840x94 0x85 0xc3 0x00 17850x94 0x83 0xd3 0x00 1786 1787 1788#------------------------------------------------------------------------------ 1789# SMULWB/SMULWT 1790#------------------------------------------------------------------------------ 1791# CHECK: smulwb r3, r9, r0 1792# CHECK: smulwt r3, r9, r2 1793 17940xa9 0x00 0x23 0xe1 17950xe9 0x02 0x23 0xe1 1796 1797 1798#------------------------------------------------------------------------------ 1799# SMUSD/SMUSDX 1800#------------------------------------------------------------------------------ 1801# CHECK: smusd r3, r0, r1 1802# CHECK: smusdx r3, r9, r2 1803# CHECK: smusdeq r8, r3, r2 1804# CHECK: smusdxne r7, r4, r3 1805 18060x50 0xf1 0x03 0xe7 18070x79 0xf2 0x03 0xe7 18080x53 0xf2 0x08 0x07 18090x74 0xf3 0x07 0x17 1810 1811 1812#------------------------------------------------------------------------------ 1813# SRS 1814#------------------------------------------------------------------------------ 1815# CHECK: srsda sp, #5 1816# CHECK: srsdb sp, #1 1817# CHECK: srsia sp, #0 1818# CHECK: srsib sp, #15 1819 1820# CHECK: srsda sp!, #31 1821# CHECK: srsdb sp!, #19 1822# CHECK: srsia sp!, #2 1823# CHECK: srsib sp!, #14 1824 1825# CHECK: srsda sp, #11 1826# CHECK: srsdb sp, #10 1827# CHECK: srsia sp, #9 1828# CHECK: srsib sp, #5 1829 1830# CHECK: srsda sp!, #5 1831# CHECK: srsdb sp!, #5 1832# CHECK: srsia sp!, #5 1833# CHECK: srsib sp!, #5 1834 1835# CHECK: srsia sp, #5 1836# CHECK: srsia sp!, #5 1837 18380x05 0x05 0x4d 0xf8 18390x01 0x05 0x4d 0xf9 18400x00 0x05 0xcd 0xf8 18410x0f 0x05 0xcd 0xf9 1842 18430x1f 0x05 0x6d 0xf8 18440x13 0x05 0x6d 0xf9 18450x02 0x05 0xed 0xf8 18460x0e 0x05 0xed 0xf9 1847 18480x0b 0x05 0x4d 0xf8 18490x0a 0x05 0x4d 0xf9 18500x09 0x05 0xcd 0xf8 18510x05 0x05 0xcd 0xf9 1852 18530x05 0x05 0x6d 0xf8 18540x05 0x05 0x6d 0xf9 18550x05 0x05 0xed 0xf8 18560x05 0x05 0xed 0xf9 1857 18580x05 0x05 0xcd 0xf8 18590x05 0x05 0xed 0xf8 1860 1861 1862#------------------------------------------------------------------------------ 1863# SSAT 1864#------------------------------------------------------------------------------ 1865# CHECK: ssat r8, #1, r10 1866# CHECK: ssat r8, #1, r10, lsl #31 1867# CHECK: ssat r8, #1, r10, asr #32 1868# CHECK: ssat r8, #1, r10, asr #1 1869 18700x1a 0x80 0xa0 0xe6 18710x9a 0x8f 0xa0 0xe6 18720x5a 0x80 0xa0 0xe6 18730xda 0x80 0xa0 0xe6 1874 1875 1876#------------------------------------------------------------------------------ 1877# SSAT16 1878#------------------------------------------------------------------------------ 1879# CHECK: ssat16 r2, #1, r7 1880# CHECK: ssat16 r3, #16, r5 1881 18820x37 0x2f 0xa0 0xe6 18830x35 0x3f 0xaf 0xe6 1884 1885 1886#------------------------------------------------------------------------------ 1887# SSAX 1888#------------------------------------------------------------------------------ 1889# CHECK: ssax r2, r3, r4 1890# CHECK: ssaxlt r2, r3, r4 1891 18920x54 0x2f 0x13 0xe6 18930x54 0x2f 0x13 0xb6 1894 1895#------------------------------------------------------------------------------ 1896# SSUB16/SSUB8 1897#------------------------------------------------------------------------------ 1898# CHECK: ssub16 r1, r0, r6 1899# CHECK: ssub16ne r5, r3, r2 1900# CHECK: ssub8 r9, r2, r4 1901# CHECK: ssub8eq r5, r1, r2 1902 19030x76 0x1f 0x10 0xe6 19040x72 0x5f 0x13 0x16 19050xf4 0x9f 0x12 0xe6 19060xf2 0x5f 0x11 0x06 1907 1908 1909#------------------------------------------------------------------------------ 1910# STM* 1911#------------------------------------------------------------------------------ 1912# CHECK: stm r2, {r1, r3, r4, r5, r6, sp} 1913# CHECK: stm r3, {r1, r3, r4, r5, r6, lr} 1914# CHECK: stmib r4, {r1, r3, r4, r5, r6, sp} 1915# CHECK: stmda r5, {r1, r3, r4, r5, r6, sp} 1916# CHECK: stmdb r6, {r1, r3, r4, r5, r6, r8} 1917# CHECK: stmdb sp, {r1, r3, r4, r5, r6, sp} 1918 1919 1920# CHECK: stm r8!, {r1, r3, r4, r5, r6, sp} 1921# CHECK: stmib r9!, {r1, r3, r4, r5, r6, sp} 1922# CHECK: stmda sp!, {r1, r3, r4, r5, r6} 1923# CHECK: stmdb r0!, {r1, r5, r7, sp} 1924 19250x7a 0x20 0x82 0xe8 19260x7a 0x40 0x83 0xe8 19270x7a 0x20 0x84 0xe9 19280x7a 0x20 0x05 0xe8 19290x7a 0x01 0x06 0xe9 19300x7a 0x20 0x0d 0xe9 1931 19320x7a 0x20 0xa8 0xe8 19330x7a 0x20 0xa9 0xe9 19340x7a 0x00 0x2d 0xe8 19350xa2 0x20 0x20 0xe9 1936 1937 1938#------------------------------------------------------------------------------ 1939# STREX/STREXB/STREXH/STREXD 1940#------------------------------------------------------------------------------ 1941# CHECK: strexb r1, r3, [r4 1942# CHECK: strexh r4, r2, [r5 1943# CHECK: strex r2, r1, [r7 1944# CHECK: strexd r6, r2, r3, [r8 1945# CHECK: strexd sp, r0, r1, [r0] 1946 19470x93 0x1f 0xc4 0xe1 19480x92 0x4f 0xe5 0xe1 19490x91 0x2f 0x87 0xe1 19500x92 0x6f 0xa8 0xe1 19510x90 0xdf 0xa0 0xe1 1952 1953#------------------------------------------------------------------------------ 1954# SUB 1955#------------------------------------------------------------------------------ 1956# CHECK: sub r4, r5, #61440 1957# CHECK: sub r7, r8, #-2147483638 1958# CHECK: sub r7, r8, #40, #2 1959# CHECK: sub r4, r5, r6 1960# CHECK: sub r4, r5, r6, lsl #5 1961# CHECK: sub r4, r5, r6, lsr #5 1962# CHECK: sub r4, r5, r6, lsr #5 1963# CHECK: sub r4, r5, r6, asr #5 1964# CHECK: sub r4, r5, r6, ror #5 1965# CHECK: sub r6, r7, r8, lsl r9 1966# CHECK: sub r6, r7, r8, lsr r9 1967# CHECK: sub r6, r7, r8, asr r9 1968# CHECK: sub r6, r7, r8, ror r9 1969 1970# CHECK: sub r5, r5, #61440 1971# CHECK: sub r4, r4, r5 1972# CHECK: sub r4, r4, r5, lsl #5 1973# CHECK: sub r4, r4, r5, lsr #5 1974# CHECK: sub r4, r4, r5, lsr #5 1975# CHECK: sub r4, r4, r5, asr #5 1976# CHECK: sub r4, r4, r5, ror #5 1977# CHECK: sub r6, r6, r7, lsl r9 1978# CHECK: sub r6, r6, r7, lsr r9 1979# CHECK: sub r6, r6, r7, asr r9 1980# CHECK: sub r6, r6, r7, ror r9 1981 19820x0f 0x4a 0x45 0xe2 19830x2a 0x71 0x48 0xe2 19840x28 0x71 0x48 0xe2 19850x06 0x40 0x45 0xe0 19860x86 0x42 0x45 0xe0 19870xa6 0x42 0x45 0xe0 19880xa6 0x42 0x45 0xe0 19890xc6 0x42 0x45 0xe0 19900xe6 0x42 0x45 0xe0 19910x18 0x69 0x47 0xe0 19920x38 0x69 0x47 0xe0 19930x58 0x69 0x47 0xe0 19940x78 0x69 0x47 0xe0 1995 1996 19970x0f 0x5a 0x45 0xe2 19980x05 0x40 0x44 0xe0 19990x85 0x42 0x44 0xe0 20000xa5 0x42 0x44 0xe0 20010xa5 0x42 0x44 0xe0 20020xc5 0x42 0x44 0xe0 20030xe5 0x42 0x44 0xe0 20040x17 0x69 0x46 0xe0 20050x37 0x69 0x46 0xe0 20060x57 0x69 0x46 0xe0 20070x77 0x69 0x46 0xe0 2008 2009#------------------------------------------------------------------------------ 2010# SUBS 2011#------------------------------------------------------------------------------ 2012# CHECK: subs r7, r8, #-2147483638 2013# CHECK: subs r7, r8, #40, #2 2014 20150x2a 0x71 0x58 0xe2 20160x28 0x71 0x58 0xe2 2017 2018#------------------------------------------------------------------------------ 2019# SVC 2020#------------------------------------------------------------------------------ 2021# CHECK: svc #16 2022# CHECK: svc #0 2023# CHECK: svc #16777215 2024 20250x10 0x00 0x00 0xef 20260x00 0x00 0x00 0xef 20270xff 0xff 0xff 0xef 2028 2029 2030#------------------------------------------------------------------------------ 2031# SWP/SWPB 2032#------------------------------------------------------------------------------ 2033# CHECK: swp r1, r2, [r3 2034# CHECK: swp r4, r4, [r6 2035# CHECK: swpb r5, r1, [r9 2036 20370x92 0x10 0x03 0xe1 20380x94 0x40 0x06 0xe1 20390x91 0x50 0x49 0xe1 2040 2041 2042#------------------------------------------------------------------------------ 2043# SXTAB 2044#------------------------------------------------------------------------------ 2045# CHECK: sxtab r2, r3, r4 2046# CHECK: sxtab r4, r5, r6 2047# CHECK: sxtablt r6, r2, r9, ror #8 2048# CHECK: sxtab r5, r1, r4, ror #16 2049# CHECK: sxtab r7, r8, r3, ror #24 2050 20510x74 0x20 0xa3 0xe6 20520x76 0x40 0xa5 0xe6 20530x79 0x64 0xa2 0xb6 20540x74 0x58 0xa1 0xe6 20550x73 0x7c 0xa8 0xe6 2056 2057 2058#------------------------------------------------------------------------------ 2059# SXTAB16 2060#------------------------------------------------------------------------------ 2061# CHECK: sxtab16ge r0, r1, r4 2062# CHECK: sxtab16 r6, r2, r7 2063# CHECK: sxtab16 r3, r5, r8, ror #8 2064# CHECK: sxtab16 r3, r2, r1, ror #16 2065# CHECK: sxtab16eq r1, r2, r3, ror #24 2066 20670x74 0x00 0x81 0xa6 20680x77 0x60 0x82 0xe6 20690x78 0x34 0x85 0xe6 20700x71 0x38 0x82 0xe6 20710x73 0x1c 0x82 0x06 2072 2073#------------------------------------------------------------------------------ 2074# SXTAH 2075#------------------------------------------------------------------------------ 2076# CHECK: sxtah r1, r3, r9 2077# CHECK: sxtahhi r6, r1, r6 2078# CHECK: sxtah r3, r8, r3, ror #8 2079# CHECK: sxtahlo r2, r2, r4, ror #16 2080# CHECK: sxtah r9, r3, r3, ror #24 2081 20820x79 0x10 0xb3 0xe6 20830x76 0x60 0xb1 0x86 20840x73 0x34 0xb8 0xe6 20850x74 0x28 0xb2 0x36 20860x73 0x9c 0xb3 0xe6 2087 2088#------------------------------------------------------------------------------ 2089# SXTB 2090#------------------------------------------------------------------------------ 2091# CHECK: sxtbge r2, r4 2092# CHECK: sxtb r5, r6 2093# CHECK: sxtb r6, r9, ror #8 2094# CHECK: sxtblo r5, r1, ror #16 2095# CHECK: sxtb r8, r3, ror #24 2096 20970x74 0x20 0xaf 0xa6 20980x76 0x50 0xaf 0xe6 20990x79 0x64 0xaf 0xe6 21000x71 0x58 0xaf 0x36 21010x73 0x8c 0xaf 0xe6 2102 2103 2104#------------------------------------------------------------------------------ 2105# SXTB16 2106#------------------------------------------------------------------------------ 2107# CHECK: sxtb16 r1, r4 2108# CHECK: sxtb16 r6, r7 2109# CHECK: sxtb16hs r3, r5, ror #8 2110# CHECK: sxtb16 r3, r1, ror #16 2111# CHECK: sxtb16ge r2, r3, ror #24 2112 21130x74 0x10 0x8f 0xe6 21140x77 0x60 0x8f 0xe6 21150x75 0x34 0x8f 0x26 21160x71 0x38 0x8f 0xe6 21170x73 0x2c 0x8f 0xa6 2118 2119 2120#------------------------------------------------------------------------------ 2121# SXTH 2122#------------------------------------------------------------------------------ 2123# CHECK: sxthne r3, r9 2124# CHECK: sxth r1, r6 2125# CHECK: sxth r3, r8, ror #8 2126# CHECK: sxthle r2, r2, ror #16 2127# CHECK: sxth r9, r3, ror #24 2128 21290x79 0x30 0xbf 0x16 21300x76 0x10 0xbf 0xe6 21310x78 0x34 0xbf 0xe6 21320x72 0x28 0xbf 0xd6 21330x73 0x9c 0xbf 0xe6 2134 2135 2136#------------------------------------------------------------------------------ 2137# FIXME: TBB/TBH 2138#------------------------------------------------------------------------------ 2139 2140 2141#------------------------------------------------------------------------------ 2142# TEQ 2143#------------------------------------------------------------------------------ 2144# CHECK: teq r5, #61440 2145# CHECK: teq r7, #-2147483638 2146# CHECK: teq r7, #40, #2 2147# CHECK: teq r4, r5 2148# CHECK: teq r4, r5, lsl #5 2149# CHECK: teq r4, r5, lsr #5 2150# CHECK: teq r4, r5, lsr #5 2151# CHECK: teq r4, r5, asr #5 2152# CHECK: teq r4, r5, ror #5 2153# CHECK: teq r6, r7, lsl r9 2154# CHECK: teq r6, r7, lsr r9 2155# CHECK: teq r6, r7, asr r9 2156# CHECK: teq r6, r7, ror r9 2157 21580x0f 0x0a 0x35 0xe3 21590x2a 0x01 0x37 0xe3 21600x28 0x01 0x37 0xe3 21610x05 0x00 0x34 0xe1 21620x85 0x02 0x34 0xe1 21630xa5 0x02 0x34 0xe1 21640xa5 0x02 0x34 0xe1 21650xc5 0x02 0x34 0xe1 21660xe5 0x02 0x34 0xe1 21670x17 0x09 0x36 0xe1 21680x37 0x09 0x36 0xe1 21690x57 0x09 0x36 0xe1 21700x77 0x09 0x36 0xe1 2171 2172 2173#------------------------------------------------------------------------------ 2174# TST 2175#------------------------------------------------------------------------------ 2176# CHECK: tst r5, #61440 2177# CHECK: tst r7, #-2147483638 2178# CHECK: tst r7, #40, #2 2179# CHECK: tst r4, r5 2180# CHECK: tst r4, r5, lsl #5 2181# CHECK: tst r4, r5, lsr #5 2182# CHECK: tst r4, r5, lsr #5 2183# CHECK: tst r4, r5, asr #5 2184# CHECK: tst r4, r5, ror #5 2185# CHECK: tst r6, r7, lsl r9 2186# CHECK: tst r6, r7, lsr r9 2187# CHECK: tst r6, r7, asr r9 2188# CHECK: tst r6, r7, ror r9 2189 21900x0f 0x0a 0x15 0xe3 21910x2a 0x01 0x17 0xe3 21920x28 0x01 0x17 0xe3 21930x05 0x00 0x14 0xe1 21940x85 0x02 0x14 0xe1 21950xa5 0x02 0x14 0xe1 21960xa5 0x02 0x14 0xe1 21970xc5 0x02 0x14 0xe1 21980xe5 0x02 0x14 0xe1 21990x17 0x09 0x16 0xe1 22000x37 0x09 0x16 0xe1 22010x57 0x09 0x16 0xe1 22020x77 0x09 0x16 0xe1 2203 2204 2205#------------------------------------------------------------------------------ 2206# UADD16/UADD8 2207#------------------------------------------------------------------------------ 2208# CHECK: uadd16 r1, r2, r3 2209# CHECK: uadd16gt r1, r2, r3 2210# CHECK: uadd8 r1, r2, r3 2211# CHECK: uadd8le r1, r2, r3 2212 22130x13 0x1f 0x52 0xe6 22140x13 0x1f 0x52 0xc6 22150x93 0x1f 0x52 0xe6 22160x93 0x1f 0x52 0xd6 2217 2218 2219#------------------------------------------------------------------------------ 2220# UASX 2221#------------------------------------------------------------------------------ 2222# CHECK: uasx r9, r12, r0 2223# CHECK: uasxeq r9, r12, r0 2224 22250x30 0x9f 0x5c 0xe6 22260x30 0x9f 0x5c 0x06 2227 2228 2229#------------------------------------------------------------------------------ 2230# UBFX 2231#------------------------------------------------------------------------------ 2232# CHECK: ubfx r4, r5, #16, #1 2233# CHECK: ubfxgt r4, r5, #16, #16 2234 22350x55 0x48 0xe0 0xe7 22360x55 0x48 0xef 0xc7 2237 2238 2239#------------------------------------------------------------------------------ 2240# UHADD16/UHADD8 2241#------------------------------------------------------------------------------ 2242# CHECK: uhadd16 r4, r8, r2 2243# CHECK: uhadd16gt r4, r8, r2 2244# CHECK: uhadd8 r4, r8, r2 2245# CHECK: uhadd8gt r4, r8, r2 2246 22470x12 0x4f 0x78 0xe6 22480x12 0x4f 0x78 0xc6 22490x92 0x4f 0x78 0xe6 22500x92 0x4f 0x78 0xc6 2251 2252 2253#------------------------------------------------------------------------------ 2254# UHASX 2255#------------------------------------------------------------------------------ 2256# CHECK: uhasx r4, r8, r2 2257# CHECK: uhasxgt r4, r8, r2 2258 22590x32 0x4f 0x78 0xe6 22600x32 0x4f 0x78 0xc6 2261 2262 2263#------------------------------------------------------------------------------ 2264# UHSUB16/UHSUB8 2265#------------------------------------------------------------------------------ 2266# CHECK: uhsub16 r4, r8, r2 2267# CHECK: uhsub16gt r4, r8, r2 2268# CHECK: uhsub8 r4, r8, r2 2269# CHECK: uhsub8gt r4, r8, r2 2270 22710x72 0x4f 0x78 0xe6 22720x72 0x4f 0x78 0xc6 22730xf2 0x4f 0x78 0xe6 22740xf2 0x4f 0x78 0xc6 2275 2276 2277#------------------------------------------------------------------------------ 2278# UMAAL 2279#------------------------------------------------------------------------------ 2280# CHECK: umaal r3, r4, r5, r6 2281# CHECK: umaallt r3, r4, r5, r6 2282 22830x95 0x36 0x44 0xe0 22840x95 0x36 0x44 0xb0 2285 2286 2287#------------------------------------------------------------------------------ 2288# UMLAL 2289#------------------------------------------------------------------------------ 2290# CHECK: umlal r2, r4, r6, r8 2291# CHECK: umlalgt r6, r1, r2, r6 2292# CHECK: umlals r2, r9, r2, r3 2293# CHECK: umlalseq r3, r5, r1, r2 2294 22950x96 0x28 0xa4 0xe0 22960x92 0x66 0xa1 0xc0 22970x92 0x23 0xb9 0xe0 22980x91 0x32 0xb5 0x00 2299 2300 2301#------------------------------------------------------------------------------ 2302# UMULL 2303#------------------------------------------------------------------------------ 2304# CHECK: umull r2, r4, r6, r8 2305# CHECK: umullgt r6, r1, r2, r6 2306# CHECK: umulls r2, r9, r2, r3 2307# CHECK: umullseq r3, r5, r1, r2 2308 23090x96 0x28 0x84 0xe0 23100x92 0x66 0x81 0xc0 23110x92 0x23 0x99 0xe0 23120x91 0x32 0x95 0x00 2313 2314 2315#------------------------------------------------------------------------------ 2316# UQADD16/UQADD8 2317#------------------------------------------------------------------------------ 2318# CHECK: uqadd16 r1, r2, r3 2319# CHECK: uqadd16gt r4, r7, r9 2320# CHECK: uqadd8 r3, r4, r8 2321# CHECK: uqadd8le r8, r1, r2 2322 2323 23240x13 0x1f 0x62 0xe6 23250x19 0x4f 0x67 0xc6 23260x98 0x3f 0x64 0xe6 23270x92 0x8f 0x61 0xd6 2328 2329 2330#------------------------------------------------------------------------------ 2331# UQASX 2332#------------------------------------------------------------------------------ 2333# CHECK: uqasx r2, r4, r1 2334# CHECK: uqasxhi r5, r2, r9 2335 23360x31 0x2f 0x64 0xe6 23370x39 0x5f 0x62 0x86 2338 2339 2340#------------------------------------------------------------------------------ 2341# UQSAX 2342#------------------------------------------------------------------------------ 2343# CHECK: uqsax r1, r3, r7 2344# CHECK: uqsax r3, r6, r2 2345 23460x57 0x1f 0x63 0xe6 23470x52 0x3f 0x66 0xe6 2348 2349 2350#------------------------------------------------------------------------------ 2351# UQSUB16/UQSUB8 2352#------------------------------------------------------------------------------ 2353# CHECK: uqsub16 r1, r5, r3 2354# CHECK: uqsub16gt r3, r2, r5 2355# CHECK: uqsub8 r2, r1, r4 2356# CHECK: uqsub8le r4, r6, r9 2357 23580x73 0x1f 0x65 0xe6 23590x75 0x3f 0x62 0xc6 23600xf4 0x2f 0x61 0xe6 23610xf9 0x4f 0x66 0xd6 2362 2363 2364#------------------------------------------------------------------------------ 2365# USADA8/USAD8 2366#------------------------------------------------------------------------------ 2367# CHECK: usad8 r2, r1, r4 2368# CHECK: usad8le r4, r6, r9 2369# CHECK: usada8 r1, r5, r3, r7 2370# CHECK: usada8gt r3, r2, r5, r1 2371 23720x11 0xf4 0x82 0xe7 23730x16 0xf9 0x84 0xd7 23740x15 0x73 0x81 0xe7 23750x12 0x15 0x83 0xc7 2376 2377 2378#------------------------------------------------------------------------------ 2379# USAT 2380#------------------------------------------------------------------------------ 2381 2382# CHECK: usat r8, #1, r10 2383# CHECK: usat r8, #4, r10 2384# CHECK: usat r8, #5, r10, lsl #31 2385# CHECK: usat r8, #31, r10, asr #32 2386# CHECK: usat r8, #16, r10, asr #1 2387 23880x1a 0x80 0xe1 0xe6 23890x1a 0x80 0xe4 0xe6 23900x9a 0x8f 0xe5 0xe6 23910x5a 0x80 0xff 0xe6 23920xda 0x80 0xf0 0xe6 2393 2394#------------------------------------------------------------------------------ 2395# USAT16 2396#------------------------------------------------------------------------------ 2397# CHECK: usat16 r2, #2, r7 2398# CHECK: usat16 r3, #15, r5 2399 24000x37 0x2f 0xe2 0xe6 24010x35 0x3f 0xef 0xe6 2402 2403 2404#------------------------------------------------------------------------------ 2405# USAX 2406#------------------------------------------------------------------------------ 2407# CHECK: usax r2, r3, r4 2408# CHECK: usaxne r2, r3, r4 2409 24100x54 0x2f 0x53 0xe6 24110x54 0x2f 0x53 0x16 2412 2413#------------------------------------------------------------------------------ 2414# USUB16/USUB8 2415#------------------------------------------------------------------------------ 2416# CHECK: usub16 r4, r2, r7 2417# CHECK: usub16hi r1, r1, r3 2418# CHECK: usub8 r1, r8, r5 2419# CHECK: usub8le r9, r2, r3 2420 24210x77 0x4f 0x52 0xe6 24220x73 0x1f 0x51 0x86 24230xf5 0x1f 0x58 0xe6 24240xf3 0x9f 0x52 0xd6 2425 2426 2427#------------------------------------------------------------------------------ 2428# UXTAB 2429#------------------------------------------------------------------------------ 2430# CHECK: uxtab r2, r3, r4 2431# CHECK: uxtab r4, r5, r6 2432# CHECK: uxtablt r6, r2, r9, ror #8 2433# CHECK: uxtab r5, r1, r4, ror #16 2434# CHECK: uxtab r7, r8, r3, ror #24 2435 24360x74 0x20 0xe3 0xe6 24370x76 0x40 0xe5 0xe6 24380x79 0x64 0xe2 0xb6 24390x74 0x58 0xe1 0xe6 24400x73 0x7c 0xe8 0xe6 2441 2442 2443#------------------------------------------------------------------------------ 2444# UXTAB16 2445#------------------------------------------------------------------------------ 2446# CHECK: uxtab16ge r0, r1, r4 2447# CHECK: uxtab16 r6, r2, r7 2448# CHECK: uxtab16 r3, r5, r8, ror #8 2449# CHECK: uxtab16 r3, r2, r1, ror #16 2450# CHECK: uxtab16eq r1, r2, r3, ror #24 2451 24520x74 0x00 0xc1 0xa6 24530x77 0x60 0xc2 0xe6 24540x78 0x34 0xc5 0xe6 24550x71 0x38 0xc2 0xe6 24560x73 0x1c 0xc2 0x06 2457 2458#------------------------------------------------------------------------------ 2459# UXTAH 2460#------------------------------------------------------------------------------ 2461# CHECK: uxtah r1, r3, r9 2462# CHECK: uxtahhi r6, r1, r6 2463# CHECK: uxtah r3, r8, r3, ror #8 2464# CHECK: uxtahlo r2, r2, r4, ror #16 2465# CHECK: uxtah r9, r3, r3, ror #24 2466 24670x79 0x10 0xf3 0xe6 24680x76 0x60 0xf1 0x86 24690x73 0x34 0xf8 0xe6 24700x74 0x28 0xf2 0x36 24710x73 0x9c 0xf3 0xe6 2472 2473#------------------------------------------------------------------------------ 2474# UXTB 2475#------------------------------------------------------------------------------ 2476# CHECK: uxtbge r2, r4 2477# CHECK: uxtb r5, r6 2478# CHECK: uxtb r6, r9, ror #8 2479# CHECK: uxtblo r5, r1, ror #16 2480# CHECK: uxtb r8, r3, ror #24 2481 24820x74 0x20 0xef 0xa6 24830x76 0x50 0xef 0xe6 24840x79 0x64 0xef 0xe6 24850x71 0x58 0xef 0x36 24860x73 0x8c 0xef 0xe6 2487 2488 2489#------------------------------------------------------------------------------ 2490# UXTB16 2491#------------------------------------------------------------------------------ 2492# CHECK: uxtb16 r1, r4 2493# CHECK: uxtb16 r6, r7 2494# CHECK: uxtb16hs r3, r5, ror #8 2495# CHECK: uxtb16 r3, r1, ror #16 2496# CHECK: uxtb16ge r2, r3, ror #24 2497 24980x74 0x10 0xcf 0xe6 24990x77 0x60 0xcf 0xe6 25000x75 0x34 0xcf 0x26 25010x71 0x38 0xcf 0xe6 25020x73 0x2c 0xcf 0xa6 2503 2504 2505#------------------------------------------------------------------------------ 2506# UXTH 2507#------------------------------------------------------------------------------ 2508# CHECK: uxthne r3, r9 2509# CHECK: uxth r1, r6 2510# CHECK: uxth r3, r8, ror #8 2511# CHECK: uxthle r2, r2, ror #16 2512# CHECK: uxth r9, r3, ror #24 2513 25140x79 0x30 0xff 0x16 25150x76 0x10 0xff 0xe6 25160x78 0x34 0xff 0xe6 25170x72 0x28 0xff 0xd6 25180x73 0x9c 0xff 0xe6 2519 2520#------------------------------------------------------------------------------ 2521# WFE/WFI/YIELD 2522#------------------------------------------------------------------------------ 2523# CHECK: wfe 2524# CHECK: wfehi 2525# CHECK: wfi 2526# CHECK: wfilt 2527# CHECK: yield 2528# CHECK: yieldne 2529# CHECK: hint #5 2530 25310x02 0xf0 0x20 0xe3 25320x02 0xf0 0x20 0x83 25330x03 0xf0 0x20 0xe3 25340x03 0xf0 0x20 0xb3 25350x01 0xf0 0x20 0xe3 25360x01 0xf0 0x20 0x13 25370x05 0xf0 0x20 0xe3 2538