1e0e42bf0bb1280a881450027aaae6490b4c87fd5Jim Grosbach@--- 2e0e42bf0bb1280a881450027aaae6490b4c87fd5Jim Grosbach@ Run these test in both Thumb1 and Thumb2 modes, as all of the encodings 3e0e42bf0bb1280a881450027aaae6490b4c87fd5Jim Grosbach@ should be valid, and parse the same, in both. 4e0e42bf0bb1280a881450027aaae6490b4c87fd5Jim Grosbach@--- 53912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ RUN: llvm-mc -triple=thumbv6-apple-darwin -show-encoding < %s | FileCheck %s 6e0e42bf0bb1280a881450027aaae6490b4c87fd5Jim Grosbach@ RUN: llvm-mc -triple=thumbv7-apple-darwin -show-encoding < %s | FileCheck %s 736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ RUN: llvm-mc -triple=thumbebv7-unknown-unknown -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s 83912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach .syntax unified 93912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach .globl _func 103912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach 113912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ Check that the assembler can handle the documented syntax from the ARM ARM. 123912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ For complex constructs like shifter operands, check more thoroughly for them 133912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ once then spot check that following instructions accept the form generally. 143912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ This gives us good coverage while keeping the overall size of the test 153912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ more reasonable. 163912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach 17584fb0e6635535130ce321d5af15530a7c2ff05aJim Grosbach 18584fb0e6635535130ce321d5af15530a7c2ff05aJim Grosbach@ FIXME: Some 3-operand instructions have a 2-operand assembly syntax. 19584fb0e6635535130ce321d5af15530a7c2ff05aJim Grosbach 203912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach_func: 213912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ CHECK: _func 223912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach 233912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@------------------------------------------------------------------------------ 24358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach@ ADC (register) 25358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach@------------------------------------------------------------------------------ 26358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach adcs r4, r6 27358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach 28358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach@ CHECK: adcs r4, r6 @ encoding: [0x74,0x41] 29358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach 30358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach 31358499ea3b72dda4392d340ee5a36d1bbe76728cJim Grosbach@------------------------------------------------------------------------------ 3289e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach@ ADD (immediate) 3389e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach@------------------------------------------------------------------------------ 3489e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach adds r1, r2, #3 350f3abd8d68cfb4a0705d0a8140d7f7dce32f6e77Jim Grosbach@ When Rd is not explicitly specified, encoding T2 is preferred even though 360f3abd8d68cfb4a0705d0a8140d7f7dce32f6e77Jim Grosbach@ the literal is in the range [0,7] which would allow encoding T1. 3789e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach adds r2, #3 3889e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach adds r2, #8 3989e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach 4089e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach@ CHECK: adds r1, r2, #3 @ encoding: [0xd1,0x1c] 410f3abd8d68cfb4a0705d0a8140d7f7dce32f6e77Jim Grosbach@ CHECK: adds r2, #3 @ encoding: [0x03,0x32] 4289e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach@ CHECK: adds r2, #8 @ encoding: [0x08,0x32] 4389e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach 4489e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach 4589e2aa6afd408f1b4c6b47c53bbf31d48463bcabJim Grosbach@------------------------------------------------------------------------------ 463912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ ADD (register) 473912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@------------------------------------------------------------------------------ 483912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach adds r1, r2, r3 493912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach add r2, r8 503912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach 513912b73c74dc9c928228504e9a23c577b57c4e12Jim Grosbach@ CHECK: adds r1, r2, r3 @ encoding: [0xd1,0x18] 52b1ee18ee69624d51211e59fa42b54a0f5827318aJim Grosbach@ CHECK: add r2, r8 @ encoding: [0x42,0x44] 5353727fc659af5f8fc51499fd875165533187d734Jim Grosbach 5453727fc659af5f8fc51499fd875165533187d734Jim Grosbach 5553727fc659af5f8fc51499fd875165533187d734Jim Grosbach@------------------------------------------------------------------------------ 5672f39f8436848885176943b0ba985a7171145423Jim Grosbach@ ADD (SP plus immediate) 5753727fc659af5f8fc51499fd875165533187d734Jim Grosbach@------------------------------------------------------------------------------ 5872f39f8436848885176943b0ba985a7171145423Jim Grosbach add sp, #4 5972f39f8436848885176943b0ba985a7171145423Jim Grosbach add sp, #508 6072f39f8436848885176943b0ba985a7171145423Jim Grosbach add sp, sp, #4 6172f39f8436848885176943b0ba985a7171145423Jim Grosbach add r2, sp, #8 6272f39f8436848885176943b0ba985a7171145423Jim Grosbach add r2, sp, #1020 634e53fe8dc61ad48650ac6fe30d7268ec92b7fc1aJim Grosbach add sp, sp, #-8 644e53fe8dc61ad48650ac6fe30d7268ec92b7fc1aJim Grosbach add sp, #-8 6572f39f8436848885176943b0ba985a7171145423Jim Grosbach 6672f39f8436848885176943b0ba985a7171145423Jim Grosbach@ CHECK: add sp, #4 @ encoding: [0x01,0xb0] 6772f39f8436848885176943b0ba985a7171145423Jim Grosbach@ CHECK: add sp, #508 @ encoding: [0x7f,0xb0] 6872f39f8436848885176943b0ba985a7171145423Jim Grosbach@ CHECK: add sp, #4 @ encoding: [0x01,0xb0] 6972f39f8436848885176943b0ba985a7171145423Jim Grosbach@ CHECK: add r2, sp, #8 @ encoding: [0x02,0xaa] 7072f39f8436848885176943b0ba985a7171145423Jim Grosbach@ CHECK: add r2, sp, #1020 @ encoding: [0xff,0xaa] 714e53fe8dc61ad48650ac6fe30d7268ec92b7fc1aJim Grosbach@ CHECK: sub sp, #8 @ encoding: [0x82,0xb0] 724e53fe8dc61ad48650ac6fe30d7268ec92b7fc1aJim Grosbach@ CHECK: sub sp, #8 @ encoding: [0x82,0xb0] 7372f39f8436848885176943b0ba985a7171145423Jim Grosbach 7472f39f8436848885176943b0ba985a7171145423Jim Grosbach 7553727fc659af5f8fc51499fd875165533187d734Jim Grosbach@------------------------------------------------------------------------------ 7672f39f8436848885176943b0ba985a7171145423Jim Grosbach@ ADD (SP plus register) 7753727fc659af5f8fc51499fd875165533187d734Jim Grosbach@------------------------------------------------------------------------------ 7872f39f8436848885176943b0ba985a7171145423Jim Grosbach add sp, r3 7972f39f8436848885176943b0ba985a7171145423Jim Grosbach add r2, sp, r2 8072f39f8436848885176943b0ba985a7171145423Jim Grosbach 8172f39f8436848885176943b0ba985a7171145423Jim Grosbach@ CHECK: add sp, r3 @ encoding: [0x9d,0x44] 8272f39f8436848885176943b0ba985a7171145423Jim Grosbach@ CHECK: add r2, sp, r2 @ encoding: [0x6a,0x44] 835a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach 845a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach 855a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach@------------------------------------------------------------------------------ 865a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach@ ADR 875a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach@------------------------------------------------------------------------------ 885a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach adr r2, _baz 89b81b477cd4392a51112c3af0659ea9fc176e74f1Mihai Popa adr r5, #0 90b81b477cd4392a51112c3af0659ea9fc176e74f1Mihai Popa adr r2, #4 91b81b477cd4392a51112c3af0659ea9fc176e74f1Mihai Popa adr r3, #1020 925a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach 935a1cd045cd4220f84dae81ab2079e2272dfc51c1Jim Grosbach@ CHECK: adr r2, _baz @ encoding: [A,0xa2] 9436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_thumb_adr_pcrel_10 9536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: adr r2, _baz @ encoding: [0xa2,A] 9636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_thumb_adr_pcrel_10 97b81b477cd4392a51112c3af0659ea9fc176e74f1Mihai Popa@ CHECK: adr r5, #0 @ encoding: [0x00,0xa5] 98b81b477cd4392a51112c3af0659ea9fc176e74f1Mihai Popa@ CHECK: adr r2, #4 @ encoding: [0x01,0xa2] 99b81b477cd4392a51112c3af0659ea9fc176e74f1Mihai Popa@ CHECK: adr r3, #1020 @ encoding: [0xff,0xa3] 10000f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach 10100f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@------------------------------------------------------------------------------ 10200f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@ ASR (immediate) 10300f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@------------------------------------------------------------------------------ 10400f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach asrs r2, r3, #32 10500f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach asrs r2, r3, #5 10600f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach asrs r2, r3, #1 107a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach asrs r5, #21 108a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach asrs r5, r5, #21 109a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach asrs r3, r5, #21 11000f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach 11100f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@ CHECK: asrs r2, r3, #32 @ encoding: [0x1a,0x10] 11200f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@ CHECK: asrs r2, r3, #5 @ encoding: [0x5a,0x11] 11300f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@ CHECK: asrs r2, r3, #1 @ encoding: [0x5a,0x10] 114a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: asrs r5, r5, #21 @ encoding: [0x6d,0x15] 115a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: asrs r5, r5, #21 @ encoding: [0x6d,0x15] 116a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: asrs r3, r5, #21 @ encoding: [0x6b,0x15] 11700f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach 11800f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach 11900f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@------------------------------------------------------------------------------ 12000f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@ ASR (register) 12100f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@------------------------------------------------------------------------------ 12200f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach asrs r5, r2 12300f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach 12400f5d982057574cf65a4a3f29548ff9fb0ecfbd0Jim Grosbach@ CHECK: asrs r5, r2 @ encoding: [0x15,0x41] 125395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach 126395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach 127395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach@------------------------------------------------------------------------------ 128395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach@ B 129395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach@------------------------------------------------------------------------------ 130395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach b _baz 131395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach beq _bar 132391ac65377f2ad5e48a796e75120959e22430605Owen Anderson b #1838 133391ac65377f2ad5e48a796e75120959e22430605Owen Anderson b #-420 134e921f323533ee751b3fa34bd00d10fa72096ffd3Mihai Popa beq #-256 135721cb1fde07423fd1905338d443172a8028ad634Owen Anderson beq #160 136395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach 137395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach@ CHECK: b _baz @ encoding: [A,0xe0'A'] 13836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_br 13936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: b _baz @ encoding: [0xe0'A',A] 14036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_br 141395b453bed53a60c559b679eb92f75d0b140b307Jim Grosbach@ CHECK: beq _bar @ encoding: [A,0xd0] 14236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bcc 14336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: beq _bar @ encoding: [0xd0,A] 14436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bcc 145391ac65377f2ad5e48a796e75120959e22430605Owen Anderson@ CHECK: b #1838 @ encoding: [0x97,0xe3] 146391ac65377f2ad5e48a796e75120959e22430605Owen Anderson@ CHECK: b #-420 @ encoding: [0x2e,0xe7] 147e921f323533ee751b3fa34bd00d10fa72096ffd3Mihai Popa@ CHECK: beq #-256 @ encoding: [0x80,0xd0] 148721cb1fde07423fd1905338d443172a8028ad634Owen Anderson@ CHECK: beq #160 @ encoding: [0x50,0xd0] 1495b657de62ba6e7a7dd873b7a5d10e146b3e35f53Jim Grosbach 1505b657de62ba6e7a7dd873b7a5d10e146b3e35f53Jim Grosbach@------------------------------------------------------------------------------ 151559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson@ BL/BLX 152559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson@------------------------------------------------------------------------------ 153559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson blx #884800 154559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson blx #1769600 155559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson 156559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson@ CHECK: blx #884800 @ encoding: [0xd8,0xf0,0x20,0xe8] 157559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson@ CHECK: blx #1769600 @ encoding: [0xb0,0xf1,0x40,0xe8] 158559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson 159559c277aa9242dd5b32d2f2ccc353d938f886ee9Owen Anderson@------------------------------------------------------------------------------ 1605b657de62ba6e7a7dd873b7a5d10e146b3e35f53Jim Grosbach@ BICS 1615b657de62ba6e7a7dd873b7a5d10e146b3e35f53Jim Grosbach@------------------------------------------------------------------------------ 1625b657de62ba6e7a7dd873b7a5d10e146b3e35f53Jim Grosbach bics r1, r6 1635b657de62ba6e7a7dd873b7a5d10e146b3e35f53Jim Grosbach 1645b657de62ba6e7a7dd873b7a5d10e146b3e35f53Jim Grosbach@ CHECK: bics r1, r6 @ encoding: [0xb1,0x43] 16537f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach 16637f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach 16737f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach@------------------------------------------------------------------------------ 16837f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach@ BKPT 16937f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach@------------------------------------------------------------------------------ 17037f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach bkpt #0 17137f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach bkpt #255 17237f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach 17337f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach@ CHECK: bkpt #0 @ encoding: [0x00,0xbe] 17437f88c7812e4c284bde325e5af583889b6a80fc5Jim Grosbach@ CHECK: bkpt #255 @ encoding: [0xff,0xbe] 175ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach 176ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach 177ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach@------------------------------------------------------------------------------ 178ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach@ BL/BLX (immediate) 179ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach@------------------------------------------------------------------------------ 180ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach bl _bar 181ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach blx _baz 182ded439886aa0a96df55820e6f84342210660e0f4Jim Grosbach 1832d524b0765145f1c7888166c985a25452f16b2bcKevin Enderby@ CHECK: bl _bar @ encoding: [A,0xf0'A',A,0xd0'A'] 18436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bl 18536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: bl _bar @ encoding: [0xf0'A',A,0xd0'A',A] 18636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bl 1872d524b0765145f1c7888166c985a25452f16b2bcKevin Enderby@ CHECK: blx _baz @ encoding: [A,0xf0'A',A,0xc0'A'] 18836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_blx 18936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: blx _baz @ encoding: [0xf0'A',A,0xc0'A',A] 19036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_blx 1916ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach 1926ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach 1936ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@------------------------------------------------------------------------------ 1946ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@ BLX (register) 1956ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@------------------------------------------------------------------------------ 1966ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach blx r4 1976ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach 1986ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@ CHECK: blx r4 @ encoding: [0xa0,0x47] 1996ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach 2006ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach 2016ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@------------------------------------------------------------------------------ 2026ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@ BX 2036ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@------------------------------------------------------------------------------ 2046ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach bx r2 2056ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach 2066ea80e964ba0f8a3420b10bf21172508f713fafcJim Grosbach@ CHECK: bx r2 @ encoding: [0x10,0x47] 2077750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach 2087750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach 2097750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach@------------------------------------------------------------------------------ 2107750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach@ CMN 2117750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach@------------------------------------------------------------------------------ 2127750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach 2137750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach cmn r5, r1 2147750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach 2157750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach@ CHECK: cmn r5, r1 @ encoding: [0xcd,0x42] 2167750b8df6aaf9182b8205b98c335bf0f0b19e1b6Jim Grosbach 2170d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach 2180d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach@------------------------------------------------------------------------------ 2190d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach@ CMP 2200d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach@------------------------------------------------------------------------------ 2210d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach cmp r6, #32 2220d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach cmp r3, r4 2230d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach cmp r8, r1 2240d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach 2250d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach@ CHECK: cmp r6, #32 @ encoding: [0x20,0x2e] 2260d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach@ CHECK: cmp r3, r4 @ encoding: [0xa3,0x42] 2270d1511c022e78e6d8769290b451b98a3b656de63Jim Grosbach@ CHECK: cmp r8, r1 @ encoding: [0x88,0x45] 2281eba8a66b62e74cc560949ccb0fd9b8af7276aeaJim Grosbach 2291eba8a66b62e74cc560949ccb0fd9b8af7276aeaJim Grosbach@------------------------------------------------------------------------------ 23004b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa@ CPS 23104b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa@------------------------------------------------------------------------------ 23204b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa 23304b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa cpsie f 23404b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa cpsid a 23504b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa 23604b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa@ CHECK: cpsie f @ encoding: [0x61,0xb6] 23704b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa@ CHECK: cpsid a @ encoding: [0x74,0xb6] 23804b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa 23904b03fac11f10c92cf7ce63ba2f548a42ee2c448Mihai Popa@------------------------------------------------------------------------------ 2401eba8a66b62e74cc560949ccb0fd9b8af7276aeaJim Grosbach@ EOR 2411eba8a66b62e74cc560949ccb0fd9b8af7276aeaJim Grosbach@------------------------------------------------------------------------------ 2421eba8a66b62e74cc560949ccb0fd9b8af7276aeaJim Grosbach eors r4, r5 2431eba8a66b62e74cc560949ccb0fd9b8af7276aeaJim Grosbach 2441eba8a66b62e74cc560949ccb0fd9b8af7276aeaJim Grosbach@ CHECK: eors r4, r5 @ encoding: [0x6c,0x40] 24593b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach 24693b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach 24793b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach@------------------------------------------------------------------------------ 24893b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach@ LDM 24993b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach@------------------------------------------------------------------------------ 25093b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach ldm r3, {r0, r1, r2, r3, r4, r5, r6, r7} 25193b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach ldm r2!, {r1, r3, r4, r5, r7} 25293b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach ldm r1, {r1} 25393b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach 25493b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach@ CHECK: ldm r3, {r0, r1, r2, r3, r4, r5, r6, r7} @ encoding: [0xff,0xcb] 25593b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach@ CHECK: ldm r2!, {r1, r3, r4, r5, r7} @ encoding: [0xba,0xca] 25693b3eff62322803a520e183fdc294bffd6d99bfaJim Grosbach@ CHECK: ldm r1, {r1} @ encoding: [0x02,0xc9] 25760f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach 25860f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach 25960f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach@------------------------------------------------------------------------------ 26060f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach@ LDR (immediate) 26160f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach@------------------------------------------------------------------------------ 26260f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach ldr r1, [r5] 26360f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach ldr r2, [r6, #32] 26460f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach ldr r3, [r7, #124] 265ecd858968384be029574d845eb098d357049e02eJim Grosbach ldr r1, [sp] 266ecd858968384be029574d845eb098d357049e02eJim Grosbach ldr r2, [sp, #24] 267ecd858968384be029574d845eb098d357049e02eJim Grosbach ldr r3, [sp, #1020] 268ecd858968384be029574d845eb098d357049e02eJim Grosbach 26960f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach 27060f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach@ CHECK: ldr r1, [r5] @ encoding: [0x29,0x68] 27160f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach@ CHECK: ldr r2, [r6, #32] @ encoding: [0x32,0x6a] 27260f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach@ CHECK: ldr r3, [r7, #124] @ encoding: [0xfb,0x6f] 273ecd858968384be029574d845eb098d357049e02eJim Grosbach@ CHECK: ldr r1, [sp] @ encoding: [0x00,0x99] 274ecd858968384be029574d845eb098d357049e02eJim Grosbach@ CHECK: ldr r2, [sp, #24] @ encoding: [0x06,0x9a] 275ecd858968384be029574d845eb098d357049e02eJim Grosbach@ CHECK: ldr r3, [sp, #1020] @ encoding: [0xff,0x9b] 27660f91a3d9518617e29da18477ae433b8f0069304Jim Grosbach 27767b95f902a51b591b6178e370d23ffaca841275dJim Grosbach 27867b95f902a51b591b6178e370d23ffaca841275dJim Grosbach@------------------------------------------------------------------------------ 27967b95f902a51b591b6178e370d23ffaca841275dJim Grosbach@ LDR (literal) 28067b95f902a51b591b6178e370d23ffaca841275dJim Grosbach@------------------------------------------------------------------------------ 28167b95f902a51b591b6178e370d23ffaca841275dJim Grosbach ldr r1, _foo 282a7710edd98d71a81c43f8e3889cf0c790885d1b8Owen Anderson ldr r3, #604 283a7710edd98d71a81c43f8e3889cf0c790885d1b8Owen Anderson ldr r3, #368 28467b95f902a51b591b6178e370d23ffaca841275dJim Grosbach 28567b95f902a51b591b6178e370d23ffaca841275dJim Grosbach@ CHECK: ldr r1, _foo @ encoding: [A,0x49] 28636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_thumb_cp 28736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: ldr r1, _foo @ encoding: [0x49,A] 28836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_thumb_cp 2898ba1474181fc3997cc8449d75065e1021c72d49bJim Grosbach@ CHECK: ldr r3, [pc, #604] @ encoding: [0x97,0x4b] 2908ba1474181fc3997cc8449d75065e1021c72d49bJim Grosbach@ CHECK: ldr r3, [pc, #368] @ encoding: [0x5c,0x4b] 29109f6e0dfda121251c5da7dba04b8b72d5572b0dfJim Grosbach 29209f6e0dfda121251c5da7dba04b8b72d5572b0dfJim Grosbach@------------------------------------------------------------------------------ 29309f6e0dfda121251c5da7dba04b8b72d5572b0dfJim Grosbach@ LDR (register) 29409f6e0dfda121251c5da7dba04b8b72d5572b0dfJim Grosbach@------------------------------------------------------------------------------ 29509f6e0dfda121251c5da7dba04b8b72d5572b0dfJim Grosbach ldr r1, [r2, r3] 29609f6e0dfda121251c5da7dba04b8b72d5572b0dfJim Grosbach 29709f6e0dfda121251c5da7dba04b8b72d5572b0dfJim Grosbach@ CHECK: ldr r1, [r2, r3] @ encoding: [0xd1,0x58] 29848ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach 29948ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach 30048ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@------------------------------------------------------------------------------ 30148ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@ LDRB (immediate) 30248ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@------------------------------------------------------------------------------ 30348ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach ldrb r4, [r3] 30448ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach ldrb r5, [r6, #0] 30548ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach ldrb r6, [r7, #31] 30648ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach 30748ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@ CHECK: ldrb r4, [r3] @ encoding: [0x1c,0x78] 30848ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@ CHECK: ldrb r5, [r6] @ encoding: [0x35,0x78] 30948ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@ CHECK: ldrb r6, [r7, #31] @ encoding: [0xfe,0x7f] 31048ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach 31148ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach 31248ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@------------------------------------------------------------------------------ 31348ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@ LDRB (register) 31448ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@------------------------------------------------------------------------------ 31548ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach ldrb r6, [r4, r5] 31648ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach 31748ff5ffe9e2a90f853ce3645b1b97ea7885eccf1Jim Grosbach@ CHECK: ldrb r6, [r4, r5] @ encoding: [0x66,0x5d] 31838466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach 31938466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach 32038466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@------------------------------------------------------------------------------ 32138466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@ LDRH (immediate) 32238466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@------------------------------------------------------------------------------ 32338466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach ldrh r3, [r3] 32438466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach ldrh r4, [r6, #2] 32538466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach ldrh r5, [r7, #62] 32638466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach 32738466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@ CHECK: ldrh r3, [r3] @ encoding: [0x1b,0x88] 32838466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@ CHECK: ldrh r4, [r6, #2] @ encoding: [0x74,0x88] 32938466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@ CHECK: ldrh r5, [r7, #62] @ encoding: [0xfd,0x8f] 33038466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach 33138466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach 33238466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@------------------------------------------------------------------------------ 33338466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@ LDRH (register) 33438466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@------------------------------------------------------------------------------ 33538466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach ldrh r6, [r2, r6] 33638466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach 33738466309d5c8ce408f05567fa47aeaa3b5826080Jim Grosbach@ CHECK: ldrh r6, [r2, r6] @ encoding: [0x96,0x5b] 33805b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach 33905b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach 34005b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach@------------------------------------------------------------------------------ 34105b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach@ LDRSB/LDRSH 34205b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach@------------------------------------------------------------------------------ 34305b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach ldrsb r6, [r2, r6] 34405b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach ldrsh r3, [r7, r1] 34505b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach 34605b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach@ CHECK: ldrsb r6, [r2, r6] @ encoding: [0x96,0x57] 34705b01567349dc6c98f9e68c1d4a639aca7ad5ac4Jim Grosbach@ CHECK: ldrsh r3, [r7, r1] @ encoding: [0x7b,0x5e] 3481b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach 3491b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach 3501b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach@------------------------------------------------------------------------------ 3511b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach@ LSL (immediate) 3521b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach@------------------------------------------------------------------------------ 3531b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach lsls r4, r5, #0 3541b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach lsls r4, r5, #4 355a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach lsls r3, #12 356a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach lsls r3, r3, #12 357a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach lsls r1, r3, #12 3581b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach 3591b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach@ CHECK: lsls r4, r5, #0 @ encoding: [0x2c,0x00] 3601b7b68f08776dc9553399dc3b4e7ab54e5e596c0Jim Grosbach@ CHECK: lsls r4, r5, #4 @ encoding: [0x2c,0x01] 361a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: lsls r3, r3, #12 @ encoding: [0x1b,0x03] 362a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: lsls r3, r3, #12 @ encoding: [0x1b,0x03] 363a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: lsls r1, r3, #12 @ encoding: [0x19,0x03] 364560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach 365560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach 366560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach@------------------------------------------------------------------------------ 367560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach@ LSL (register) 368560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach@------------------------------------------------------------------------------ 369560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach lsls r2, r6 370560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach 371560ef9f2fe5f0fe0f8603ab3d076dae088efa6deJim Grosbach@ CHECK: lsls r2, r6 @ encoding: [0xb2,0x40] 372c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach 373c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach 374c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@------------------------------------------------------------------------------ 375c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@ LSR (immediate) 376c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@------------------------------------------------------------------------------ 377c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach lsrs r1, r3, #1 378c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach lsrs r1, r3, #32 379a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach lsrs r4, #20 380a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach lsrs r4, r4, #20 381a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach lsrs r2, r4, #20 382c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach 383c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@ CHECK: lsrs r1, r3, #1 @ encoding: [0x59,0x08] 384c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@ CHECK: lsrs r1, r3, #32 @ encoding: [0x19,0x08] 385a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: lsrs r4, r4, #20 @ encoding: [0x24,0x0d] 386a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: lsrs r4, r4, #20 @ encoding: [0x24,0x0d] 387a5378ebe7890aa9a4974f2872aa6632f1b7f2400Jim Grosbach@ CHECK: lsrs r2, r4, #20 @ encoding: [0x22,0x0d] 388c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach 389c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach 390c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@------------------------------------------------------------------------------ 391c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@ LSR (register) 392c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@------------------------------------------------------------------------------ 393c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach lsrs r2, r6 394c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach 395c7ebca335d841247721128b75f0bc2b98ad6acc0Jim Grosbach@ CHECK: lsrs r2, r6 @ encoding: [0xf2,0x40] 3964ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach 3974ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach 3984ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@------------------------------------------------------------------------------ 3994ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@ MOV (immediate) 4004ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@------------------------------------------------------------------------------ 4014ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach movs r2, #0 4024ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach movs r2, #255 4034ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach movs r2, #23 4044ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach 4054ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@ CHECK: movs r2, #0 @ encoding: [0x00,0x22] 4064ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@ CHECK: movs r2, #255 @ encoding: [0xff,0x22] 4074ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@ CHECK: movs r2, #23 @ encoding: [0x17,0x22] 4084ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach 4094ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach 4104ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@------------------------------------------------------------------------------ 4114ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@ MOV (register) 4124ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@------------------------------------------------------------------------------ 4134ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach mov r3, r4 4144ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach movs r1, r3 4154ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach 4164ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@ CHECK: mov r3, r4 @ encoding: [0x23,0x46] 4174ec6e888ec6d12b5255afd685b05c8fee1f7fc73Jim Grosbach@ CHECK: movs r1, r3 @ encoding: [0x19,0x00] 41888ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach 41988ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach 42088ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach@------------------------------------------------------------------------------ 42188ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach@ MUL 42288ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach@------------------------------------------------------------------------------ 42388ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach muls r1, r2, r1 4241b332860aef0121cf4591f4377a7201ce0ef8366Jim Grosbach muls r2, r2, r3 42588ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach muls r3, r4 42688ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach 42788ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach@ CHECK: muls r1, r2, r1 @ encoding: [0x51,0x43] 4281b332860aef0121cf4591f4377a7201ce0ef8366Jim Grosbach@ CHECK: muls r2, r3, r2 @ encoding: [0x5a,0x43] 42988ae2bc6d53bbf58422ff74729da18a53e155b4aJim Grosbach@ CHECK: muls r3, r4, r3 @ encoding: [0x63,0x43] 430c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach 431c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach 432c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach@------------------------------------------------------------------------------ 433c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach@ MVN 434c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach@------------------------------------------------------------------------------ 435c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach mvns r6, r3 436c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach 437c4762a9c912802ef6e81b722ccb7417f259bb49dJim Grosbach@ CHECK: mvns r6, r3 @ encoding: [0xde,0x43] 4382c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach 4392c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach 4402c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach@------------------------------------------------------------------------------ 4412c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach@ NEG 4422c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach@------------------------------------------------------------------------------ 4432c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach negs r3, r4 4442c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach 4452c3f70e5d4b4f179f21ed1b2ba14674f9d65c9b0Jim Grosbach@ CHECK: rsbs r3, r4, #0 @ encoding: [0x63,0x42] 4460780b6303b99441fef04340b7a083006484f4743Jim Grosbach 447011af5ca801cb95117a9abe2b217f78e2a7c8899Jim Grosbach@------------------------------------------------------------------------------ 448011af5ca801cb95117a9abe2b217f78e2a7c8899Jim Grosbach@ ORR 449011af5ca801cb95117a9abe2b217f78e2a7c8899Jim Grosbach@------------------------------------------------------------------------------ 450011af5ca801cb95117a9abe2b217f78e2a7c8899Jim Grosbach orrs r3, r4 451011af5ca801cb95117a9abe2b217f78e2a7c8899Jim Grosbach 452011af5ca801cb95117a9abe2b217f78e2a7c8899Jim Grosbach@ CHECK-ERRORS: orrs r3, r4 @ encoding: [0x23,0x43] 453d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach 454d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach 455d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach@------------------------------------------------------------------------------ 456d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach@ POP 457d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach@------------------------------------------------------------------------------ 458d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach pop {r2, r3, r6} 459d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach 460d937d951256372a24eb6ac9f048816b0873ed528Jim Grosbach@ CHECK: pop {r2, r3, r6} @ encoding: [0x4c,0xbc] 4610c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach 4620c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach 4630c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach@------------------------------------------------------------------------------ 4640c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach@ PUSH 4650c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach@------------------------------------------------------------------------------ 4660c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach push {r1, r2, r7} 4670c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach 4680c2165bbd096d49c17562c2951cecca582e01c75Jim Grosbach@ CHECK: push {r1, r2, r7} @ encoding: [0x86,0xb4] 469ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach 470ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach 471ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach@------------------------------------------------------------------------------ 472ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach@ REV/REV16/REVSH 473ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach@------------------------------------------------------------------------------ 474ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach rev r6, r3 475ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach rev16 r7, r2 476ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach revsh r5, r1 477ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach 478ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach@ CHECK: rev r6, r3 @ encoding: [0x1e,0xba] 479ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach@ CHECK: rev16 r7, r2 @ encoding: [0x57,0xba] 480ab585e61464f4b1bcbc01d61d08a7d87c227997dJim Grosbach@ CHECK: revsh r5, r1 @ encoding: [0xcd,0xba] 4813f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach 4823f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach 4833f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach@------------------------------------------------------------------------------ 4843f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach@ ROR 4853f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach@------------------------------------------------------------------------------ 4863f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach rors r2, r7 4873f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach 4883f57a9a2cf375fe54c274e1e52e2b743d452ffacJim Grosbach@ CHECK: rors r2, r7 @ encoding: [0xfa,0x41] 489934755ac040c516eac7fdd974e87590543acd16aJim Grosbach 490934755ac040c516eac7fdd974e87590543acd16aJim Grosbach 491934755ac040c516eac7fdd974e87590543acd16aJim Grosbach@------------------------------------------------------------------------------ 492934755ac040c516eac7fdd974e87590543acd16aJim Grosbach@ RSB 493934755ac040c516eac7fdd974e87590543acd16aJim Grosbach@------------------------------------------------------------------------------ 494934755ac040c516eac7fdd974e87590543acd16aJim Grosbach rsbs r1, r3, #0 495934755ac040c516eac7fdd974e87590543acd16aJim Grosbach 49604d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach@ CHECK: rsbs r1, r3, #0 @ encoding: [0x59,0x42] 49704d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach 49804d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach 49904d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach@------------------------------------------------------------------------------ 50004d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach@ SBC 50104d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach@------------------------------------------------------------------------------ 50204d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach sbcs r4, r3 50304d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach 50404d55f1905748b0d66655e2332e1a232a3f665f4Jim Grosbach@ CHECK: sbcs r4, r3 @ encoding: [0x9c,0x41] 5057e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach 5067e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach 5077e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach@------------------------------------------------------------------------------ 5087e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach@ SETEND 5097e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach@------------------------------------------------------------------------------ 5107e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach setend be 5117e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach setend le 5127e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach 5137e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach@ CHECK: setend be @ encoding: [0x58,0xb6] 5147e99b5c8a36e3e8d611e47122f9c596b58ccf3e8Jim Grosbach@ CHECK: setend le @ encoding: [0x50,0xb6] 5151e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach 5161e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach 5171e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach@------------------------------------------------------------------------------ 5181e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach@ STM 5191e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach@------------------------------------------------------------------------------ 5201e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach stm r1!, {r2, r6} 5211e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach stm r1!, {r1, r2, r3, r7} 5221e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach 5231e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach@ CHECK: stm r1!, {r2, r6} @ encoding: [0x44,0xc1] 5241e84f19337d44c04e74af4fb005550b525ef60e5Jim Grosbach@ CHECK: stm r1!, {r1, r2, r3, r7} @ encoding: [0x8e,0xc1] 5254c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach 5264c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach 5274c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@------------------------------------------------------------------------------ 5284c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@ STR (immediate) 5294c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@------------------------------------------------------------------------------ 5304c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach str r2, [r7] 5314c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach str r2, [r7, #0] 5324c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach str r5, [r1, #4] 5334c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach str r3, [r7, #124] 534803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach str r2, [sp] 535803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach str r3, [sp, #0] 536803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach str r4, [sp, #20] 537803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach str r5, [sp, #1020] 5384c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach 5394c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@ CHECK: str r2, [r7] @ encoding: [0x3a,0x60] 5404c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@ CHECK: str r2, [r7] @ encoding: [0x3a,0x60] 5414c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@ CHECK: str r5, [r1, #4] @ encoding: [0x4d,0x60] 5424c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@ CHECK: str r3, [r7, #124] @ encoding: [0xfb,0x67] 543803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach@ CHECK: str r2, [sp] @ encoding: [0x00,0x92] 544803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach@ CHECK: str r3, [sp] @ encoding: [0x00,0x93] 545803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach@ CHECK: str r4, [sp, #20] @ encoding: [0x05,0x94] 546803b1aa8ef00698de62181b9205cfcc0ce6b0cebJim Grosbach@ CHECK: str r5, [sp, #1020] @ encoding: [0xff,0x95] 5474c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach 5484c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach 5494c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@------------------------------------------------------------------------------ 5504c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@ STR (register) 5514c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@------------------------------------------------------------------------------ 5524c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach str r2, [r7, r3] 5534c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach 5544c821d800a50251633c206b9fe42c99e12f3f511Jim Grosbach@ CHECK: str r2, [r7, r3] @ encoding: [0xfa,0x50] 555aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach 556aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach 557aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@------------------------------------------------------------------------------ 558aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@ STRB (immediate) 559aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@------------------------------------------------------------------------------ 560aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach strb r4, [r3] 561aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach strb r5, [r6, #0] 562aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach strb r6, [r7, #31] 563aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach 564aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@ CHECK: strb r4, [r3] @ encoding: [0x1c,0x70] 565aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@ CHECK: strb r5, [r6] @ encoding: [0x35,0x70] 566aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@ CHECK: strb r6, [r7, #31] @ encoding: [0xfe,0x77] 567aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach 568aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach 569aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@------------------------------------------------------------------------------ 570aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@ STRB (register) 571aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@------------------------------------------------------------------------------ 572aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach strb r6, [r4, r5] 573aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach 574aec3a61c8b3fb3fbcafcc493ef38a37e39f039abJim Grosbach@ CHECK: strb r6, [r4, r5] @ encoding: [0x66,0x55] 575743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach 576743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach 577743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@------------------------------------------------------------------------------ 578743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@ STRH (immediate) 579743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@------------------------------------------------------------------------------ 580743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach strh r3, [r3] 581743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach strh r4, [r6, #2] 582743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach strh r5, [r7, #62] 583743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach 584743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@ CHECK: strh r3, [r3] @ encoding: [0x1b,0x80] 585743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@ CHECK: strh r4, [r6, #2] @ encoding: [0x74,0x80] 586743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@ CHECK: strh r5, [r7, #62] @ encoding: [0xfd,0x87] 587743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach 588743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach 589743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@------------------------------------------------------------------------------ 590743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@ STRH (register) 591743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@------------------------------------------------------------------------------ 592743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach strh r6, [r2, r6] 593743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach 594743c0fa7791c1451016a469bb0a5f57d56cd986aJim Grosbach@ CHECK: strh r6, [r2, r6] @ encoding: [0x96,0x53] 595414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 596414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 597414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@------------------------------------------------------------------------------ 598414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@ SUB (immediate) 599414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@------------------------------------------------------------------------------ 600414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach subs r1, r2, #3 601414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach subs r2, #3 602414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach subs r2, #8 603414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 604414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@ CHECK: subs r1, r2, #3 @ encoding: [0xd1,0x1e] 605414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@ CHECK: subs r2, #3 @ encoding: [0x03,0x3a] 606414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@ CHECK: subs r2, #8 @ encoding: [0x08,0x3a] 607414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 608414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 609414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@------------------------------------------------------------------------------ 610f69c80403620ef38674e037ae2664f1bbe5a4f3cJim Grosbach@ SUB (SP minus immediate) 611414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@------------------------------------------------------------------------------ 612f69c80403620ef38674e037ae2664f1bbe5a4f3cJim Grosbach sub sp, #12 613f69c80403620ef38674e037ae2664f1bbe5a4f3cJim Grosbach sub sp, sp, #508 614f69c80403620ef38674e037ae2664f1bbe5a4f3cJim Grosbach 615f69c80403620ef38674e037ae2664f1bbe5a4f3cJim Grosbach@ CHECK: sub sp, #12 @ encoding: [0x83,0xb0] 616f69c80403620ef38674e037ae2664f1bbe5a4f3cJim Grosbach@ CHECK: sub sp, #508 @ encoding: [0xff,0xb0] 617414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 618414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 619414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@------------------------------------------------------------------------------ 620414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@ SUB (register) 621414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@------------------------------------------------------------------------------ 622414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach subs r1, r2, r3 623414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach 624414b02357a7a733e3258da1b7c0f2c12b32f193eJim Grosbach@ CHECK: subs r1, r2, r3 @ encoding: [0xd1,0x1a] 625ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach 626ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach 627ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach@------------------------------------------------------------------------------ 628ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach@ SVC 629ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach@------------------------------------------------------------------------------ 630ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach svc #0 631ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach svc #255 632ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach 633ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach@ CHECK: svc #0 @ encoding: [0x00,0xdf] 634ec8b866434d530dee5b885e9db8da86db053c9ffJim Grosbach@ CHECK: svc #255 @ encoding: [0xff,0xdf] 6354b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach 6364b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach 6374b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach@------------------------------------------------------------------------------ 6384b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach@ SXTB/SXTH 6394b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach@------------------------------------------------------------------------------ 6404b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach sxtb r3, r5 6414b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach sxth r3, r5 6424b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach 6434b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach@ CHECK: sxtb r3, r5 @ encoding: [0x6b,0xb2] 6444b6658dd0a15fc81f117e672ed1eb72720615d13Jim Grosbach@ CHECK: sxth r3, r5 @ encoding: [0x2b,0xb2] 645010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach 646010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach 647010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach@------------------------------------------------------------------------------ 648010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach@ TST 649010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach@------------------------------------------------------------------------------ 650010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach tst r6, r1 651010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach 652010bebc696156eb4fe346c0d3566fb855ddfc937Jim Grosbach@ CHECK: tst r6, r1 @ encoding: [0x0e,0x42] 6533284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach 6543284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach 6553284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach@------------------------------------------------------------------------------ 6563284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach@ UXTB/UXTH 6573284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach@------------------------------------------------------------------------------ 6583284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach uxtb r7, r2 6593284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach uxth r1, r4 6603284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach 6613284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach@ CHECK: uxtb r7, r2 @ encoding: [0xd7,0xb2] 6623284db5bfbd313da3492bcae36cbe7305071c05cJim Grosbach@ CHECK: uxth r1, r4 @ encoding: [0xa1,0xb2] 66399e84e07ff94f24fdbd05f21d4cf5afb822542feJim Grosbach 66499e84e07ff94f24fdbd05f21d4cf5afb822542feJim Grosbach 665