basic-arm-instructions.s revision 8409f047312da0318af2a2fce162810ca3a95da3
13f00e317064560ad11168d22030416d853829f6eJim Grosbach@ RUN: llvm-mc -triple=armv7-apple-darwin -show-encoding < %s | FileCheck %s 23f00e317064560ad11168d22030416d853829f6eJim Grosbach .syntax unified 33f00e317064560ad11168d22030416d853829f6eJim Grosbach .globl _func 4e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 5e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ Check that the assembler can handle the documented syntax from the ARM ARM. 6e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ For complex constructs like shifter operands, check more thoroughly for them 7e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ once then spot check that following instructions accept the form generally. 8e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ This gives us good coverage while keeping the overall size of the test 9e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ more reasonable. 10e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 113f00e317064560ad11168d22030416d853829f6eJim Grosbach_func: 123f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: _func 133f00e317064560ad11168d22030416d853829f6eJim Grosbach 14da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------ 153f00e317064560ad11168d22030416d853829f6eJim Grosbach@ ADC (immediate) 16da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------ 173f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf 183f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf0 193f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf00 203f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf000 213f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf0000 223f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf00000 233f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf000000 243f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf0000000 253f00e317064560ad11168d22030416d853829f6eJim Grosbach adc r1, r2, #0xf000000f 263f00e317064560ad11168d22030416d853829f6eJim Grosbach adcs r1, r2, #0xf00 273f00e317064560ad11168d22030416d853829f6eJim Grosbach adcseq r1, r2, #0xf00 28dc89561fecf100d6c32d73c7b009fd73e51be688Jim Grosbach adceq r1, r2, #0xf00 293f00e317064560ad11168d22030416d853829f6eJim Grosbach 303f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2] 313f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #240 @ encoding: [0xf0,0x10,0xa2,0xe2] 323f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0xe2] 333f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #61440 @ encoding: [0x0f,0x1a,0xa2,0xe2] 343f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #983040 @ encoding: [0x0f,0x18,0xa2,0xe2] 353f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #15728640 @ encoding: [0x0f,0x16,0xa2,0xe2] 363f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #251658240 @ encoding: [0x0f,0x14,0xa2,0xe2] 373f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #4026531840 @ encoding: [0x0f,0x12,0xa2,0xe2] 383f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc r1, r2, #4026531855 @ encoding: [0xff,0x12,0xa2,0xe2] 393f00e317064560ad11168d22030416d853829f6eJim Grosbach 403f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adcs r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0xe2] 413f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adcseq r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0x02] 42dc89561fecf100d6c32d73c7b009fd73e51be688Jim Grosbach@ CHECK: adceq r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0x02] 43e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 44da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------ 45e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ ADC (register) 46da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ ADC (shifted register) 47da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------ 48e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6 49e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach @ Constant shifts 50e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, lsl #1 51e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, lsl #31 52e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, lsr #1 53e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, lsr #31 54e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, lsr #32 55e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, asr #1 56e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, asr #31 57e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, asr #32 58e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, ror #1 59e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, ror #31 60e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 61e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach @ Register shifts 62e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r6, r7, r8, lsl r9 63e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r6, r7, r8, lsr r9 64e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r6, r7, r8, asr r9 65e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r6, r7, r8, ror r9 66e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach adc r4, r5, r6, rrx 67e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 6837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach @ Destination register is optional 6937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r5, r6 7037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, lsl #1 7137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, lsl #31 7237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, lsr #1 7337ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, lsr #31 7437ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, lsr #32 7537ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, asr #1 7637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, asr #31 7737ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, asr #32 7837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, ror #1 7937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, ror #31 8037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, rrx 8137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r6, r7, lsl r9 8237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r6, r7, lsr r9 8337ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r6, r7, asr r9 8437ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r6, r7, ror r9 8537ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach adc r4, r5, rrx 8637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach 87e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6 @ encoding: [0x06,0x40,0xa5,0xe0] 88e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 89e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, lsl #1 @ encoding: [0x86,0x40,0xa5,0xe0] 90e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, lsl #31 @ encoding: [0x86,0x4f,0xa5,0xe0] 91e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, lsr #1 @ encoding: [0xa6,0x40,0xa5,0xe0] 92e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, lsr #31 @ encoding: [0xa6,0x4f,0xa5,0xe0] 93e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, lsr #32 @ encoding: [0x26,0x40,0xa5,0xe0] 94e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, asr #1 @ encoding: [0xc6,0x40,0xa5,0xe0] 95e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, asr #31 @ encoding: [0xc6,0x4f,0xa5,0xe0] 96e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, asr #32 @ encoding: [0x46,0x40,0xa5,0xe0] 97e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, ror #1 @ encoding: [0xe6,0x40,0xa5,0xe0] 98e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, ror #31 @ encoding: [0xe6,0x4f,0xa5,0xe0] 99e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 100e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xa7,0xe0] 101e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xa7,0xe0] 102e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xa7,0xe0] 103e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xa7,0xe0] 104e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc r4, r5, r6, rrx @ encoding: [0x66,0x40,0xa5,0xe0] 105e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach 10637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r5, r5, r6 @ encoding: [0x06,0x50,0xa5,0xe0] 10737ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, lsl #1 @ encoding: [0x85,0x40,0xa4,0xe0] 10837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, lsl #31 @ encoding: [0x85,0x4f,0xa4,0xe0] 10937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, lsr #1 @ encoding: [0xa5,0x40,0xa4,0xe0] 11037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, lsr #31 @ encoding: [0xa5,0x4f,0xa4,0xe0] 11137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, lsr #32 @ encoding: [0x25,0x40,0xa4,0xe0] 11237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, asr #1 @ encoding: [0xc5,0x40,0xa4,0xe0] 11337ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, asr #31 @ encoding: [0xc5,0x4f,0xa4,0xe0] 11437ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, asr #32 @ encoding: [0x45,0x40,0xa4,0xe0] 11537ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, ror #1 @ encoding: [0xe5,0x40,0xa4,0xe0] 11637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, ror #31 @ encoding: [0xe5,0x4f,0xa4,0xe0] 11737ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, rrx @ encoding: [0x65,0x40,0xa4,0xe0] 11837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xa6,0xe0] 11937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xa6,0xe0] 12037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xa6,0xe0] 12137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xa6,0xe0] 12237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc r4, r4, r5, rrx @ encoding: [0x65,0x40,0xa4,0xe0] 123da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach 124da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach 125da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------ 1267ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: ADR 1277ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 1287ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach 1297ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 130da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ ADD 131da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------ 132da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, #0xf000 133da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, r6 134da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, r6, lsl #5 135da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, r6, lsr #5 136da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, r6, lsr #5 137da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, r6, asr #5 138da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, r6, ror #5 139da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, r8, lsl r9 140da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, r8, lsr r9 141da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, r8, asr r9 142da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, r8, ror r9 143da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, r6, rrx 144da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach 145da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach @ destination register is optional 146da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r5, #0xf000 147da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5 148da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, lsl #5 149da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, lsr #5 150da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, lsr #5 151da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, asr #5 152da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, ror #5 153da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, lsl r9 154da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, lsr r9 155da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, asr r9 156da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r6, r7, ror r9 157da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach add r4, r5, rrx 158da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach 159da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2] 160da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, r6 @ encoding: [0x06,0x40,0x85,0xe0] 161da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x85,0xe0] 162da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe0] 163da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe0] 164da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x85,0xe0] 165da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x85,0xe0] 166da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x87,0xe0] 167da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x87,0xe0] 168da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x87,0xe0] 169da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0xe0] 170da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r5, r6, rrx @ encoding: [0x66,0x40,0x85,0xe0] 171da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach 172da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach 173da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2] 174da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r4, r5 @ encoding: [0x05,0x40,0x84,0xe0] 175da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x84,0xe0] 176da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe0] 177da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe0] 178da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x84,0xe0] 179da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x84,0xe0] 180da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x86,0xe0] 181da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x86,0xe0] 182da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0xe0] 183da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x86,0xe0] 184da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add r4, r4, r5, rrx @ encoding: [0x65,0x40,0x84,0xe0] 18559642c260064a0c9140e048d702a21830020487fJim Grosbach 18659642c260064a0c9140e048d702a21830020487fJim Grosbach 18759642c260064a0c9140e048d702a21830020487fJim Grosbach@------------------------------------------------------------------------------ 18859642c260064a0c9140e048d702a21830020487fJim Grosbach@ AND 18959642c260064a0c9140e048d702a21830020487fJim Grosbach@------------------------------------------------------------------------------ 19059642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, #0xf 19159642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, r6 19259642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, r6, lsl #10 19359642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, r6, lsr #10 19459642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, r6, lsr #10 19559642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, r6, asr #10 19659642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, r6, ror #10 19759642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, r8, lsl r2 19859642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, r8, lsr r2 19959642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, r8, asr r2 20059642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, r8, ror r2 20159642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, r6, rrx 20259642c260064a0c9140e048d702a21830020487fJim Grosbach 20359642c260064a0c9140e048d702a21830020487fJim Grosbach @ destination register is optional 20459642c260064a0c9140e048d702a21830020487fJim Grosbach and r1, #0xf 20559642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1 20659642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, lsl #10 20759642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, lsr #10 20859642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, lsr #10 20959642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, asr #10 21059642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, ror #10 21159642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, lsl r2 21259642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, lsr r2 21359642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, asr r2 21459642c260064a0c9140e048d702a21830020487fJim Grosbach and r6, r7, ror r2 21559642c260064a0c9140e048d702a21830020487fJim Grosbach and r10, r1, rrx 21659642c260064a0c9140e048d702a21830020487fJim Grosbach 21759642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2] 21859642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, r6 @ encoding: [0x06,0xa0,0x01,0xe0] 21959642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, r6, lsl #10 @ encoding: [0x06,0xa5,0x01,0xe0] 22059642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0x01,0xe0] 22159642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0x01,0xe0] 22259642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, r6, asr #10 @ encoding: [0x46,0xa5,0x01,0xe0] 22359642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, r6, ror #10 @ encoding: [0x66,0xa5,0x01,0xe0] 22459642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r7, r8, lsl r2 @ encoding: [0x18,0x62,0x07,0xe0] 22559642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r7, r8, lsr r2 @ encoding: [0x38,0x62,0x07,0xe0] 22659642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r7, r8, asr r2 @ encoding: [0x58,0x62,0x07,0xe0] 22759642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r7, r8, ror r2 @ encoding: [0x78,0x62,0x07,0xe0] 22859642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r1, r6, rrx @ encoding: [0x66,0xa0,0x01,0xe0] 22959642c260064a0c9140e048d702a21830020487fJim Grosbach 23059642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2] 23159642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r10, r1 @ encoding: [0x01,0xa0,0x0a,0xe0] 23259642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r10, r1, lsl #10 @ encoding: [0x01,0xa5,0x0a,0xe0] 23359642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0x0a,0xe0] 23459642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0x0a,0xe0] 23559642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r10, r1, asr #10 @ encoding: [0x41,0xa5,0x0a,0xe0] 23659642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r10, r1, ror #10 @ encoding: [0x61,0xa5,0x0a,0xe0] 23759642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r6, r7, lsl r2 @ encoding: [0x17,0x62,0x06,0xe0] 23859642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r6, r7, lsr r2 @ encoding: [0x37,0x62,0x06,0xe0] 23959642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r6, r7, asr r2 @ encoding: [0x57,0x62,0x06,0xe0] 24059642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r6, r6, r7, ror r2 @ encoding: [0x77,0x62,0x06,0xe0] 24159642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and r10, r10, r1, rrx @ encoding: [0x61,0xa0,0x0a,0xe0] 24259642c260064a0c9140e048d702a21830020487fJim Grosbach 2437ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 2447ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: ASR 2457ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 2467ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 2477ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: B 2487ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 2497ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 2507ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: BFC 2517ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 2527ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 2537ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: BFI 2547ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------ 255e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach 256e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@------------------------------------------------------------------------------ 25776cbe02cdd57a297d9c6f1e5106e4718abd7ff9fJim Grosbach@ BIC 258e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@------------------------------------------------------------------------------ 259e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, #0xf 260e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, r6 261e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, r6, lsl #10 262e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, r6, lsr #10 263e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, r6, lsr #10 264e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, r6, asr #10 265e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, r6, ror #10 266e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, r8, lsl r2 267e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, r8, lsr r2 268e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, r8, asr r2 269e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, r8, ror r2 270e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, r6, rrx 271e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach 272e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach @ destination register is optional 273e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r1, #0xf 274e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1 275e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, lsl #10 276e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, lsr #10 277e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, lsr #10 278e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, asr #10 279e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, ror #10 280e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, lsl r2 281e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, lsr r2 282e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, asr r2 283e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r6, r7, ror r2 284e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach bic r10, r1, rrx 285e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach 286e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3] 287e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, r6 @ encoding: [0x06,0xa0,0xc1,0xe1] 288e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, r6, lsl #10 @ encoding: [0x06,0xa5,0xc1,0xe1] 289e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0xc1,0xe1] 290e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0xc1,0xe1] 291e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, r6, asr #10 @ encoding: [0x46,0xa5,0xc1,0xe1] 292e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, r6, ror #10 @ encoding: [0x66,0xa5,0xc1,0xe1] 293e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r7, r8, lsl r2 @ encoding: [0x18,0x62,0xc7,0xe1] 294e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r7, r8, lsr r2 @ encoding: [0x38,0x62,0xc7,0xe1] 295e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r7, r8, asr r2 @ encoding: [0x58,0x62,0xc7,0xe1] 296e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r7, r8, ror r2 @ encoding: [0x78,0x62,0xc7,0xe1] 297e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r1, r6, rrx @ encoding: [0x66,0xa0,0xc1,0xe1] 298e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach 299e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach 300e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3] 301e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r10, r1 @ encoding: [0x01,0xa0,0xca,0xe1] 302e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r10, r1, lsl #10 @ encoding: [0x01,0xa5,0xca,0xe1] 303e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0xca,0xe1] 304e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0xca,0xe1] 305e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r10, r1, asr #10 @ encoding: [0x41,0xa5,0xca,0xe1] 306e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r10, r1, ror #10 @ encoding: [0x61,0xa5,0xca,0xe1] 307e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r6, r7, lsl r2 @ encoding: [0x17,0x62,0xc6,0xe1] 308e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r6, r7, lsr r2 @ encoding: [0x37,0x62,0xc6,0xe1] 309e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r6, r7, asr r2 @ encoding: [0x57,0x62,0xc6,0xe1] 310e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r6, r6, r7, ror r2 @ encoding: [0x77,0x62,0xc6,0xe1] 311e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic r10, r10, r1, rrx @ encoding: [0x61,0xa0,0xca,0xe1] 312e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach 31321101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach@------------------------------------------------------------------------------ 31421101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach@ BKPT 31521101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach@------------------------------------------------------------------------------ 31621101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach bkpt #10 31721101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach bkpt #65535 31821101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach 319fff76ee7ef007b2bb74804f165fee475e30ead0dJim Grosbach@ CHECK: bkpt #10 @ encoding: [0x7a,0x00,0x20,0xe1] 320fff76ee7ef007b2bb74804f165fee475e30ead0dJim Grosbach@ CHECK: bkpt #65535 @ encoding: [0x7f,0xff,0x2f,0xe1] 32137023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach 32237023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@------------------------------------------------------------------------------ 32337023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@ BL/BLX (immediate) 32437023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@------------------------------------------------------------------------------ 32537023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach 32637023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach bl _bar 32737023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach @ FIXME: blx _bar 32837023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach 329f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bl _bar @ encoding: [A,A,A,0xeb] 330f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch 331f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach 332f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------ 333f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ BLX (register) 334f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------ 33537023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach blx r2 33637023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach blxne r2 33737023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach 33837023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@ CHECK: blx r2 @ encoding: [0x32,0xff,0x2f,0xe1] 33937023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@ CHECK: blxne r2 @ encoding: [0x32,0xff,0x2f,0x11] 34037023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach 341f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------ 342f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ BX 343f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------ 344f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach 345f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach bx r2 346f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach bxne r2 347f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach 348f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bx r2 @ encoding: [0x12,0xff,0x2f,0xe1] 349f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bxne r2 @ encoding: [0x12,0xff,0x2f,0x11] 350f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach 351f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------ 352f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ BXJ 353f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------ 354f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach 355f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach bxj r2 356f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach bxjne r2 35737023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach 358f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bxj r2 @ encoding: [0x22,0xff,0x2f,0xe1] 359f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bxjne r2 @ encoding: [0x22,0xff,0x2f,0x11] 36083ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach 36183ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------ 36283ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@ FIXME: CBNZ/CBZ 36383ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------ 36483ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach 36583ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach 36683ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------ 36783ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@ CDP/CDP2 36883ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------ 369d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach cdp p7, #1, c1, c1, c1, #4 370d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach cdp2 p7, #1, c1, c1, c1, #4 37183ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach 372d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: cdp p7, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xee] 373d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: cdp2 p7, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xfe] 374d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach 375d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach 376d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------ 377d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CLREX 378d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------ 379d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach clrex 380d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach 381d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: clrex @ encoding: [0x1f,0xf0,0x7f,0xf5] 382d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach 383d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach 384d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------ 385d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CLZ 386d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------ 387d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach clz r1, r2 388d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach clzeq r1, r2 389d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach 390d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: clz r1, r2 @ encoding: [0x12,0x1f,0x6f,0xe1] 391d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: clzeq r1, r2 @ encoding: [0x12,0x1f,0x6f,0x01] 39214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach 39314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------ 39414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CMN 39514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------ 39614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r1, #0xf 39714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r1, r6 39814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r1, r6, lsl #10 39914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r1, r6, lsr #10 40014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn sp, r6, lsr #10 40114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r1, r6, asr #10 40214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r1, r6, ror #10 40314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r7, r8, lsl r2 40414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn sp, r8, lsr r2 40514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r7, r8, asr r2 40614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r7, r8, ror r2 40714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmn r1, r6, rrx 40814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach 40914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3] 41014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r1, r6 @ encoding: [0x06,0x00,0x71,0xe1] 41114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r1, r6, lsl #10 @ encoding: [0x06,0x05,0x71,0xe1] 41214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r1, r6, lsr #10 @ encoding: [0x26,0x05,0x71,0xe1] 41314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn sp, r6, lsr #10 @ encoding: [0x26,0x05,0x7d,0xe1] 41414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r1, r6, asr #10 @ encoding: [0x46,0x05,0x71,0xe1] 41514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r1, r6, ror #10 @ encoding: [0x66,0x05,0x71,0xe1] 41614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r7, r8, lsl r2 @ encoding: [0x18,0x02,0x77,0xe1] 41714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn sp, r8, lsr r2 @ encoding: [0x38,0x02,0x7d,0xe1] 41814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r7, r8, asr r2 @ encoding: [0x58,0x02,0x77,0xe1] 41914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r7, r8, ror r2 @ encoding: [0x78,0x02,0x77,0xe1] 42014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn r1, r6, rrx @ encoding: [0x66,0x00,0x71,0xe1] 42114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach 42214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------ 42314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CMP 42414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------ 42514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r1, #0xf 42614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r1, r6 42714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r1, r6, lsl #10 42814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r1, r6, lsr #10 42914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp sp, r6, lsr #10 43014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r1, r6, asr #10 43114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r1, r6, ror #10 43214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r7, r8, lsl r2 43314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp sp, r8, lsr r2 43414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r7, r8, asr r2 43514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r7, r8, ror r2 43614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach cmp r1, r6, rrx 43714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach 43814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3] 43914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r1, r6 @ encoding: [0x06,0x00,0x51,0xe1] 44014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r1, r6, lsl #10 @ encoding: [0x06,0x05,0x51,0xe1] 44114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r1, r6, lsr #10 @ encoding: [0x26,0x05,0x51,0xe1] 44214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp sp, r6, lsr #10 @ encoding: [0x26,0x05,0x5d,0xe1] 44314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r1, r6, asr #10 @ encoding: [0x46,0x05,0x51,0xe1] 44414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r1, r6, ror #10 @ encoding: [0x66,0x05,0x51,0xe1] 44514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r7, r8, lsl r2 @ encoding: [0x18,0x02,0x57,0xe1] 44614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp sp, r8, lsr r2 @ encoding: [0x38,0x02,0x5d,0xe1] 44714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r7, r8, asr r2 @ encoding: [0x58,0x02,0x57,0xe1] 44814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r7, r8, ror r2 @ encoding: [0x78,0x02,0x57,0xe1] 44914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp r1, r6, rrx @ encoding: [0x66,0x00,0x51,0xe1] 45014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach 4516f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@------------------------------------------------------------------------------ 4526f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ DBG 4536f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@------------------------------------------------------------------------------ 4546f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach dbg #0 4556f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach dbg #5 4566f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach dbg #15 4576f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach 4586f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ CHECK: dbg #0 @ encoding: [0xf0,0xf0,0x20,0xe3] 4596f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ CHECK: dbg #5 @ encoding: [0xf5,0xf0,0x20,0xe3] 4606f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ CHECK: dbg #15 @ encoding: [0xff,0xf0,0x20,0xe3] 461032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach 462032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach 463032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@------------------------------------------------------------------------------ 464032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ DMB 465032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@------------------------------------------------------------------------------ 466032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb sy 467032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb st 468032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb sh 469032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb ish 470032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb shst 471032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb ishst 472032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb un 473032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb nsh 474032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb unst 475032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb nshst 476032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb osh 477032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb oshst 478032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach dmb 479032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach 480032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb sy @ encoding: [0x5f,0xf0,0x7f,0xf5] 481032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb st @ encoding: [0x5e,0xf0,0x7f,0xf5] 482032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb ish @ encoding: [0x5b,0xf0,0x7f,0xf5] 483032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb ish @ encoding: [0x5b,0xf0,0x7f,0xf5] 484032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb ishst @ encoding: [0x5a,0xf0,0x7f,0xf5] 485032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb ishst @ encoding: [0x5a,0xf0,0x7f,0xf5] 486032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb nsh @ encoding: [0x57,0xf0,0x7f,0xf5] 487032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb nsh @ encoding: [0x57,0xf0,0x7f,0xf5] 488032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb nshst @ encoding: [0x56,0xf0,0x7f,0xf5] 489032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb nshst @ encoding: [0x56,0xf0,0x7f,0xf5] 490032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb osh @ encoding: [0x53,0xf0,0x7f,0xf5] 491032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb oshst @ encoding: [0x52,0xf0,0x7f,0xf5] 492032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb sy @ encoding: [0x5f,0xf0,0x7f,0xf5] 493e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach 494e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@------------------------------------------------------------------------------ 495e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ DSB 496e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@------------------------------------------------------------------------------ 497e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb sy 498e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb st 499e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb sh 500e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb ish 501e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb shst 502e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb ishst 503e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb un 504e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb nsh 505e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb unst 506e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb nshst 507e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb osh 508e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb oshst 509e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach dsb 510e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach 511e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 512e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb st @ encoding: [0x4e,0xf0,0x7f,0xf5] 513e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb ish @ encoding: [0x4b,0xf0,0x7f,0xf5] 514e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb ish @ encoding: [0x4b,0xf0,0x7f,0xf5] 515e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb ishst @ encoding: [0x4a,0xf0,0x7f,0xf5] 516e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb ishst @ encoding: [0x4a,0xf0,0x7f,0xf5] 517e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 518e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 519e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb nshst @ encoding: [0x46,0xf0,0x7f,0xf5] 520e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb nshst @ encoding: [0x46,0xf0,0x7f,0xf5] 521e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb osh @ encoding: [0x43,0xf0,0x7f,0xf5] 522e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb oshst @ encoding: [0x42,0xf0,0x7f,0xf5] 523e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 52400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach 52500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@------------------------------------------------------------------------------ 52600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ EOR 52700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@------------------------------------------------------------------------------ 52800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, #0xf000 52900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, r6 53000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, r6, lsl #5 53100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, r6, lsr #5 53200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, r6, lsr #5 53300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, r6, asr #5 53400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, r6, ror #5 53500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, r8, lsl r9 53600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, r8, lsr r9 53700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, r8, asr r9 53800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, r8, ror r9 53900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, r6, rrx 54000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach 54100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach @ destination register is optional 54200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r5, #0xf000 54300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5 54400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, lsl #5 54500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, lsr #5 54600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, lsr #5 54700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, asr #5 54800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, ror #5 54900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, lsl r9 55000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, lsr r9 55100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, asr r9 55200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r6, r7, ror r9 55300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach eor r4, r5, rrx 55400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach 55500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2] 55600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, r6 @ encoding: [0x06,0x40,0x25,0xe0] 55700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x25,0xe0] 55800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x25,0xe0] 55900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x25,0xe0] 56000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x25,0xe0] 56100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x25,0xe0] 56200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x27,0xe0] 56300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x27,0xe0] 56400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x27,0xe0] 56500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x27,0xe0] 56600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r5, r6, rrx @ encoding: [0x66,0x40,0x25,0xe0] 56700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach 56800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach 56900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2] 57000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r4, r5 @ encoding: [0x05,0x40,0x24,0xe0] 57100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x24,0xe0] 57200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x24,0xe0] 57300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x24,0xe0] 57400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x24,0xe0] 57500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x24,0xe0] 57600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x26,0xe0] 57700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x26,0xe0] 57800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x26,0xe0] 57900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x26,0xe0] 58000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor r4, r4, r5, rrx @ encoding: [0x65,0x40,0x24,0xe0] 581791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach 582791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach 583791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@------------------------------------------------------------------------------ 584791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@ ISB 585791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@------------------------------------------------------------------------------ 586791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach isb sy 587791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach isb 588791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach 589791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@ CHECK: isb sy @ encoding: [0x6f,0xf0,0x7f,0xf5] 590791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@ CHECK: isb sy @ encoding: [0x6f,0xf0,0x7f,0xf5] 5913b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 5923b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 5933b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 5943b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------ 5953b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ LDM* 5963b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------ 5973b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldm r2, {r1,r3-r6,sp} 5983b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmia r2, {r1,r3-r6,sp} 5993b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmib r2, {r1,r3-r6,sp} 6003b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmda r2, {r1,r3-r6,sp} 6013b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmdb r2, {r1,r3-r6,sp} 6023b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmfd r2, {r1,r3-r6,sp} 6033b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 6043b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach @ with update 6053b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldm r2!, {r1,r3-r6,sp} 6063b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmib r2!, {r1,r3-r6,sp} 6073b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmda r2!, {r1,r3-r6,sp} 6083b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach ldmdb r2!, {r1,r3-r6,sp} 6093b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 6103b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 6113b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 6123b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe9] 6133b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe8] 6143b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe9] 6153b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 6163b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 6173b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe8] 6183b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe9] 6193b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe8] 6203b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe9] 6213b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 622e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 623e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ FIXME: LDR* 624e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 625e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 626e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ FIXME: LSL 627e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 628e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 629e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ FIXME: LSR 630e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 631e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach 632e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 633e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ MCR/MCR2 634e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------ 635e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach mcr p7, #1, r5, c1, c1, #4 636e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach mcr2 p7, #1, r5, c1, c1, #4 637e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach 638e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ CHECK: mcr p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee] 639e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ CHECK: mcr2 p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe] 6403b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 6413b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------ 642c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@ MCRR/MCRR2 643c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@------------------------------------------------------------------------------ 644c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach mcrr p7, #15, r5, r4, c1 645c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach mcrr2 p7, #15, r5, r4, c1 646c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach 647c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@ CHECK: mcrr p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec] 648c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@ CHECK: mcrr2 p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc] 649c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach 65070d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach 65170d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------ 65270d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ MLA 65370d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------ 65470d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach mla r1,r2,r3,r4 65570d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach mlas r1,r2,r3,r4 65670d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach mlane r1,r2,r3,r4 65770d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach mlasne r1,r2,r3,r4 65870d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach 65970d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mla r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0xe0] 66070d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlas r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0xe0] 66170d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlane r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0x10] 66270d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlasne r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0x10] 66370d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach 66470d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------ 66570d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ MLS 66670d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------ 66770d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach mls r2,r5,r6,r3 66870d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach mlsne r2,r5,r6,r3 66970d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach 67070d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mls r2, r5, r6, r3 @ encoding: [0x95,0x36,0x62,0xe0] 67170d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlsne r2, r5, r6, r3 @ encoding: [0x95,0x36,0x62,0x10] 67270d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach 673c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@------------------------------------------------------------------------------ 674ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ MOV (immediate) 675ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@------------------------------------------------------------------------------ 676ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach mov r3, #7 677ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach mov r4, #0xff0 678ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach mov r5, #0xff0000 679ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach mov r6, #0xffff 680ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach movw r9, #0xffff 6815f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach movs r3, #7 6825f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach moveq r4, #0xff0 6835f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach movseq r5, #0xff0000 684ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach 685ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: mov r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3] 686ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: mov r4, #4080 @ encoding: [0xff,0x4e,0xa0,0xe3] 687ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: mov r5, #16711680 @ encoding: [0xff,0x58,0xa0,0xe3] 688ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: movw r6, #65535 @ encoding: [0xff,0x6f,0x0f,0xe3] 689ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: movw r9, #65535 @ encoding: [0xff,0x9f,0x0f,0xe3] 6905f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movs r3, #7 @ encoding: [0x07,0x30,0xb0,0xe3] 6915f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: moveq r4, #4080 @ encoding: [0xff,0x4e,0xa0,0x03] 6925f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movseq r5, #16711680 @ encoding: [0xff,0x58,0xb0,0x03] 6935f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach 6945f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@------------------------------------------------------------------------------ 6955f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ MOV (register) 6965f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@------------------------------------------------------------------------------ 6975f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach mov r2, r3 6985f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach movs r2, r3 6995f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach moveq r2, r3 7005f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach movseq r2, r3 7015f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach 7025f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: mov r2, r3 @ encoding: [0x03,0x20,0xa0,0xe1] 7035f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movs r2, r3 @ encoding: [0x03,0x20,0xb0,0xe1] 7045f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: moveq r2, r3 @ encoding: [0x03,0x20,0xa0,0x01] 7055f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movseq r2, r3 @ encoding: [0x03,0x20,0xb0,0x01] 706ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach 707ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@------------------------------------------------------------------------------ 7081a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ MOVT 7091a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@------------------------------------------------------------------------------ 7101a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach movt r3, #7 7111a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach movt r6, #0xffff 7121a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach movteq r4, #0xff0 7131a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach 7141a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ CHECK: movt r3, #7 @ encoding: [0x07,0x30,0x40,0xe3] 7151a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ CHECK: movt r6, #65535 @ encoding: [0xff,0x6f,0x4f,0xe3] 7161a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ CHECK: movteq r4, #4080 @ encoding: [0xf0,0x4f,0x40,0x03] 7171a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach 7182317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach 7192317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------ 7202317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ MRC/MRC2 7212317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------ 7222317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach mrc p14, #0, r1, c1, c2, #4 7232317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach mrc2 p14, #0, r1, c1, c2, #4 7242317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach 7252317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrc p14, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xee] 7262317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrc2 p14, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xfe] 7272317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach 7282317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------ 7292317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ MRRC/MRRC2 7302317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------ 7312317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach mrrc p7, #1, r5, r4, c1 7322317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach mrrc2 p7, #1, r5, r4, c1 7332317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach 7342317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrrc p7, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec] 7352317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrrc2 p7, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc] 7362317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach 73780d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach 73880d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@------------------------------------------------------------------------------ 73980d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ MRS 74080d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@------------------------------------------------------------------------------ 74180d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach mrs r8, apsr 74280d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach mrs r8, cpsr 74380d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach mrs r8, spsr 74480d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ CHECK: mrs r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1] 74580d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ CHECK: mrs r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1] 74680d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ CHECK: mrs r8, spsr @ encoding: [0x00,0x80,0x4f,0xe1] 74780d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach 74880d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach 74980d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach 7501a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@------------------------------------------------------------------------------ 751b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ MSR 752b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@------------------------------------------------------------------------------ 753b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach 754b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr, #5 755b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr_g, #5 756b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr_nzcvq, #5 757b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr APSR_nzcvq, #5 758b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr_nzcvqg, #5 759b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fc, #5 760b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_c, #5 761b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_x, #5 762b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fc, #5 763b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_all, #5 764b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fsx, #5 765b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr spsr_fc, #5 766b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr SPSR_fsxc, #5 767b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fsxc, #5 768b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach 769b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 770b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_g, #5 @ encoding: [0x05,0xf0,0x24,0xe3] 771b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 772b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 773b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_nzcvqg, #5 @ encoding: [0x05,0xf0,0x2c,0xe3] 774b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 775b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_c, #5 @ encoding: [0x05,0xf0,0x21,0xe3] 776b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_x, #5 @ encoding: [0x05,0xf0,0x22,0xe3] 777b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 778b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 779b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fsx, #5 @ encoding: [0x05,0xf0,0x2e,0xe3] 780b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr SPSR_fc, #5 @ encoding: [0x05,0xf0,0x69,0xe3] 781b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr SPSR_fsxc, #5 @ encoding: [0x05,0xf0,0x6f,0xe3] 782b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fsxc, #5 @ encoding: [0x05,0xf0,0x2f,0xe3] 783b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach 784b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr, r0 785b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr_g, r0 786b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr_nzcvq, r0 787b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr APSR_nzcvq, r0 788b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr apsr_nzcvqg, r0 789b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fc, r0 790b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_c, r0 791b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_x, r0 792b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fc, r0 793b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_all, r0 794b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fsx, r0 795b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr spsr_fc, r0 796b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr SPSR_fsxc, r0 797b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach msr cpsr_fsxc, r0 798b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach 799b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 800b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_g, r0 @ encoding: [0x00,0xf0,0x24,0xe1] 801b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 802b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 803b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr APSR_nzcvqg, r0 @ encoding: [0x00,0xf0,0x2c,0xe1] 804b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 805b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_c, r0 @ encoding: [0x00,0xf0,0x21,0xe1] 806b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_x, r0 @ encoding: [0x00,0xf0,0x22,0xe1] 807b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 808b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 809b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fsx, r0 @ encoding: [0x00,0xf0,0x2e,0xe1] 810b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr SPSR_fc, r0 @ encoding: [0x00,0xf0,0x69,0xe1] 811b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr SPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x6f,0xe1] 812b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr CPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x2f,0xe1] 813b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach 814b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@------------------------------------------------------------------------------ 815ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ MUL 816ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@------------------------------------------------------------------------------ 817ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach 818ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach mul r5, r6, r7 819ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach muls r5, r6, r7 820ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach mulgt r5, r6, r7 821ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach mulsle r5, r6, r7 822ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach 823ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: mul r5, r6, r7 @ encoding: [0x96,0x07,0x05,0xe0] 824ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: muls r5, r6, r7 @ encoding: [0x96,0x07,0x15,0xe0] 825ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: mulgt r5, r6, r7 @ encoding: [0x96,0x07,0x05,0xc0] 826ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: mulsle r5, r6, r7 @ encoding: [0x96,0x07,0x15,0xd0] 827ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach 828c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 829c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------ 830c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ MVN (immediate) 831c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------ 832c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r3, #7 833c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r4, #0xff0 834c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r5, #0xff0000 835c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvns r3, #7 836c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvneq r4, #0xff0 837c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvnseq r5, #0xff0000 838c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 839c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3] 840c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r4, #4080 @ encoding: [0xff,0x4e,0xe0,0xe3] 841c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r5, #16711680 @ encoding: [0xff,0x58,0xe0,0xe3] 842c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvns r3, #7 @ encoding: [0x07,0x30,0xf0,0xe3] 843c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvneq r4, #4080 @ encoding: [0xff,0x4e,0xe0,0x03] 844c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvnseq r5, #16711680 @ encoding: [0xff,0x58,0xf0,0x03] 845c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 846c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 847c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------ 848c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ MVN (register) 849c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------ 850c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r2, r3 851c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvns r2, r3 852c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r5, r6, lsl #19 853c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r5, r6, lsr #9 854c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r5, r6, asr #4 855c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r5, r6, ror #6 856c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r5, r6, rrx 857c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvneq r2, r3 858c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvnseq r2, r3, lsl #10 859c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 860c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r2, r3 @ encoding: [0x03,0x20,0xe0,0xe1] 861c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvns r2, r3 @ encoding: [0x03,0x20,0xf0,0xe1] 862c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r5, r6, lsl #19 @ encoding: [0x86,0x59,0xe0,0xe1] 863c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r5, r6, lsr #9 @ encoding: [0xa6,0x54,0xe0,0xe1] 864c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r5, r6, asr #4 @ encoding: [0x46,0x52,0xe0,0xe1] 865c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r5, r6, ror #6 @ encoding: [0x66,0x53,0xe0,0xe1] 866c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r5, r6, rrx @ encoding: [0x66,0x50,0xe0,0xe1] 867c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvneq r2, r3 @ encoding: [0x03,0x20,0xe0,0x01] 868c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvnseq r2, r3, lsl #10 @ encoding: [0x03,0x25,0xf0,0x01] 869c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 870c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 871c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------ 872c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ MVN (shifted register) 873c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------ 874c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvn r5, r6, lsl r7 875c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvns r5, r6, lsr r7 876c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvngt r5, r6, asr r7 877c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach mvnslt r5, r6, ror r7 878c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 879c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn r5, r6, lsl r7 @ encoding: [0x16,0x57,0xe0,0xe1] 880c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvns r5, r6, lsr r7 @ encoding: [0x36,0x57,0xf0,0xe1] 881c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvngt r5, r6, asr r7 @ encoding: [0x56,0x57,0xe0,0xc1] 882c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvnslt r5, r6, ror r7 @ encoding: [0x76,0x57,0xf0,0xb1] 883c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 884a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@------------------------------------------------------------------------------ 885a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@ NOP 886a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@------------------------------------------------------------------------------ 887a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach nop 888a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach nopgt 889a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach 890a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3] 891a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@ CHECK: nopgt @ encoding: [0x00,0xf0,0x20,0xc3] 892a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach 893c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach 894ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@------------------------------------------------------------------------------ 89588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ ORR 89688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@------------------------------------------------------------------------------ 89788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, #0xf000 89888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, r6 89988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, r6, lsl #5 90088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, r6, lsr #5 90188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, r6, lsr #5 90288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, r6, asr #5 90388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, r6, ror #5 90488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, r8, lsl r9 90588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, r8, lsr r9 90688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, r8, asr r9 90788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, r8, ror r9 90888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, r6, rrx 90988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach 91088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach @ destination register is optional 91188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r5, #0xf000 91288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5 91388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, lsl #5 91488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, lsr #5 91588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, lsr #5 91688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, asr #5 91788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, ror #5 91888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, lsl r9 91988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, lsr r9 92088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, asr r9 92188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r6, r7, ror r9 92288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orr r4, r5, rrx 92388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach 92488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3] 92588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, r6 @ encoding: [0x06,0x40,0x85,0xe1] 92688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x85,0xe1] 92788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe1] 92888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe1] 92988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x85,0xe1] 93088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x85,0xe1] 93188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x87,0xe1] 93288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x87,0xe1] 93388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x87,0xe1] 93488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0xe1] 93588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r5, r6, rrx @ encoding: [0x66,0x40,0x85,0xe1] 93688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach 93788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3] 93888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r4, r5 @ encoding: [0x05,0x40,0x84,0xe1] 93988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x84,0xe1] 94088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe1] 94188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe1] 94288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x84,0xe1] 94388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x84,0xe1] 94488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x86,0xe1] 94588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x86,0xe1] 94688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0xe1] 94788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x86,0xe1] 94888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr r4, r4, r5, rrx @ encoding: [0x65,0x40,0x84,0xe1] 94988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach 95088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrseq r4, r5, #0xf000 95188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrne r4, r5, r6 95288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrseq r4, r5, r6, lsl #5 95388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrlo r6, r7, r8, ror r9 95488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrshi r4, r5, r6, rrx 95588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrcs r5, #0xf000 95688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrseq r4, r5 95788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrne r6, r7, asr r9 95888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrslt r6, r7, ror r9 95988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach orrsgt r4, r5, rrx 96088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach 96188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrseq r4, r5, #61440 @ encoding: [0x0f,0x4a,0x95,0x03] 96288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrne r4, r5, r6 @ encoding: [0x06,0x40,0x85,0x11] 96388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrseq r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x95,0x01] 96488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrlo r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0x31] 96588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrshi r4, r5, r6, rrx @ encoding: [0x66,0x40,0x95,0x81] 96688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrhs r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0x23] 96788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrseq r4, r4, r5 @ encoding: [0x05,0x40,0x94,0x01] 96888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrne r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0x11] 96988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrslt r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x96,0xb1] 97088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrsgt r4, r4, r5, rrx @ encoding: [0x65,0x40,0x94,0xc1] 97188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach 97261b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@------------------------------------------------------------------------------ 97361b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ PKH 97461b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@------------------------------------------------------------------------------ 97561b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach pkhbt r2, r2, r3 97661b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach pkhbt r2, r2, r3, lsl #31 97761b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach pkhbt r2, r2, r3, lsl #0 97861b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach pkhbt r2, r2, r3, lsl #15 97961b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach 98061b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach pkhtb r2, r2, r3 98161b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach pkhtb r2, r2, r3, asr #31 98261b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach pkhtb r2, r2, r3, asr #15 98361b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach 98461b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 98561b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt r2, r2, r3, lsl #31 @ encoding: [0x93,0x2f,0x82,0xe6] 98661b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 98761b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt r2, r2, r3, lsl #15 @ encoding: [0x93,0x27,0x82,0xe6] 98861b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach 98961b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 99061b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhtb r2, r2, r3, asr #31 @ encoding: [0xd3,0x2f,0x82,0xe6] 99161b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhtb r2, r2, r3, asr #15 @ encoding: [0xd3,0x27,0x82,0xe6] 99261b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach 99310c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 99410c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: PLD 99510c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 99610c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 99710c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: PLI 99810c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 99910c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach 100010c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach 100110c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 100210c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ POP 100310c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 100410c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach pop {r7} 100510c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach pop {r7, r8, r9, r10} 100610c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach 100710c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: pop of a single register should encode as "ldr r7, [sp], #4" 100810c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK-FIXME: pop {r7} @ encoding: [0x04,0x70,0x9d,0xe4] 100910c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK: pop {r7, r8, r9, r10} @ encoding: [0x80,0x07,0xbd,0xe8] 101010c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach 101110c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach 101210c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 101310c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ PUSH 101410c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------ 101510c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach push {r7} 101610c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach push {r7, r8, r9, r10} 101710c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach 101810c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: push of a single register should encode as "str r7, [sp, #-4]!" 101910c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK-FIXME: push {r7} @ encoding: [0x04,0x70,0x2d,0xe5] 102010c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK: push {r7, r8, r9, r10} @ encoding: [0x80,0x07,0x2d,0xe9] 102110c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach 102288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach 102388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@------------------------------------------------------------------------------ 1024a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QADD/QADD16/QADD8 1025a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1026a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qadd r1, r2, r3 1027a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qaddne r1, r2, r3 1028a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qadd16 r1, r2, r3 1029a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qadd16gt r1, r2, r3 1030a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qadd8 r1, r2, r3 1031a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qadd8le r1, r2, r3 1032a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1033a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd r1, r2, r3 @ encoding: [0x52,0x10,0x03,0xe1] 1034a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qaddne r1, r2, r3 @ encoding: [0x52,0x10,0x03,0x11] 1035a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x22,0xe6] 1036a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x22,0xc6] 1037a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x22,0xe6] 1038a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x22,0xd6] 1039a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1040a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1041a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1042a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QDADD/QDSUB 1043a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1044a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qdadd r6, r7, r8 1045a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qdaddhi r6, r7, r8 1046a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qdsub r6, r7, r8 1047a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qdsubhi r6, r7, r8 1048a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1049a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdadd r6, r7, r8 @ encoding: [0x57,0x60,0x48,0xe1] 1050a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdaddhi r6, r7, r8 @ encoding: [0x57,0x60,0x48,0x81] 1051a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdsub r6, r7, r8 @ encoding: [0x57,0x60,0x68,0xe1] 1052a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdsubhi r6, r7, r8 @ encoding: [0x57,0x60,0x68,0x81] 1053a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1054a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1055a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1056a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QSAX 1057a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1058a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsax r9, r12, r0 1059a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsaxeq r9, r12, r0 1060a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1061a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsax r9, r12, r0 @ encoding: [0x50,0x9f,0x2c,0xe6] 1062a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsaxeq r9, r12, r0 @ encoding: [0x50,0x9f,0x2c,0x06] 1063a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1064a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1065a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1066a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QADD/QADD16/QADD8 1067a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1068a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsub r1, r2, r3 1069a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsubne r1, r2, r3 1070a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsub16 r1, r2, r3 1071a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsub16gt r1, r2, r3 1072a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsub8 r1, r2, r3 1073a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach qsub8le r1, r2, r3 1074a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1075a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub r1, r2, r3 @ encoding: [0x52,0x10,0x23,0xe1] 1076a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsubne r1, r2, r3 @ encoding: [0x52,0x10,0x23,0x11] 1077a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub16 r1, r2, r3 @ encoding: [0x73,0x1f,0x22,0xe6] 1078a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub16gt r1, r2, r3 @ encoding: [0x73,0x1f,0x22,0xc6] 1079a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub8 r1, r2, r3 @ encoding: [0xf3,0x1f,0x22,0xe6] 1080a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub8le r1, r2, r3 @ encoding: [0xf3,0x1f,0x22,0xd6] 1081a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1082a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach 1083a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------ 1084616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ RBIT 1085616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------ 1086616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach rbit r1, r2 1087616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach rbitne r1, r2 1088616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach 1089616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rbit r1, r2 @ encoding: [0x32,0x1f,0xff,0xe6] 1090616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rbitne r1, r2 @ encoding: [0x32,0x1f,0xff,0x16] 1091616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach 1092616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach 1093616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------ 1094616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ REV/REV16/REVSH 1095616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------ 1096616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach rev r1, r9 1097616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach revne r1, r5 1098616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach rev16 r8, r3 1099616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach rev16ne r12, r4 1100616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach revsh r4, r9 1101616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach revshne r9, r1 1102616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach 1103616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rev r1, r9 @ encoding: [0x39,0x1f,0xbf,0xe6] 1104616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: revne r1, r5 @ encoding: [0x35,0x1f,0xbf,0x16] 1105616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rev16 r8, r3 @ encoding: [0xb3,0x8f,0xbf,0xe6] 1106616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rev16ne r12, r4 @ encoding: [0xb4,0xcf,0xbf,0x16] 1107616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: revsh r4, r9 @ encoding: [0xb9,0x4f,0xff,0xe6] 1108616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: revshne r9, r1 @ encoding: [0xb1,0x9f,0xff,0x16] 1109616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach 1110616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach 1111616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------ 111286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ RSB 111386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@------------------------------------------------------------------------------ 111486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, #0xf000 111586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, r6 111686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, r6, lsl #5 111786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsblo r4, r5, r6, lsr #5 111886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, r6, lsr #5 111986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, r6, asr #5 112086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, r6, ror #5 112186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r6, r7, r8, lsl r9 112286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r6, r7, r8, lsr r9 112386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r6, r7, r8, asr r9 112486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsble r6, r7, r8, ror r9 112586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, r6, rrx 112686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach 112786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach @ destination register is optional 112886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r5, #0xf000 112986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5 113086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, lsl #5 113186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, lsr #5 113286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsbne r4, r5, lsr #5 113386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, asr #5 113486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, ror #5 113586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsbgt r6, r7, lsl r9 113686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r6, r7, lsr r9 113786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r6, r7, asr r9 113886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r6, r7, ror r9 113986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach rsb r4, r5, rrx 114086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach 114186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2] 114286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r5, r6 @ encoding: [0x06,0x40,0x65,0xe0] 114386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x65,0xe0] 114486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsblo r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x65,0x30] 114586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x65,0xe0] 114686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x65,0xe0] 114786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x65,0xe0] 114886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x67,0xe0] 114986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x67,0xe0] 115086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x67,0xe0] 115186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsble r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x67,0xd0] 115286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r5, r6, rrx @ encoding: [0x66,0x40,0x65,0xe0] 115386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach 115486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2] 115586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r4, r5 @ encoding: [0x05,0x40,0x64,0xe0] 115686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x64,0xe0] 115786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x64,0xe0] 115886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsbne r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x64,0x10] 115986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x64,0xe0] 116086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x64,0xe0] 116186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsbgt r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x66,0xc0] 116286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x66,0xe0] 116386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x66,0xe0] 116486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x66,0xe0] 116586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb r4, r4, r5, rrx @ encoding: [0x65,0x40,0x64,0xe0] 116686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach 1167f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@------------------------------------------------------------------------------ 1168f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ RSC 1169f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@------------------------------------------------------------------------------ 1170f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, #0xf000 1171f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, r6 1172f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, r6, lsl #5 1173f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsclo r4, r5, r6, lsr #5 1174f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, r6, lsr #5 1175f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, r6, asr #5 1176f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, r6, ror #5 1177f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r6, r7, r8, lsl r9 1178f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r6, r7, r8, lsr r9 1179f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r6, r7, r8, asr r9 1180f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rscle r6, r7, r8, ror r9 1181f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach 1182f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach @ destination register is optional 1183f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r5, #0xf000 1184f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5 1185f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, lsl #5 1186f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, lsr #5 1187f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rscne r4, r5, lsr #5 1188f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, asr #5 1189f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r4, r5, ror #5 1190f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rscgt r6, r7, lsl r9 1191f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r6, r7, lsr r9 1192f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r6, r7, asr r9 1193f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach rsc r6, r7, ror r9 1194f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach 1195f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2] 1196f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r5, r6 @ encoding: [0x06,0x40,0xe5,0xe0] 1197f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0xe5,0xe0] 1198f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsclo r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xe5,0x30] 1199f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xe5,0xe0] 1200f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0xe5,0xe0] 1201f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0xe5,0xe0] 1202f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xe7,0xe0] 1203f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xe7,0xe0] 1204f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xe7,0xe0] 1205f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rscle r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xe7,0xd0] 1206f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach 1207f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2] 1208f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r4, r5 @ encoding: [0x05,0x40,0xe4,0xe0] 1209f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0xe4,0xe0] 1210f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xe4,0xe0] 1211f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rscne r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xe4,0x10] 1212f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0xe4,0xe0] 1213f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0xe4,0xe0] 1214f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rscgt r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xe6,0xc0] 1215f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xe6,0xe0] 1216f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xe6,0xe0] 1217f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xe6,0xe0] 1218f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach 12198ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------ 12208ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ SADD16/SADD8 12218ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------ 12228ae45af7941dc3e78859ba3624676081590c435dJim Grosbach sadd16 r1, r2, r3 12238ae45af7941dc3e78859ba3624676081590c435dJim Grosbach sadd16gt r1, r2, r3 12248ae45af7941dc3e78859ba3624676081590c435dJim Grosbach sadd8 r1, r2, r3 12258ae45af7941dc3e78859ba3624676081590c435dJim Grosbach sadd8le r1, r2, r3 12268ae45af7941dc3e78859ba3624676081590c435dJim Grosbach 12278ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x12,0xe6] 12288ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x12,0xc6] 12298ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x12,0xe6] 12308ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x12,0xd6] 12318ae45af7941dc3e78859ba3624676081590c435dJim Grosbach 12328ae45af7941dc3e78859ba3624676081590c435dJim Grosbach 12338ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------ 12348ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ SASX 12358ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------ 12368ae45af7941dc3e78859ba3624676081590c435dJim Grosbach sasx r9, r12, r0 12378ae45af7941dc3e78859ba3624676081590c435dJim Grosbach sasxeq r9, r12, r0 12388ae45af7941dc3e78859ba3624676081590c435dJim Grosbach 12398ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sasx r9, r12, r0 @ encoding: [0x30,0x9f,0x1c,0xe6] 12408ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sasxeq r9, r12, r0 @ encoding: [0x30,0x9f,0x1c,0x06] 12418ae45af7941dc3e78859ba3624676081590c435dJim Grosbach 124286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach 124386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@------------------------------------------------------------------------------ 12448409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ SBC 12458409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@------------------------------------------------------------------------------ 12468409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, #0xf000 12478409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, r6 12488409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, r6, lsl #5 12498409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, r6, lsr #5 12508409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, r6, lsr #5 12518409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, r6, asr #5 12528409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, r6, ror #5 12538409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, r8, lsl r9 12548409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, r8, lsr r9 12558409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, r8, asr r9 12568409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, r8, ror r9 12578409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach 12588409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach @ destination register is optional 12598409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r5, #0xf000 12608409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5 12618409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, lsl #5 12628409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, lsr #5 12638409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, lsr #5 12648409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, asr #5 12658409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r4, r5, ror #5 12668409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, lsl r9 12678409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, lsr r9 12688409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, asr r9 12698409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach sbc r6, r7, ror r9 12708409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach 12718409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2] 12728409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r5, r6 @ encoding: [0x06,0x40,0xc5,0xe0] 12738409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0xc5,0xe0] 12748409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xc5,0xe0] 12758409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xc5,0xe0] 12768409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0xc5,0xe0] 12778409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0xc5,0xe0] 12788409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xc7,0xe0] 12798409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xc7,0xe0] 12808409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xc7,0xe0] 12818409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xc7,0xe0] 12828409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach 12838409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2] 12848409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r4, r5 @ encoding: [0x05,0x40,0xc4,0xe0] 12858409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0xc4,0xe0] 12868409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xc4,0xe0] 12878409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xc4,0xe0] 12888409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0xc4,0xe0] 12898409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0xc4,0xe0] 12908409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xc6,0xe0] 12918409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xc6,0xe0] 12928409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xc6,0xe0] 12938409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xc6,0xe0] 12948409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach 12958409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach 12968409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@------------------------------------------------------------------------------ 12973b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ STM* 12983b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------ 12993b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stm r2, {r1,r3-r6,sp} 13003b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmia r2, {r1,r3-r6,sp} 13013b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmib r2, {r1,r3-r6,sp} 13023b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmda r2, {r1,r3-r6,sp} 13033b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmdb r2, {r1,r3-r6,sp} 13043b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmfd r2, {r1,r3-r6,sp} 13053b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 13063b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach @ with update 13073b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmia r2!, {r1,r3-r6,sp} 13083b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmib r2!, {r1,r3-r6,sp} 13093b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmda r2!, {r1,r3-r6,sp} 13103b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach stmdb r2!, {r1,r3-r6,sp} 13113b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8] 13123b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8] 13133b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe9] 13143b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x02,0xe8] 13153b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x02,0xe9] 13163b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x02,0xe9] 13173b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach 13183b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stm r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa2,0xe8] 13193b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa2,0xe9] 13203b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x22,0xe8] 13213b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: stmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x22,0xe9] 1322