basic-arm-instructions.s revision 9c6712721c114f8e67b9a6b3cb1dd5d18b4cb435
13839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ RUN: llvm-mc -triple=armv7-apple-darwin -show-encoding < %s | FileCheck %s 250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o .syntax unified 350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o .globl _func 43839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ Check that the assembler can handle the documented syntax from the ARM ARM. 621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ For complex constructs like shifter operands, check more thoroughly for them 721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ once then spot check that following instructions accept the form generally. 821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ This gives us good coverage while keeping the overall size of the test 921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ more reasonable. 1021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 113839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o_func: 1221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: _func 1321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 143839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 153839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ ADC (immediate) 163839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 1774becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o adc r1, r2, #0xf 1874becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o adc r1, r2, #0xf0 1974becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o adc r1, r2, #0xf00 2050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r1, r2, #0xf000 2150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r1, r2, #0xf0000 223839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r1, r2, #0xf00000 233839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r1, r2, #0xf000000 243839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r1, r2, #0xf0000000 253839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r1, r2, #0xf000000f 263839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adcs r1, r2, #0xf00 273839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adcseq r1, r2, #0xf00 283839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adceq r1, r2, #0xf00 293839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 303839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2] 313839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r1, r2, #240 @ encoding: [0xf0,0x10,0xa2,0xe2] 323839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0xe2] 33f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adc r1, r2, #61440 @ encoding: [0x0f,0x1a,0xa2,0xe2] 34f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adc r1, r2, #983040 @ encoding: [0x0f,0x18,0xa2,0xe2] 351e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: adc r1, r2, #15728640 @ encoding: [0x0f,0x16,0xa2,0xe2] 361e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: adc r1, r2, #251658240 @ encoding: [0x0f,0x14,0xa2,0xe2] 37f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adc r1, r2, #4026531840 @ encoding: [0x0f,0x12,0xa2,0xe2] 3828ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: adc r1, r2, #4026531855 @ encoding: [0xff,0x12,0xa2,0xe2] 3928ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o 40f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adcs r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0xe2] 41f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adcseq r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0x02] 42f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adceq r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0x02] 4328ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o 4428ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@------------------------------------------------------------------------------ 45f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ ADC (register) 46f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ ADC (shifted register) 473839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 4850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6 4950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o @ Constant shifts 5050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, lsl #1 5150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, lsl #31 5250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, lsr #1 5350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, lsr #31 5450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, lsr #32 5550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, asr #1 5650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, asr #31 5750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, asr #32 5850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, ror #1 5950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, r6, ror #31 6050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 6150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o @ Register shifts 6221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r6, r7, r8, lsl r9 6350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r6, r7, r8, lsr r9 6421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r6, r7, r8, asr r9 6521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r6, r7, r8, ror r9 6621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, r6, rrx 6721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 6821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o @ Destination register is optional 6921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r5, r6 7021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, lsl #1 7121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, lsl #31 7221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, lsr #1 7321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, lsr #31 7421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, lsr #32 7521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, asr #1 7621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, asr #31 7721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o adc r4, r5, asr #32 78fff876b7c7716d5eef713101e47bff15edb9d9a9Theodore Ts'o adc r4, r5, ror #1 7950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, ror #31 803839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r4, r5, rrx 813839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r6, r7, lsl r9 823839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r6, r7, lsr r9 833839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adc r6, r7, asr r9 8450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r6, r7, ror r9 8550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o adc r4, r5, rrx 863839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 8750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: adc r4, r5, r6 @ encoding: [0x06,0x40,0xa5,0xe0] 885953b9de9ce59661640f851b217421d734bb0302Theodore Ts'o 895953b9de9ce59661640f851b217421d734bb0302Theodore Ts'o@ CHECK: adc r4, r5, r6, lsl #1 @ encoding: [0x86,0x40,0xa5,0xe0] 905953b9de9ce59661640f851b217421d734bb0302Theodore Ts'o@ CHECK: adc r4, r5, r6, lsl #31 @ encoding: [0x86,0x4f,0xa5,0xe0] 9150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: adc r4, r5, r6, lsr #1 @ encoding: [0xa6,0x40,0xa5,0xe0] 9250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: adc r4, r5, r6, lsr #31 @ encoding: [0xa6,0x4f,0xa5,0xe0] 9350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: adc r4, r5, r6, lsr #32 @ encoding: [0x26,0x40,0xa5,0xe0] 9450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: adc r4, r5, r6, asr #1 @ encoding: [0xc6,0x40,0xa5,0xe0] 9550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: adc r4, r5, r6, asr #31 @ encoding: [0xc6,0x4f,0xa5,0xe0] 9650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: adc r4, r5, r6, asr #32 @ encoding: [0x46,0x40,0xa5,0xe0] 973839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r5, r6, ror #1 @ encoding: [0xe6,0x40,0xa5,0xe0] 983839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r5, r6, ror #31 @ encoding: [0xe6,0x4f,0xa5,0xe0] 993839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 1003839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xa7,0xe0] 10176f875daa1c9c2cdc72f0c6f0f7be4bbc7f0fc07Theodore Ts'o@ CHECK: adc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xa7,0xe0] 1023839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xa7,0xe0] 10376f875daa1c9c2cdc72f0c6f0f7be4bbc7f0fc07Theodore Ts'o@ CHECK: adc r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xa7,0xe0] 10476f875daa1c9c2cdc72f0c6f0f7be4bbc7f0fc07Theodore Ts'o@ CHECK: adc r4, r5, r6, rrx @ encoding: [0x66,0x40,0xa5,0xe0] 10576f875daa1c9c2cdc72f0c6f0f7be4bbc7f0fc07Theodore Ts'o 1063839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r5, r5, r6 @ encoding: [0x06,0x50,0xa5,0xe0] 1073839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r4, r5, lsl #1 @ encoding: [0x85,0x40,0xa4,0xe0] 1085953b9de9ce59661640f851b217421d734bb0302Theodore Ts'o@ CHECK: adc r4, r4, r5, lsl #31 @ encoding: [0x85,0x4f,0xa4,0xe0] 1095953b9de9ce59661640f851b217421d734bb0302Theodore Ts'o@ CHECK: adc r4, r4, r5, lsr #1 @ encoding: [0xa5,0x40,0xa4,0xe0] 110f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adc r4, r4, r5, lsr #31 @ encoding: [0xa5,0x4f,0xa4,0xe0] 111f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adc r4, r4, r5, lsr #32 @ encoding: [0x25,0x40,0xa4,0xe0] 112f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: adc r4, r4, r5, asr #1 @ encoding: [0xc5,0x40,0xa4,0xe0] 1133839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r4, r5, asr #31 @ encoding: [0xc5,0x4f,0xa4,0xe0] 1143839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r4, r5, asr #32 @ encoding: [0x45,0x40,0xa4,0xe0] 1153839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r4, r5, ror #1 @ encoding: [0xe5,0x40,0xa4,0xe0] 1163839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r4, r5, ror #31 @ encoding: [0xe5,0x4f,0xa4,0xe0] 1173839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r4, r5, rrx @ encoding: [0x65,0x40,0xa4,0xe0] 1183839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xa6,0xe0] 1193839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xa6,0xe0] 1203839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xa6,0xe0] 1213839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xa6,0xe0] 1223839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adc r4, r4, r5, rrx @ encoding: [0x65,0x40,0xa4,0xe0] 1233839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 1243839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 12574becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@------------------------------------------------------------------------------ 12674becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@ ADR 1273839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 12874becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'oLback: 1293839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adr r2, Lback 1303839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adr r3, Lforward 1313839e65723771b85975f4263102dd3ceec4523cTheodore Ts'oLforward: 1323839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o adr r2, #3 13374becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o adr r2, #-3 1343839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 1353839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: Lback: 1363839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adr r2, Lback @ encoding: [0bAAAAAAA0,0x20'A',0x0f'A',0b1110001A] 1373839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: @ fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12 13874becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@ CHECK: adr r3, Lforward @ encoding: [0bAAAAAAA0,0x30'A',0x0f'A',0b1110001A] 1393839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: @ fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12 1403839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: Lforward: 1413839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adr r2, #3 @ encoding: [0x03,0x20,0x8f,0xe2] 1423839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: adr r2, #-3 @ encoding: [0x03,0x20,0x4f,0xe2] 14374becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o 1443839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 1453839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 1463839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ ADD 1473839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 14874becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o add r4, r5, #0xf000 1493839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r4, r5, r6 1503839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r4, r5, r6, lsl #5 1513839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r4, r5, r6, lsr #5 1523839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r4, r5, r6, lsr #5 1533839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r4, r5, r6, asr #5 15474becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o add r4, r5, r6, ror #5 1553839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r6, r7, r8, lsl r9 1563839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r6, r7, r8, lsr r9 1573839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r6, r7, r8, asr r9 15874becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o add r6, r7, r8, ror r9 1593839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o add r4, r5, r6, rrx 1603839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 1613839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o @ destination register is optional 162f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r5, #0xf000 163f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r4, r5 164f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r4, r5, lsl #5 165f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r4, r5, lsr #5 16674becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o add r4, r5, lsr #5 167f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r4, r5, asr #5 168f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r4, r5, ror #5 169f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r6, r7, lsl r9 170f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r6, r7, lsr r9 1717f88b04341d88c5df0360d930832c38040303b61Theodore Ts'o add r6, r7, asr r9 172f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r6, r7, ror r9 173f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o add r4, r5, rrx 174f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o 175f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2] 17674becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@ CHECK: add r4, r5, r6 @ encoding: [0x06,0x40,0x85,0xe0] 177f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x85,0xe0] 178f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe0] 179f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe0] 180f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x85,0xe0] 1817f88b04341d88c5df0360d930832c38040303b61Theodore Ts'o@ CHECK: add r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x85,0xe0] 182f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x87,0xe0] 183f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x87,0xe0] 184f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x87,0xe0] 185f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0xe0] 18674becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@ CHECK: add r4, r5, r6, rrx @ encoding: [0x66,0x40,0x85,0xe0] 187f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o 188f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o 189f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2] 190f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r4, r5 @ encoding: [0x05,0x40,0x84,0xe0] 1917f88b04341d88c5df0360d930832c38040303b61Theodore Ts'o@ CHECK: add r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x84,0xe0] 192f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe0] 193f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe0] 194f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x84,0xe0] 195f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x84,0xe0] 196f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x86,0xe0] 197f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: add r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x86,0xe0] 19850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: add r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0xe0] 19950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: add r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x86,0xe0] 20050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: add r4, r4, r5, rrx @ encoding: [0x65,0x40,0x84,0xe0] 20150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 2021e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2031e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2041e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ AND 2051e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2061e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, #0xf 2071e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, r6 2081e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, r6, lsl #10 2091e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, r6, lsr #10 2101e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, r6, lsr #10 2111e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, r6, asr #10 2121e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, r6, ror #10 2131e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, r8, lsl r2 2141e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, r8, lsr r2 2151e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, r8, asr r2 2161e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, r8, ror r2 2171e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, r6, rrx 2181e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2191e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o @ destination register is optional 2201e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r1, #0xf 2211e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1 2221e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, lsl #10 2231e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, lsr #10 2241e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, lsr #10 2251e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, asr #10 2261e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, ror #10 2271e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, lsl r2 2281e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, lsr r2 2291e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, asr r2 2301e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r6, r7, ror r2 2311e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o and r10, r1, rrx 2321e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2331e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2] 2341e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, r6 @ encoding: [0x06,0xa0,0x01,0xe0] 2351e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, r6, lsl #10 @ encoding: [0x06,0xa5,0x01,0xe0] 2361e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0x01,0xe0] 2371e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0x01,0xe0] 2381e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, r6, asr #10 @ encoding: [0x46,0xa5,0x01,0xe0] 2391e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, r6, ror #10 @ encoding: [0x66,0xa5,0x01,0xe0] 2401e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r7, r8, lsl r2 @ encoding: [0x18,0x62,0x07,0xe0] 2411e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r7, r8, lsr r2 @ encoding: [0x38,0x62,0x07,0xe0] 2421e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r7, r8, asr r2 @ encoding: [0x58,0x62,0x07,0xe0] 2431e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r7, r8, ror r2 @ encoding: [0x78,0x62,0x07,0xe0] 2441e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r1, r6, rrx @ encoding: [0x66,0xa0,0x01,0xe0] 2451e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2461e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2] 2471e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r10, r1 @ encoding: [0x01,0xa0,0x0a,0xe0] 2481e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r10, r1, lsl #10 @ encoding: [0x01,0xa5,0x0a,0xe0] 2491e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0x0a,0xe0] 2501e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0x0a,0xe0] 2511e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r10, r1, asr #10 @ encoding: [0x41,0xa5,0x0a,0xe0] 2521e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r10, r1, ror #10 @ encoding: [0x61,0xa5,0x0a,0xe0] 2531e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r6, r7, lsl r2 @ encoding: [0x17,0x62,0x06,0xe0] 2541e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r6, r7, lsr r2 @ encoding: [0x37,0x62,0x06,0xe0] 2551e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r6, r7, asr r2 @ encoding: [0x57,0x62,0x06,0xe0] 2561e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r6, r6, r7, ror r2 @ encoding: [0x77,0x62,0x06,0xe0] 2571e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: and r10, r10, r1, rrx @ encoding: [0x61,0xa0,0x0a,0xe0] 2581e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2591e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2601e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ FIXME: ASR 2611e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2621e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2631e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ B 2641e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2651e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o b _bar 2661e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o beq _baz 2671e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2681e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: b _bar @ encoding: [A,A,A,0xea] 2691e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch 2701e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: beq _baz @ encoding: [A,A,A,0x0a] 2711e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o @ fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch 2721e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2731e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 2741e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2751e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ BFC 2761e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 2771e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o bfc r5, #3, #17 2781e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o bfccc r5, #3, #17 2791e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 28074becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@ CHECK: bfc r5, #3, #17 @ encoding: [0x9f,0x51,0xd3,0xe7] 28150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bfclo r5, #3, #17 @ encoding: [0x9f,0x51,0xd3,0x37] 28250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 28350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 28450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 28550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ BFI 28650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 28750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bfi r5, r2, #3, #17 28850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bfine r5, r2, #3, #17 28950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 29050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bfi r5, r2, #3, #17 @ encoding: [0x92,0x51,0xd3,0xe7] 29150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bfine r5, r2, #3, #17 @ encoding: [0x92,0x51,0xd3,0x17] 29274becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o 29350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 29450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 29550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ BIC 29650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 29750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, #0xf 29850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, r6 29950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, r6, lsl #10 30050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, r6, lsr #10 30150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, r6, lsr #10 30250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, r6, asr #10 30350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, r6, ror #10 30474becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o bic r6, r7, r8, lsl r2 30550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r6, r7, r8, lsr r2 30650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r6, r7, r8, asr r2 30750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r6, r7, r8, ror r2 30850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, r6, rrx 30950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 31050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o @ destination register is optional 31150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r1, #0xf 31250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1 3131e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o bic r10, r1, lsl #10 31450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, lsr #10 31550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, lsr #10 31650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, asr #10 31750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, ror #10 31850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r6, r7, lsl r2 31950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r6, r7, lsr r2 32050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r6, r7, asr r2 32150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r6, r7, ror r2 32250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o bic r10, r1, rrx 32350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 32450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3] 32550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r10, r1, r6 @ encoding: [0x06,0xa0,0xc1,0xe1] 32650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r10, r1, r6, lsl #10 @ encoding: [0x06,0xa5,0xc1,0xe1] 32750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0xc1,0xe1] 32850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0xc1,0xe1] 32950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r10, r1, r6, asr #10 @ encoding: [0x46,0xa5,0xc1,0xe1] 33050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r10, r1, r6, ror #10 @ encoding: [0x66,0xa5,0xc1,0xe1] 33150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: bic r6, r7, r8, lsl r2 @ encoding: [0x18,0x62,0xc7,0xe1] 33228ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bic r6, r7, r8, lsr r2 @ encoding: [0x38,0x62,0xc7,0xe1] 33321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: bic r6, r7, r8, asr r2 @ encoding: [0x58,0x62,0xc7,0xe1] 33428ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bic r6, r7, r8, ror r2 @ encoding: [0x78,0x62,0xc7,0xe1] 33521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: bic r10, r1, r6, rrx @ encoding: [0x66,0xa0,0xc1,0xe1] 33621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 33721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 33821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: bic r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3] 33928ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bic r10, r10, r1 @ encoding: [0x01,0xa0,0xca,0xe1] 34021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: bic r10, r10, r1, lsl #10 @ encoding: [0x01,0xa5,0xca,0xe1] 3413839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: bic r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0xca,0xe1] 3421e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: bic r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0xca,0xe1] 3431e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: bic r10, r10, r1, asr #10 @ encoding: [0x41,0xa5,0xca,0xe1] 34428ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bic r10, r10, r1, ror #10 @ encoding: [0x61,0xa5,0xca,0xe1] 3453839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: bic r6, r6, r7, lsl r2 @ encoding: [0x17,0x62,0xc6,0xe1] 34628ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bic r6, r6, r7, lsr r2 @ encoding: [0x37,0x62,0xc6,0xe1] 3473839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: bic r6, r6, r7, asr r2 @ encoding: [0x57,0x62,0xc6,0xe1] 3483839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: bic r6, r6, r7, ror r2 @ encoding: [0x77,0x62,0xc6,0xe1] 34928ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bic r10, r10, r1, rrx @ encoding: [0x61,0xa0,0xca,0xe1] 35021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 3513839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 3521e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ BKPT 3531e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 35428ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o bkpt #10 3553839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o bkpt #65535 35628ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o 3573839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: bkpt #10 @ encoding: [0x7a,0x00,0x20,0xe1] 3583839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: bkpt #65535 @ encoding: [0x7f,0xff,0x2f,0xe1] 3591e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 36021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 3613839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ BL/BLX (immediate) 3621e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 363521e36857227b21e7ab47b0a97f788d2af9f9717Theodore Ts'o 3643839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o bl _bar 3653839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o blx _bar 3661e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o blls #28634268 3671e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o blx #32424576 3681e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o blx #16212288 36928ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o 3701e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: bl _bar @ encoding: [A,A,A,0xeb] 3711e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch 37228ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: blx _bar @ encoding: [A,A,A,0xfa] 37328ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch 37428ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: blls #28634268 @ encoding: [0x27,0x3b,0x6d,0x9b] 3751e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: blx #32424576 @ encoding: [0xa0,0xb0,0x7b,0xfa] 3761e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: blx #16212288 @ encoding: [0x50,0xd8,0x3d,0xfa] 37728ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@------------------------------------------------------------------------------ 3781e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ BLX (register) 3791e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 38028ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o blx r2 38128ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o blxne r2 3821e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 3831e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: blx r2 @ encoding: [0x32,0xff,0x2f,0xe1] 3841e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ CHECK: blxne r2 @ encoding: [0x32,0xff,0x2f,0x11] 3851e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o 3861e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 3871e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@ BX 3881e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o@------------------------------------------------------------------------------ 3893839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o bx r2 3903839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o bxne r2 39128ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o 392f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CHECK: bx r2 @ encoding: [0x12,0xff,0x2f,0xe1] 3933839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: bxne r2 @ encoding: [0x12,0xff,0x2f,0x11] 39428ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o 39528ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@------------------------------------------------------------------------------ 3963839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ BXJ 3973839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 39828ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o bxj r2 399f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o bxjne r2 4003839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 40128ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bxj r2 @ encoding: [0x22,0xff,0x2f,0xe1] 40228ffafb09c6fd8a9ebe716c06b02143771a9b17fTheodore Ts'o@ CHECK: bxjne r2 @ encoding: [0x22,0xff,0x2f,0x11] 4033839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 4043839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 405f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@------------------------------------------------------------------------------ 406f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o@ CDP/CDP2 4073839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@------------------------------------------------------------------------------ 4081e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o cdp p7, #1, c1, c1, c1, #4 4091e3472c5f37ca3686dd69b079d4d02a302f5798dTheodore Ts'o cdp2 p7, #1, c1, c1, c1, #4 4103839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 4113839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: cdp p7, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xee] 41250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cdp2 p7, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xfe] 41350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 41450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 41550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 41650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CLREX 41750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 41850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o clrex 41950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 42050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: clrex @ encoding: [0x1f,0xf0,0x7f,0xf5] 42150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 42274becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o 42350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 42450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CLZ 42550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 42650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o clz r1, r2 42750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o clzeq r1, r2 42850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 42950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: clz r1, r2 @ encoding: [0x12,0x1f,0x6f,0xe1] 43050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: clzeq r1, r2 @ encoding: [0x12,0x1f,0x6f,0x01] 43150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 43250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 43350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CMN 43450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 43574becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o cmn r1, #0xf 43650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r1, r6 43750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r1, r6, lsl #10 43850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r1, r6, lsr #10 43950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn sp, r6, lsr #10 44050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r1, r6, asr #10 44150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r1, r6, ror #10 44250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r7, r8, lsl r2 44350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn sp, r8, lsr r2 44450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r7, r8, asr r2 44550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r7, r8, ror r2 44650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmn r1, r6, rrx 44750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 44874becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@ CHECK: cmn r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3] 44950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r1, r6 @ encoding: [0x06,0x00,0x71,0xe1] 45050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r1, r6, lsl #10 @ encoding: [0x06,0x05,0x71,0xe1] 45150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r1, r6, lsr #10 @ encoding: [0x26,0x05,0x71,0xe1] 45250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn sp, r6, lsr #10 @ encoding: [0x26,0x05,0x7d,0xe1] 45350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r1, r6, asr #10 @ encoding: [0x46,0x05,0x71,0xe1] 45450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r1, r6, ror #10 @ encoding: [0x66,0x05,0x71,0xe1] 45550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r7, r8, lsl r2 @ encoding: [0x18,0x02,0x77,0xe1] 45650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn sp, r8, lsr r2 @ encoding: [0x38,0x02,0x7d,0xe1] 45750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r7, r8, asr r2 @ encoding: [0x58,0x02,0x77,0xe1] 45850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r7, r8, ror r2 @ encoding: [0x78,0x02,0x77,0xe1] 45950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmn r1, r6, rrx @ encoding: [0x66,0x00,0x71,0xe1] 46050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 46174becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@------------------------------------------------------------------------------ 46250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CMP 46350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 46450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r1, #0xf 46550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r1, r6 46650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r1, r6, lsl #10 46750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r1, r6, lsr #10 46850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp sp, r6, lsr #10 46950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r1, r6, asr #10 47050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r1, r6, ror #10 47150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r7, r8, lsl r2 47250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp sp, r8, lsr r2 47350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r7, r8, asr r2 47474becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o cmp r7, r8, ror r2 47550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cmp r1, r6, rrx 47650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 47750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3] 47850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r1, r6 @ encoding: [0x06,0x00,0x51,0xe1] 47950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r1, r6, lsl #10 @ encoding: [0x06,0x05,0x51,0xe1] 48050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r1, r6, lsr #10 @ encoding: [0x26,0x05,0x51,0xe1] 48150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp sp, r6, lsr #10 @ encoding: [0x26,0x05,0x5d,0xe1] 48250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r1, r6, asr #10 @ encoding: [0x46,0x05,0x51,0xe1] 48350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r1, r6, ror #10 @ encoding: [0x66,0x05,0x51,0xe1] 48450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r7, r8, lsl r2 @ encoding: [0x18,0x02,0x57,0xe1] 48550e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp sp, r8, lsr r2 @ encoding: [0x38,0x02,0x5d,0xe1] 48650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r7, r8, asr r2 @ encoding: [0x58,0x02,0x57,0xe1] 48774becf3c0a065f8d64e07ce4d31f9fe53be91d62Theodore Ts'o@ CHECK: cmp r7, r8, ror r2 @ encoding: [0x78,0x02,0x57,0xe1] 48850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cmp r1, r6, rrx @ encoding: [0x66,0x00,0x51,0xe1] 48950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 49050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 49150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 49250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CPS 49350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 49450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cpsie aif 49521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o cps #15 49650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o cpsid if, #10 49750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 49850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cpsie aif @ encoding: [0xc0,0x01,0x08,0xf1] 49950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cps #15 @ encoding: [0x0f,0x00,0x02,0xf1] 50050e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: cpsid if, #10 @ encoding: [0xca,0x00,0x0e,0xf1] 50150e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 50250e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 50350e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@------------------------------------------------------------------------------ 50450e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ DBG 50521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 50650e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o dbg #0 50750e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o dbg #5 50850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o dbg #15 50950e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o 51021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dbg #0 @ encoding: [0xf0,0xf0,0x20,0xe3] 51121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dbg #5 @ encoding: [0xf5,0xf0,0x20,0xe3] 51221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dbg #15 @ encoding: [0xff,0xf0,0x20,0xe3] 51321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 51421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 51521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 51621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ DMB 51721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 51821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb sy 51921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb st 52021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb sh 52121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb ish 52221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb shst 52321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb ishst 52421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb un 52521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb nsh 52621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb unst 52721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb nshst 52821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb osh 52921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb oshst 53021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dmb 53121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 53221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb sy @ encoding: [0x5f,0xf0,0x7f,0xf5] 53321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb st @ encoding: [0x5e,0xf0,0x7f,0xf5] 53421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb ish @ encoding: [0x5b,0xf0,0x7f,0xf5] 53521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb ish @ encoding: [0x5b,0xf0,0x7f,0xf5] 53621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb ishst @ encoding: [0x5a,0xf0,0x7f,0xf5] 53721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb ishst @ encoding: [0x5a,0xf0,0x7f,0xf5] 53821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb nsh @ encoding: [0x57,0xf0,0x7f,0xf5] 53921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb nsh @ encoding: [0x57,0xf0,0x7f,0xf5] 54021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb nshst @ encoding: [0x56,0xf0,0x7f,0xf5] 54121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb nshst @ encoding: [0x56,0xf0,0x7f,0xf5] 54221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb osh @ encoding: [0x53,0xf0,0x7f,0xf5] 54321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb oshst @ encoding: [0x52,0xf0,0x7f,0xf5] 54421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dmb sy @ encoding: [0x5f,0xf0,0x7f,0xf5] 54521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 54621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 54721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ DSB 54821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 54921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb sy 55021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb st 55121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb sh 55221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb ish 55321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb shst 55421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb ishst 55521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb un 55621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb nsh 55721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb unst 55821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb nshst 55921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb osh 56021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb oshst 56121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o dsb 56221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 56321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 56421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb st @ encoding: [0x4e,0xf0,0x7f,0xf5] 56521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb ish @ encoding: [0x4b,0xf0,0x7f,0xf5] 56621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb ish @ encoding: [0x4b,0xf0,0x7f,0xf5] 56721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb ishst @ encoding: [0x4a,0xf0,0x7f,0xf5] 56821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb ishst @ encoding: [0x4a,0xf0,0x7f,0xf5] 56921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 57021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 57121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb nshst @ encoding: [0x46,0xf0,0x7f,0xf5] 57221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb nshst @ encoding: [0x46,0xf0,0x7f,0xf5] 57321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb osh @ encoding: [0x43,0xf0,0x7f,0xf5] 57421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb oshst @ encoding: [0x42,0xf0,0x7f,0xf5] 57521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 57621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 57721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 57821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@ EOR 57921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o@------------------------------------------------------------------------------ 58021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, #0xf000 58121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, r6 58221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, r6, lsl #5 58321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, r6, lsr #5 58421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, r6, lsr #5 58521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, r6, asr #5 58621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, r6, ror #5 58721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, r8, lsl r9 58821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, r8, lsr r9 58921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, r8, asr r9 59021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, r8, ror r9 59121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, r6, rrx 59221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 59321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o @ destination register is optional 59421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r5, #0xf000 59521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5 59621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, lsl #5 59721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, lsr #5 59821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, lsr #5 59921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, asr #5 60021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, ror #5 60121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, lsl r9 60221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, lsr r9 60321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, asr r9 60421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r6, r7, ror r9 60521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o eor r4, r5, rrx 6063839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 6073839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o@ CHECK: eor r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2] 60850e1e10fa0ac12a3e2a9d20a75ee9041873cda96Theodore Ts'o@ CHECK: eor r4, r5, r6 @ encoding: [0x06,0x40,0x25,0xe0] 609@ CHECK: eor r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x25,0xe0] 610@ CHECK: eor r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x25,0xe0] 611@ CHECK: eor r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x25,0xe0] 612@ CHECK: eor r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x25,0xe0] 613@ CHECK: eor r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x25,0xe0] 614@ CHECK: eor r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x27,0xe0] 615@ CHECK: eor r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x27,0xe0] 616@ CHECK: eor r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x27,0xe0] 617@ CHECK: eor r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x27,0xe0] 618@ CHECK: eor r4, r5, r6, rrx @ encoding: [0x66,0x40,0x25,0xe0] 619 620 621@ CHECK: eor r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2] 622@ CHECK: eor r4, r4, r5 @ encoding: [0x05,0x40,0x24,0xe0] 623@ CHECK: eor r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x24,0xe0] 624@ CHECK: eor r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x24,0xe0] 625@ CHECK: eor r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x24,0xe0] 626@ CHECK: eor r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x24,0xe0] 627@ CHECK: eor r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x24,0xe0] 628@ CHECK: eor r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x26,0xe0] 629@ CHECK: eor r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x26,0xe0] 630@ CHECK: eor r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x26,0xe0] 631@ CHECK: eor r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x26,0xe0] 632@ CHECK: eor r4, r4, r5, rrx @ encoding: [0x65,0x40,0x24,0xe0] 633 634 635@------------------------------------------------------------------------------ 636@ ISB 637@------------------------------------------------------------------------------ 638 isb sy 639 isb 640 641@ CHECK: isb sy @ encoding: [0x6f,0xf0,0x7f,0xf5] 642@ CHECK: isb sy @ encoding: [0x6f,0xf0,0x7f,0xf5] 643 644 645 646@------------------------------------------------------------------------------ 647@ LDM* 648@------------------------------------------------------------------------------ 649 ldm r2, {r1,r3-r6,sp} 650 ldmia r2, {r1,r3-r6,sp} 651 ldmib r2, {r1,r3-r6,sp} 652 ldmda r2, {r1,r3-r6,sp} 653 ldmdb r2, {r1,r3-r6,sp} 654 ldmfd r2, {r1,r3-r6,sp} 655 656 @ with update 657 ldm r2!, {r1,r3-r6,sp} 658 ldmib r2!, {r1,r3-r6,sp} 659 ldmda r2!, {r1,r3-r6,sp} 660 ldmdb r2!, {r1,r3-r6,sp} 661 662@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 663@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 664@ CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe9] 665@ CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe8] 666@ CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe9] 667@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 668 669@ CHECK: ldm r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe8] 670@ CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe9] 671@ CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe8] 672@ CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe9] 673 674 675@------------------------------------------------------------------------------ 676@ LDREX/LDREXB/LDREXH/LDREXD 677@------------------------------------------------------------------------------ 678 ldrexb r3, [r4] 679 ldrexh r2, [r5] 680 ldrex r1, [r7] 681 ldrexd r6, r7, [r8] 682 683@ CHECK: ldrexb r3, [r4] @ encoding: [0x9f,0x3f,0xd4,0xe1] 684@ CHECK: ldrexh r2, [r5] @ encoding: [0x9f,0x2f,0xf5,0xe1] 685@ CHECK: ldrex r1, [r7] @ encoding: [0x9f,0x1f,0x97,0xe1] 686@ CHECK: ldrexd r6, r7, [r8] @ encoding: [0x9f,0x6f,0xb8,0xe1] 687 688@------------------------------------------------------------------------------ 689@ LDRHT 690@------------------------------------------------------------------------------ 691 ldrhthi r8, [r11], #-0 692 ldrhthi r8, [r11], #0 693 694@ CHECK: ldrhthi r8, [r11], #-0 @ encoding: [0xb0,0x80,0x7b,0x80] 695@ CHECK: ldrhthi r8, [r11], #0 @ encoding: [0xb0,0x80,0xfb,0x80] 696 697@------------------------------------------------------------------------------ 698@ FIXME: LSL 699@------------------------------------------------------------------------------ 700@------------------------------------------------------------------------------ 701@ FIXME: LSR 702@------------------------------------------------------------------------------ 703 704@------------------------------------------------------------------------------ 705@ MCR/MCR2 706@------------------------------------------------------------------------------ 707 mcr p7, #1, r5, c1, c1, #4 708 mcr2 p7, #1, r5, c1, c1, #4 709 710@ CHECK: mcr p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee] 711@ CHECK: mcr2 p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe] 712 713@------------------------------------------------------------------------------ 714@ MCRR/MCRR2 715@------------------------------------------------------------------------------ 716 mcrr p7, #15, r5, r4, c1 717 mcrr2 p7, #15, r5, r4, c1 718 719@ CHECK: mcrr p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec] 720@ CHECK: mcrr2 p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc] 721 722 723@------------------------------------------------------------------------------ 724@ MLA 725@------------------------------------------------------------------------------ 726 mla r1,r2,r3,r4 727 mlas r1,r2,r3,r4 728 mlane r1,r2,r3,r4 729 mlasne r1,r2,r3,r4 730 731@ CHECK: mla r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0xe0] 732@ CHECK: mlas r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0xe0] 733@ CHECK: mlane r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0x10] 734@ CHECK: mlasne r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0x10] 735 736@------------------------------------------------------------------------------ 737@ MLS 738@------------------------------------------------------------------------------ 739 mls r2,r5,r6,r3 740 mlsne r2,r5,r6,r3 741 742@ CHECK: mls r2, r5, r6, r3 @ encoding: [0x95,0x36,0x62,0xe0] 743@ CHECK: mlsne r2, r5, r6, r3 @ encoding: [0x95,0x36,0x62,0x10] 744 745@------------------------------------------------------------------------------ 746@ MOV (immediate) 747@------------------------------------------------------------------------------ 748 mov r3, #7 749 mov r4, #0xff0 750 mov r5, #0xff0000 751 mov r6, #0xffff 752 movw r9, #0xffff 753 movs r3, #7 754 moveq r4, #0xff0 755 movseq r5, #0xff0000 756 757@ CHECK: mov r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3] 758@ CHECK: mov r4, #4080 @ encoding: [0xff,0x4e,0xa0,0xe3] 759@ CHECK: mov r5, #16711680 @ encoding: [0xff,0x58,0xa0,0xe3] 760@ CHECK: movw r6, #65535 @ encoding: [0xff,0x6f,0x0f,0xe3] 761@ CHECK: movw r9, #65535 @ encoding: [0xff,0x9f,0x0f,0xe3] 762@ CHECK: movs r3, #7 @ encoding: [0x07,0x30,0xb0,0xe3] 763@ CHECK: moveq r4, #4080 @ encoding: [0xff,0x4e,0xa0,0x03] 764@ CHECK: movseq r5, #16711680 @ encoding: [0xff,0x58,0xb0,0x03] 765 766@------------------------------------------------------------------------------ 767@ MOV (register) 768@------------------------------------------------------------------------------ 769 mov r2, r3 770 movs r2, r3 771 moveq r2, r3 772 movseq r2, r3 773 774@ CHECK: mov r2, r3 @ encoding: [0x03,0x20,0xa0,0xe1] 775@ CHECK: movs r2, r3 @ encoding: [0x03,0x20,0xb0,0xe1] 776@ CHECK: moveq r2, r3 @ encoding: [0x03,0x20,0xa0,0x01] 777@ CHECK: movseq r2, r3 @ encoding: [0x03,0x20,0xb0,0x01] 778 779@------------------------------------------------------------------------------ 780@ MOVT 781@------------------------------------------------------------------------------ 782 movt r3, #7 783 movt r6, #0xffff 784 movteq r4, #0xff0 785 786@ CHECK: movt r3, #7 @ encoding: [0x07,0x30,0x40,0xe3] 787@ CHECK: movt r6, #65535 @ encoding: [0xff,0x6f,0x4f,0xe3] 788@ CHECK: movteq r4, #4080 @ encoding: [0xf0,0x4f,0x40,0x03] 789 790 791@------------------------------------------------------------------------------ 792@ MRC/MRC2 793@------------------------------------------------------------------------------ 794 mrc p14, #0, r1, c1, c2, #4 795 mrc2 p14, #0, r1, c1, c2, #4 796 797@ CHECK: mrc p14, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xee] 798@ CHECK: mrc2 p14, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xfe] 799 800@------------------------------------------------------------------------------ 801@ MRRC/MRRC2 802@------------------------------------------------------------------------------ 803 mrrc p7, #1, r5, r4, c1 804 mrrc2 p7, #1, r5, r4, c1 805 806@ CHECK: mrrc p7, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec] 807@ CHECK: mrrc2 p7, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc] 808 809 810@------------------------------------------------------------------------------ 811@ MRS 812@------------------------------------------------------------------------------ 813 mrs r8, apsr 814 mrs r8, cpsr 815 mrs r8, spsr 816@ CHECK: mrs r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1] 817@ CHECK: mrs r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1] 818@ CHECK: mrs r8, spsr @ encoding: [0x00,0x80,0x4f,0xe1] 819 820 821 822@------------------------------------------------------------------------------ 823@ MSR 824@------------------------------------------------------------------------------ 825 826 msr apsr, #5 827 msr apsr_g, #5 828 msr apsr_nzcvq, #5 829 msr APSR_nzcvq, #5 830 msr apsr_nzcvqg, #5 831 msr cpsr_fc, #5 832 msr cpsr_c, #5 833 msr cpsr_x, #5 834 msr cpsr_fc, #5 835 msr cpsr_all, #5 836 msr cpsr_fsx, #5 837 msr spsr_fc, #5 838 msr SPSR_fsxc, #5 839 msr cpsr_fsxc, #5 840 841@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 842@ CHECK: msr APSR_g, #5 @ encoding: [0x05,0xf0,0x24,0xe3] 843@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 844@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 845@ CHECK: msr APSR_nzcvqg, #5 @ encoding: [0x05,0xf0,0x2c,0xe3] 846@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 847@ CHECK: msr CPSR_c, #5 @ encoding: [0x05,0xf0,0x21,0xe3] 848@ CHECK: msr CPSR_x, #5 @ encoding: [0x05,0xf0,0x22,0xe3] 849@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 850@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 851@ CHECK: msr CPSR_fsx, #5 @ encoding: [0x05,0xf0,0x2e,0xe3] 852@ CHECK: msr SPSR_fc, #5 @ encoding: [0x05,0xf0,0x69,0xe3] 853@ CHECK: msr SPSR_fsxc, #5 @ encoding: [0x05,0xf0,0x6f,0xe3] 854@ CHECK: msr CPSR_fsxc, #5 @ encoding: [0x05,0xf0,0x2f,0xe3] 855 856 msr apsr, r0 857 msr apsr_g, r0 858 msr apsr_nzcvq, r0 859 msr APSR_nzcvq, r0 860 msr apsr_nzcvqg, r0 861 msr cpsr_fc, r0 862 msr cpsr_c, r0 863 msr cpsr_x, r0 864 msr cpsr_fc, r0 865 msr cpsr_all, r0 866 msr cpsr_fsx, r0 867 msr spsr_fc, r0 868 msr SPSR_fsxc, r0 869 msr cpsr_fsxc, r0 870 871@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 872@ CHECK: msr APSR_g, r0 @ encoding: [0x00,0xf0,0x24,0xe1] 873@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 874@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 875@ CHECK: msr APSR_nzcvqg, r0 @ encoding: [0x00,0xf0,0x2c,0xe1] 876@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 877@ CHECK: msr CPSR_c, r0 @ encoding: [0x00,0xf0,0x21,0xe1] 878@ CHECK: msr CPSR_x, r0 @ encoding: [0x00,0xf0,0x22,0xe1] 879@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 880@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 881@ CHECK: msr CPSR_fsx, r0 @ encoding: [0x00,0xf0,0x2e,0xe1] 882@ CHECK: msr SPSR_fc, r0 @ encoding: [0x00,0xf0,0x69,0xe1] 883@ CHECK: msr SPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x6f,0xe1] 884@ CHECK: msr CPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x2f,0xe1] 885 886@------------------------------------------------------------------------------ 887@ MUL 888@------------------------------------------------------------------------------ 889 mul r5, r6, r7 890 muls r5, r6, r7 891 mulgt r5, r6, r7 892 mulsle r5, r6, r7 893 894@ CHECK: mul r5, r6, r7 @ encoding: [0x96,0x07,0x05,0xe0] 895@ CHECK: muls r5, r6, r7 @ encoding: [0x96,0x07,0x15,0xe0] 896@ CHECK: mulgt r5, r6, r7 @ encoding: [0x96,0x07,0x05,0xc0] 897@ CHECK: mulsle r5, r6, r7 @ encoding: [0x96,0x07,0x15,0xd0] 898 899 900@------------------------------------------------------------------------------ 901@ MVN (immediate) 902@------------------------------------------------------------------------------ 903 mvn r3, #7 904 mvn r4, #0xff0 905 mvn r5, #0xff0000 906 mvns r3, #7 907 mvneq r4, #0xff0 908 mvnseq r5, #0xff0000 909 910@ CHECK: mvn r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3] 911@ CHECK: mvn r4, #4080 @ encoding: [0xff,0x4e,0xe0,0xe3] 912@ CHECK: mvn r5, #16711680 @ encoding: [0xff,0x58,0xe0,0xe3] 913@ CHECK: mvns r3, #7 @ encoding: [0x07,0x30,0xf0,0xe3] 914@ CHECK: mvneq r4, #4080 @ encoding: [0xff,0x4e,0xe0,0x03] 915@ CHECK: mvnseq r5, #16711680 @ encoding: [0xff,0x58,0xf0,0x03] 916 917 918@------------------------------------------------------------------------------ 919@ MVN (register) 920@------------------------------------------------------------------------------ 921 mvn r2, r3 922 mvns r2, r3 923 mvn r5, r6, lsl #19 924 mvn r5, r6, lsr #9 925 mvn r5, r6, asr #4 926 mvn r5, r6, ror #6 927 mvn r5, r6, rrx 928 mvneq r2, r3 929 mvnseq r2, r3, lsl #10 930 931@ CHECK: mvn r2, r3 @ encoding: [0x03,0x20,0xe0,0xe1] 932@ CHECK: mvns r2, r3 @ encoding: [0x03,0x20,0xf0,0xe1] 933@ CHECK: mvn r5, r6, lsl #19 @ encoding: [0x86,0x59,0xe0,0xe1] 934@ CHECK: mvn r5, r6, lsr #9 @ encoding: [0xa6,0x54,0xe0,0xe1] 935@ CHECK: mvn r5, r6, asr #4 @ encoding: [0x46,0x52,0xe0,0xe1] 936@ CHECK: mvn r5, r6, ror #6 @ encoding: [0x66,0x53,0xe0,0xe1] 937@ CHECK: mvn r5, r6, rrx @ encoding: [0x66,0x50,0xe0,0xe1] 938@ CHECK: mvneq r2, r3 @ encoding: [0x03,0x20,0xe0,0x01] 939@ CHECK: mvnseq r2, r3, lsl #10 @ encoding: [0x03,0x25,0xf0,0x01] 940 941 942@------------------------------------------------------------------------------ 943@ MVN (shifted register) 944@------------------------------------------------------------------------------ 945 mvn r5, r6, lsl r7 946 mvns r5, r6, lsr r7 947 mvngt r5, r6, asr r7 948 mvnslt r5, r6, ror r7 949 950@ CHECK: mvn r5, r6, lsl r7 @ encoding: [0x16,0x57,0xe0,0xe1] 951@ CHECK: mvns r5, r6, lsr r7 @ encoding: [0x36,0x57,0xf0,0xe1] 952@ CHECK: mvngt r5, r6, asr r7 @ encoding: [0x56,0x57,0xe0,0xc1] 953@ CHECK: mvnslt r5, r6, ror r7 @ encoding: [0x76,0x57,0xf0,0xb1] 954 955@------------------------------------------------------------------------------ 956@ NOP 957@------------------------------------------------------------------------------ 958 nop 959 nopgt 960 961@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3] 962@ CHECK: nopgt @ encoding: [0x00,0xf0,0x20,0xc3] 963 964 965@------------------------------------------------------------------------------ 966@ ORR 967@------------------------------------------------------------------------------ 968 orr r4, r5, #0xf000 969 orr r4, r5, r6 970 orr r4, r5, r6, lsl #5 971 orr r4, r5, r6, lsr #5 972 orr r4, r5, r6, lsr #5 973 orr r4, r5, r6, asr #5 974 orr r4, r5, r6, ror #5 975 orr r6, r7, r8, lsl r9 976 orr r6, r7, r8, lsr r9 977 orr r6, r7, r8, asr r9 978 orr r6, r7, r8, ror r9 979 orr r4, r5, r6, rrx 980 981 @ destination register is optional 982 orr r5, #0xf000 983 orr r4, r5 984 orr r4, r5, lsl #5 985 orr r4, r5, lsr #5 986 orr r4, r5, lsr #5 987 orr r4, r5, asr #5 988 orr r4, r5, ror #5 989 orr r6, r7, lsl r9 990 orr r6, r7, lsr r9 991 orr r6, r7, asr r9 992 orr r6, r7, ror r9 993 orr r4, r5, rrx 994 995@ CHECK: orr r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3] 996@ CHECK: orr r4, r5, r6 @ encoding: [0x06,0x40,0x85,0xe1] 997@ CHECK: orr r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x85,0xe1] 998@ CHECK: orr r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe1] 999@ CHECK: orr r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe1] 1000@ CHECK: orr r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x85,0xe1] 1001@ CHECK: orr r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x85,0xe1] 1002@ CHECK: orr r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x87,0xe1] 1003@ CHECK: orr r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x87,0xe1] 1004@ CHECK: orr r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x87,0xe1] 1005@ CHECK: orr r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0xe1] 1006@ CHECK: orr r4, r5, r6, rrx @ encoding: [0x66,0x40,0x85,0xe1] 1007 1008@ CHECK: orr r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3] 1009@ CHECK: orr r4, r4, r5 @ encoding: [0x05,0x40,0x84,0xe1] 1010@ CHECK: orr r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x84,0xe1] 1011@ CHECK: orr r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe1] 1012@ CHECK: orr r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe1] 1013@ CHECK: orr r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x84,0xe1] 1014@ CHECK: orr r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x84,0xe1] 1015@ CHECK: orr r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x86,0xe1] 1016@ CHECK: orr r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x86,0xe1] 1017@ CHECK: orr r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0xe1] 1018@ CHECK: orr r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x86,0xe1] 1019@ CHECK: orr r4, r4, r5, rrx @ encoding: [0x65,0x40,0x84,0xe1] 1020 1021 orrseq r4, r5, #0xf000 1022 orrne r4, r5, r6 1023 orrseq r4, r5, r6, lsl #5 1024 orrlo r6, r7, r8, ror r9 1025 orrshi r4, r5, r6, rrx 1026 orrcs r5, #0xf000 1027 orrseq r4, r5 1028 orrne r6, r7, asr r9 1029 orrslt r6, r7, ror r9 1030 orrsgt r4, r5, rrx 1031 1032@ CHECK: orrseq r4, r5, #61440 @ encoding: [0x0f,0x4a,0x95,0x03] 1033@ CHECK: orrne r4, r5, r6 @ encoding: [0x06,0x40,0x85,0x11] 1034@ CHECK: orrseq r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x95,0x01] 1035@ CHECK: orrlo r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0x31] 1036@ CHECK: orrshi r4, r5, r6, rrx @ encoding: [0x66,0x40,0x95,0x81] 1037@ CHECK: orrhs r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0x23] 1038@ CHECK: orrseq r4, r4, r5 @ encoding: [0x05,0x40,0x94,0x01] 1039@ CHECK: orrne r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0x11] 1040@ CHECK: orrslt r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x96,0xb1] 1041@ CHECK: orrsgt r4, r4, r5, rrx @ encoding: [0x65,0x40,0x94,0xc1] 1042 1043@------------------------------------------------------------------------------ 1044@ PKH 1045@------------------------------------------------------------------------------ 1046 pkhbt r2, r2, r3 1047 pkhbt r2, r2, r3, lsl #31 1048 pkhbt r2, r2, r3, lsl #0 1049 pkhbt r2, r2, r3, lsl #15 1050 1051 pkhtb r2, r2, r3 1052 pkhtb r2, r2, r3, asr #31 1053 pkhtb r2, r2, r3, asr #15 1054 1055@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 1056@ CHECK: pkhbt r2, r2, r3, lsl #31 @ encoding: [0x93,0x2f,0x82,0xe6] 1057@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 1058@ CHECK: pkhbt r2, r2, r3, lsl #15 @ encoding: [0x93,0x27,0x82,0xe6] 1059 1060@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 1061@ CHECK: pkhtb r2, r2, r3, asr #31 @ encoding: [0xd3,0x2f,0x82,0xe6] 1062@ CHECK: pkhtb r2, r2, r3, asr #15 @ encoding: [0xd3,0x27,0x82,0xe6] 1063 1064@------------------------------------------------------------------------------ 1065@ FIXME: PLD 1066@------------------------------------------------------------------------------ 1067@------------------------------------------------------------------------------ 1068@ FIXME: PLI 1069@------------------------------------------------------------------------------ 1070 1071 1072@------------------------------------------------------------------------------ 1073@ POP 1074@------------------------------------------------------------------------------ 1075 pop {r7} 1076 pop {r7, r8, r9, r10} 1077 1078@ CHECK: pop {r7} @ encoding: [0x04,0x70,0x9d,0xe4] 1079@ CHECK: pop {r7, r8, r9, r10} @ encoding: [0x80,0x07,0xbd,0xe8] 1080 1081 1082@------------------------------------------------------------------------------ 1083@ PUSH 1084@------------------------------------------------------------------------------ 1085 push {r7} 1086 push {r7, r8, r9, r10} 1087 1088@ CHECK: push {r7} @ encoding: [0x04,0x70,0x2d,0xe5] 1089@ CHECK: push {r7, r8, r9, r10} @ encoding: [0x80,0x07,0x2d,0xe9] 1090 1091 1092@------------------------------------------------------------------------------ 1093@ QADD/QADD16/QADD8 1094@------------------------------------------------------------------------------ 1095 qadd r1, r2, r3 1096 qaddne r1, r2, r3 1097 qadd16 r1, r2, r3 1098 qadd16gt r1, r2, r3 1099 qadd8 r1, r2, r3 1100 qadd8le r1, r2, r3 1101 1102@ CHECK: qadd r1, r2, r3 @ encoding: [0x52,0x10,0x03,0xe1] 1103@ CHECK: qaddne r1, r2, r3 @ encoding: [0x52,0x10,0x03,0x11] 1104@ CHECK: qadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x22,0xe6] 1105@ CHECK: qadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x22,0xc6] 1106@ CHECK: qadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x22,0xe6] 1107@ CHECK: qadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x22,0xd6] 1108 1109 1110@------------------------------------------------------------------------------ 1111@ QDADD/QDSUB 1112@------------------------------------------------------------------------------ 1113 qdadd r6, r7, r8 1114 qdaddhi r6, r7, r8 1115 qdsub r6, r7, r8 1116 qdsubhi r6, r7, r8 1117 1118@ CHECK: qdadd r6, r7, r8 @ encoding: [0x57,0x60,0x48,0xe1] 1119@ CHECK: qdaddhi r6, r7, r8 @ encoding: [0x57,0x60,0x48,0x81] 1120@ CHECK: qdsub r6, r7, r8 @ encoding: [0x57,0x60,0x68,0xe1] 1121@ CHECK: qdsubhi r6, r7, r8 @ encoding: [0x57,0x60,0x68,0x81] 1122 1123 1124@------------------------------------------------------------------------------ 1125@ QSAX 1126@------------------------------------------------------------------------------ 1127 qsax r9, r12, r0 1128 qsaxeq r9, r12, r0 1129 1130@ CHECK: qsax r9, r12, r0 @ encoding: [0x50,0x9f,0x2c,0xe6] 1131@ CHECK: qsaxeq r9, r12, r0 @ encoding: [0x50,0x9f,0x2c,0x06] 1132 1133 1134@------------------------------------------------------------------------------ 1135@ QSUB/QSUB16/QSUB8 1136@------------------------------------------------------------------------------ 1137 qsub r1, r2, r3 1138 qsubne r1, r2, r3 1139 qsub16 r1, r2, r3 1140 qsub16gt r1, r2, r3 1141 qsub8 r1, r2, r3 1142 qsub8le r1, r2, r3 1143 1144@ CHECK: qsub r1, r2, r3 @ encoding: [0x52,0x10,0x23,0xe1] 1145@ CHECK: qsubne r1, r2, r3 @ encoding: [0x52,0x10,0x23,0x11] 1146@ CHECK: qsub16 r1, r2, r3 @ encoding: [0x73,0x1f,0x22,0xe6] 1147@ CHECK: qsub16gt r1, r2, r3 @ encoding: [0x73,0x1f,0x22,0xc6] 1148@ CHECK: qsub8 r1, r2, r3 @ encoding: [0xf3,0x1f,0x22,0xe6] 1149@ CHECK: qsub8le r1, r2, r3 @ encoding: [0xf3,0x1f,0x22,0xd6] 1150 1151 1152@------------------------------------------------------------------------------ 1153@ RBIT 1154@------------------------------------------------------------------------------ 1155 rbit r1, r2 1156 rbitne r1, r2 1157 1158@ CHECK: rbit r1, r2 @ encoding: [0x32,0x1f,0xff,0xe6] 1159@ CHECK: rbitne r1, r2 @ encoding: [0x32,0x1f,0xff,0x16] 1160 1161 1162@------------------------------------------------------------------------------ 1163@ REV/REV16/REVSH 1164@------------------------------------------------------------------------------ 1165 rev r1, r9 1166 revne r1, r5 1167 rev16 r8, r3 1168 rev16ne r12, r4 1169 revsh r4, r9 1170 revshne r9, r1 1171 1172@ CHECK: rev r1, r9 @ encoding: [0x39,0x1f,0xbf,0xe6] 1173@ CHECK: revne r1, r5 @ encoding: [0x35,0x1f,0xbf,0x16] 1174@ CHECK: rev16 r8, r3 @ encoding: [0xb3,0x8f,0xbf,0xe6] 1175@ CHECK: rev16ne r12, r4 @ encoding: [0xb4,0xcf,0xbf,0x16] 1176@ CHECK: revsh r4, r9 @ encoding: [0xb9,0x4f,0xff,0xe6] 1177@ CHECK: revshne r9, r1 @ encoding: [0xb1,0x9f,0xff,0x16] 1178 1179 1180@------------------------------------------------------------------------------ 1181@ RFE 1182@------------------------------------------------------------------------------ 1183 rfeda r2 1184 rfedb r3 1185 rfeia r5 1186 rfeib r6 1187 1188 rfeda r4! 1189 rfedb r7! 1190 rfeia r9! 1191 rfeib r8! 1192 1193 rfefa r2 1194 rfeea r3 1195 rfefd r5 1196 rfeed r6 1197 1198 rfefa r4! 1199 rfeea r7! 1200 rfefd r9! 1201 rfeed r8! 1202 1203 rfe r1 1204 rfe r1! 1205 1206@ CHECK: rfeda r2 @ encoding: [0x00,0x0a,0x12,0xf8] 1207@ CHECK: rfedb r3 @ encoding: [0x00,0x0a,0x13,0xf9] 1208@ CHECK: rfeia r5 @ encoding: [0x00,0x0a,0x95,0xf8] 1209@ CHECK: rfeib r6 @ encoding: [0x00,0x0a,0x96,0xf9] 1210 1211@ CHECK: rfeda r4! @ encoding: [0x00,0x0a,0x34,0xf8] 1212@ CHECK: rfedb r7! @ encoding: [0x00,0x0a,0x37,0xf9] 1213@ CHECK: rfeia r9! @ encoding: [0x00,0x0a,0xb9,0xf8] 1214@ CHECK: rfeib r8! @ encoding: [0x00,0x0a,0xb8,0xf9] 1215 1216@ CHECK: rfeda r2 @ encoding: [0x00,0x0a,0x12,0xf8] 1217@ CHECK: rfedb r3 @ encoding: [0x00,0x0a,0x13,0xf9] 1218@ CHECK: rfeia r5 @ encoding: [0x00,0x0a,0x95,0xf8] 1219@ CHECK: rfeib r6 @ encoding: [0x00,0x0a,0x96,0xf9] 1220 1221@ CHECK: rfeda r4! @ encoding: [0x00,0x0a,0x34,0xf8] 1222@ CHECK: rfedb r7! @ encoding: [0x00,0x0a,0x37,0xf9] 1223@ CHECK: rfeia r9! @ encoding: [0x00,0x0a,0xb9,0xf8] 1224@ CHECK: rfeib r8! @ encoding: [0x00,0x0a,0xb8,0xf9] 1225 1226@ CHECK: rfeia r1 @ encoding: [0x00,0x0a,0x91,0xf8] 1227@ CHECK: rfeia r1! @ encoding: [0x00,0x0a,0xb1,0xf8] 1228 1229 1230@------------------------------------------------------------------------------ 1231@ RSB 1232@------------------------------------------------------------------------------ 1233 rsb r4, r5, #0xf000 1234 rsb r4, r5, r6 1235 rsb r4, r5, r6, lsl #5 1236 rsblo r4, r5, r6, lsr #5 1237 rsb r4, r5, r6, lsr #5 1238 rsb r4, r5, r6, asr #5 1239 rsb r4, r5, r6, ror #5 1240 rsb r6, r7, r8, lsl r9 1241 rsb r6, r7, r8, lsr r9 1242 rsb r6, r7, r8, asr r9 1243 rsble r6, r7, r8, ror r9 1244 rsb r4, r5, r6, rrx 1245 1246 @ destination register is optional 1247 rsb r5, #0xf000 1248 rsb r4, r5 1249 rsb r4, r5, lsl #5 1250 rsb r4, r5, lsr #5 1251 rsbne r4, r5, lsr #5 1252 rsb r4, r5, asr #5 1253 rsb r4, r5, ror #5 1254 rsbgt r6, r7, lsl r9 1255 rsb r6, r7, lsr r9 1256 rsb r6, r7, asr r9 1257 rsb r6, r7, ror r9 1258 rsb r4, r5, rrx 1259 1260@ CHECK: rsb r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2] 1261@ CHECK: rsb r4, r5, r6 @ encoding: [0x06,0x40,0x65,0xe0] 1262@ CHECK: rsb r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x65,0xe0] 1263@ CHECK: rsblo r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x65,0x30] 1264@ CHECK: rsb r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x65,0xe0] 1265@ CHECK: rsb r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x65,0xe0] 1266@ CHECK: rsb r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x65,0xe0] 1267@ CHECK: rsb r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x67,0xe0] 1268@ CHECK: rsb r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x67,0xe0] 1269@ CHECK: rsb r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x67,0xe0] 1270@ CHECK: rsble r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x67,0xd0] 1271@ CHECK: rsb r4, r5, r6, rrx @ encoding: [0x66,0x40,0x65,0xe0] 1272 1273@ CHECK: rsb r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2] 1274@ CHECK: rsb r4, r4, r5 @ encoding: [0x05,0x40,0x64,0xe0] 1275@ CHECK: rsb r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x64,0xe0] 1276@ CHECK: rsb r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x64,0xe0] 1277@ CHECK: rsbne r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x64,0x10] 1278@ CHECK: rsb r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x64,0xe0] 1279@ CHECK: rsb r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x64,0xe0] 1280@ CHECK: rsbgt r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x66,0xc0] 1281@ CHECK: rsb r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x66,0xe0] 1282@ CHECK: rsb r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x66,0xe0] 1283@ CHECK: rsb r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x66,0xe0] 1284@ CHECK: rsb r4, r4, r5, rrx @ encoding: [0x65,0x40,0x64,0xe0] 1285 1286@------------------------------------------------------------------------------ 1287@ RSC 1288@------------------------------------------------------------------------------ 1289 rsc r4, r5, #0xf000 1290 rsc r4, r5, r6 1291 rsc r4, r5, r6, lsl #5 1292 rsclo r4, r5, r6, lsr #5 1293 rsc r4, r5, r6, lsr #5 1294 rsc r4, r5, r6, asr #5 1295 rsc r4, r5, r6, ror #5 1296 rsc r6, r7, r8, lsl r9 1297 rsc r6, r7, r8, lsr r9 1298 rsc r6, r7, r8, asr r9 1299 rscle r6, r7, r8, ror r9 1300 rscs r1, r8, #4064 1301 1302 @ destination register is optional 1303 rsc r5, #0xf000 1304 rsc r4, r5 1305 rsc r4, r5, lsl #5 1306 rsc r4, r5, lsr #5 1307 rscne r4, r5, lsr #5 1308 rsc r4, r5, asr #5 1309 rsc r4, r5, ror #5 1310 rscgt r6, r7, lsl r9 1311 rsc r6, r7, lsr r9 1312 rsc r6, r7, asr r9 1313 rsc r6, r7, ror r9 1314 1315@ CHECK: rsc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2] 1316@ CHECK: rsc r4, r5, r6 @ encoding: [0x06,0x40,0xe5,0xe0] 1317@ CHECK: rsc r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0xe5,0xe0] 1318@ CHECK: rsclo r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xe5,0x30] 1319@ CHECK: rsc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xe5,0xe0] 1320@ CHECK: rsc r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0xe5,0xe0] 1321@ CHECK: rsc r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0xe5,0xe0] 1322@ CHECK: rsc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xe7,0xe0] 1323@ CHECK: rsc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xe7,0xe0] 1324@ CHECK: rsc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xe7,0xe0] 1325@ CHECK: rscle r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xe7,0xd0] 1326@ CHECK: rscs r1, r8, #4064 @ encoding: [0xfe,0x1e,0xf8,0xe2] 1327 1328@ CHECK: rsc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2] 1329@ CHECK: rsc r4, r4, r5 @ encoding: [0x05,0x40,0xe4,0xe0] 1330@ CHECK: rsc r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0xe4,0xe0] 1331@ CHECK: rsc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xe4,0xe0] 1332@ CHECK: rscne r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xe4,0x10] 1333@ CHECK: rsc r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0xe4,0xe0] 1334@ CHECK: rsc r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0xe4,0xe0] 1335@ CHECK: rscgt r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xe6,0xc0] 1336@ CHECK: rsc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xe6,0xe0] 1337@ CHECK: rsc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xe6,0xe0] 1338@ CHECK: rsc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xe6,0xe0] 1339 1340@------------------------------------------------------------------------------ 1341@ SADD16/SADD8 1342@------------------------------------------------------------------------------ 1343 sadd16 r1, r2, r3 1344 sadd16gt r1, r2, r3 1345 sadd8 r1, r2, r3 1346 sadd8le r1, r2, r3 1347 1348@ CHECK: sadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x12,0xe6] 1349@ CHECK: sadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x12,0xc6] 1350@ CHECK: sadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x12,0xe6] 1351@ CHECK: sadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x12,0xd6] 1352 1353 1354@------------------------------------------------------------------------------ 1355@ SASX 1356@------------------------------------------------------------------------------ 1357 sasx r9, r12, r0 1358 sasxeq r9, r12, r0 1359 1360@ CHECK: sasx r9, r12, r0 @ encoding: [0x30,0x9f,0x1c,0xe6] 1361@ CHECK: sasxeq r9, r12, r0 @ encoding: [0x30,0x9f,0x1c,0x06] 1362 1363 1364@------------------------------------------------------------------------------ 1365@ SBC 1366@------------------------------------------------------------------------------ 1367 sbc r4, r5, #0xf000 1368 sbc r4, r5, r6 1369 sbc r4, r5, r6, lsl #5 1370 sbc r4, r5, r6, lsr #5 1371 sbc r4, r5, r6, lsr #5 1372 sbc r4, r5, r6, asr #5 1373 sbc r4, r5, r6, ror #5 1374 sbc r6, r7, r8, lsl r9 1375 sbc r6, r7, r8, lsr r9 1376 sbc r6, r7, r8, asr r9 1377 sbc r6, r7, r8, ror r9 1378 1379 @ destination register is optional 1380 sbc r5, #0xf000 1381 sbc r4, r5 1382 sbc r4, r5, lsl #5 1383 sbc r4, r5, lsr #5 1384 sbc r4, r5, lsr #5 1385 sbc r4, r5, asr #5 1386 sbc r4, r5, ror #5 1387 sbc r6, r7, lsl r9 1388 sbc r6, r7, lsr r9 1389 sbc r6, r7, asr r9 1390 sbc r6, r7, ror r9 1391 1392@ CHECK: sbc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2] 1393@ CHECK: sbc r4, r5, r6 @ encoding: [0x06,0x40,0xc5,0xe0] 1394@ CHECK: sbc r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0xc5,0xe0] 1395@ CHECK: sbc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xc5,0xe0] 1396@ CHECK: sbc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xc5,0xe0] 1397@ CHECK: sbc r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0xc5,0xe0] 1398@ CHECK: sbc r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0xc5,0xe0] 1399@ CHECK: sbc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xc7,0xe0] 1400@ CHECK: sbc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xc7,0xe0] 1401@ CHECK: sbc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xc7,0xe0] 1402@ CHECK: sbc r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xc7,0xe0] 1403 1404@ CHECK: sbc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2] 1405@ CHECK: sbc r4, r4, r5 @ encoding: [0x05,0x40,0xc4,0xe0] 1406@ CHECK: sbc r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0xc4,0xe0] 1407@ CHECK: sbc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xc4,0xe0] 1408@ CHECK: sbc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xc4,0xe0] 1409@ CHECK: sbc r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0xc4,0xe0] 1410@ CHECK: sbc r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0xc4,0xe0] 1411@ CHECK: sbc r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xc6,0xe0] 1412@ CHECK: sbc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xc6,0xe0] 1413@ CHECK: sbc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xc6,0xe0] 1414@ CHECK: sbc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xc6,0xe0] 1415 1416 1417@------------------------------------------------------------------------------ 1418@ SBFX 1419@------------------------------------------------------------------------------ 1420 sbfx r4, r5, #16, #1 1421 sbfxgt r4, r5, #16, #16 1422 1423@ CHECK: sbfx r4, r5, #16, #1 @ encoding: [0x55,0x48,0xa0,0xe7] 1424@ CHECK: sbfxgt r4, r5, #16, #16 @ encoding: [0x55,0x48,0xaf,0xc7] 1425 1426 1427@------------------------------------------------------------------------------ 1428@ SEL 1429@------------------------------------------------------------------------------ 1430 sel r9, r2, r1 1431 selne r9, r2, r1 1432 1433@ CHECK: sel r9, r2, r1 @ encoding: [0xb1,0x9f,0x82,0xe6] 1434@ CHECK: selne r9, r2, r1 @ encoding: [0xb1,0x9f,0x82,0x16] 1435 1436 1437@------------------------------------------------------------------------------ 1438@ SETEND 1439@------------------------------------------------------------------------------ 1440 setend be 1441 setend le 1442 1443@ CHECK: setend be @ encoding: [0x00,0x02,0x01,0xf1] 1444@ CHECK: setend le @ encoding: [0x00,0x00,0x01,0xf1] 1445 1446 1447@------------------------------------------------------------------------------ 1448@ SEV 1449@------------------------------------------------------------------------------ 1450 sev 1451 seveq 1452 1453@ CHECK: sev @ encoding: [0x04,0xf0,0x20,0xe3] 1454@ CHECK: seveq @ encoding: [0x04,0xf0,0x20,0x03] 1455 1456 1457@------------------------------------------------------------------------------ 1458@ SHADD16/SHADD8 1459@------------------------------------------------------------------------------ 1460 shadd16 r4, r8, r2 1461 shadd16gt r4, r8, r2 1462 shadd8 r4, r8, r2 1463 shadd8gt r4, r8, r2 1464 1465@ CHECK: shadd16 r4, r8, r2 @ encoding: [0x12,0x4f,0x38,0xe6] 1466@ CHECK: shadd16gt r4, r8, r2 @ encoding: [0x12,0x4f,0x38,0xc6] 1467@ CHECK: shadd8 r4, r8, r2 @ encoding: [0x92,0x4f,0x38,0xe6] 1468@ CHECK: shadd8gt r4, r8, r2 @ encoding: [0x92,0x4f,0x38,0xc6] 1469 1470 1471@------------------------------------------------------------------------------ 1472@ SHASX 1473@------------------------------------------------------------------------------ 1474 shasx r4, r8, r2 1475 shasxgt r4, r8, r2 1476 1477@ CHECK: shasx r4, r8, r2 @ encoding: [0x32,0x4f,0x38,0xe6] 1478@ CHECK: shasxgt r4, r8, r2 @ encoding: [0x32,0x4f,0x38,0xc6] 1479 1480 1481@------------------------------------------------------------------------------ 1482@ SHSUB16/SHSUB8 1483@------------------------------------------------------------------------------ 1484 shsub16 r4, r8, r2 1485 shsub16gt r4, r8, r2 1486 shsub8 r4, r8, r2 1487 shsub8gt r4, r8, r2 1488 1489@ CHECK: shsub16 r4, r8, r2 @ encoding: [0x72,0x4f,0x38,0xe6] 1490@ CHECK: shsub16gt r4, r8, r2 @ encoding: [0x72,0x4f,0x38,0xc6] 1491@ CHECK: shsub8 r4, r8, r2 @ encoding: [0xf2,0x4f,0x38,0xe6] 1492@ CHECK: shsub8gt r4, r8, r2 @ encoding: [0xf2,0x4f,0x38,0xc6] 1493 1494@------------------------------------------------------------------------------ 1495@ SMC 1496@------------------------------------------------------------------------------ 1497 smc #0xf 1498 smceq #0 1499 1500@ CHECK: smc #15 @ encoding: [0x7f,0x00,0x60,0xe1] 1501@ CHECK: smceq #0 @ encoding: [0x70,0x00,0x60,0x01] 1502 1503@------------------------------------------------------------------------------ 1504@ SMLABB/SMLABT/SMLATB/SMLATT 1505@------------------------------------------------------------------------------ 1506 smlabb r3, r1, r9, r0 1507 smlabt r5, r6, r4, r1 1508 smlatb r4, r2, r3, r2 1509 smlatt r8, r3, r8, r4 1510 smlabbge r3, r1, r9, r0 1511 smlabtle r5, r6, r4, r1 1512 smlatbne r4, r2, r3, r2 1513 smlatteq r8, r3, r8, r4 1514 1515@ CHECK: smlabb r3, r1, r9, r0 @ encoding: [0x81,0x09,0x03,0xe1] 1516@ CHECK: smlabt r5, r6, r4, r1 @ encoding: [0xc6,0x14,0x05,0xe1] 1517@ CHECK: smlatb r4, r2, r3, r2 @ encoding: [0xa2,0x23,0x04,0xe1] 1518@ CHECK: smlatt r8, r3, r8, r4 @ encoding: [0xe3,0x48,0x08,0xe1] 1519@ CHECK: smlabbge r3, r1, r9, r0 @ encoding: [0x81,0x09,0x03,0xa1] 1520@ CHECK: smlabtle r5, r6, r4, r1 @ encoding: [0xc6,0x14,0x05,0xd1] 1521@ CHECK: smlatbne r4, r2, r3, r2 @ encoding: [0xa2,0x23,0x04,0x11] 1522@ CHECK: smlatteq r8, r3, r8, r4 @ encoding: [0xe3,0x48,0x08,0x01] 1523 1524@------------------------------------------------------------------------------ 1525@ SMLAD/SMLADX 1526@------------------------------------------------------------------------------ 1527 smlad r2, r3, r5, r8 1528 smladx r2, r3, r5, r8 1529 smladeq r2, r3, r5, r8 1530 smladxhi r2, r3, r5, r8 1531 1532@ CHECK: smlad r2, r3, r5, r8 @ encoding: [0x13,0x85,0x02,0xe7] 1533@ CHECK: smladx r2, r3, r5, r8 @ encoding: [0x33,0x85,0x02,0xe7] 1534@ CHECK: smladeq r2, r3, r5, r8 @ encoding: [0x13,0x85,0x02,0x07] 1535@ CHECK: smladxhi r2, r3, r5, r8 @ encoding: [0x33,0x85,0x02,0x87] 1536 1537 1538@------------------------------------------------------------------------------ 1539@ SMLAL 1540@------------------------------------------------------------------------------ 1541 smlal r2, r3, r5, r8 1542 smlals r2, r3, r5, r8 1543 smlaleq r2, r3, r5, r8 1544 smlalshi r2, r3, r5, r8 1545 1546@ CHECK: smlal r2, r3, r5, r8 @ encoding: [0x95,0x28,0xe3,0xe0] 1547@ CHECK: smlals r2, r3, r5, r8 @ encoding: [0x95,0x28,0xf3,0xe0] 1548@ CHECK: smlaleq r2, r3, r5, r8 @ encoding: [0x95,0x28,0xe3,0x00] 1549@ CHECK: smlalshi r2, r3, r5, r8 @ encoding: [0x95,0x28,0xf3,0x80] 1550 1551 1552@------------------------------------------------------------------------------ 1553@ SMLALBB/SMLALBT/SMLALTB/SMLALTT 1554@------------------------------------------------------------------------------ 1555 smlalbb r3, r1, r9, r0 1556 smlalbt r5, r6, r4, r1 1557 smlaltb r4, r2, r3, r2 1558 smlaltt r8, r3, r8, r4 1559 smlalbbge r3, r1, r9, r0 1560 smlalbtle r5, r6, r4, r1 1561 smlaltbne r4, r2, r3, r2 1562 smlaltteq r8, r3, r8, r4 1563 1564@ CHECK: smlalbb r3, r1, r9, r0 @ encoding: [0x89,0x30,0x41,0xe1] 1565@ CHECK: smlalbt r5, r6, r4, r1 @ encoding: [0xc4,0x51,0x46,0xe1] 1566@ CHECK: smlaltb r4, r2, r3, r2 @ encoding: [0xa3,0x42,0x42,0xe1] 1567@ CHECK: smlaltt r8, r3, r8, r4 @ encoding: [0xe8,0x84,0x43,0xe1] 1568@ CHECK: smlalbbge r3, r1, r9, r0 @ encoding: [0x89,0x30,0x41,0xa1] 1569@ CHECK: smlalbtle r5, r6, r4, r1 @ encoding: [0xc4,0x51,0x46,0xd1] 1570@ CHECK: smlaltbne r4, r2, r3, r2 @ encoding: [0xa3,0x42,0x42,0x11] 1571@ CHECK: smlaltteq r8, r3, r8, r4 @ encoding: [0xe8,0x84,0x43,0x01] 1572 1573 1574@------------------------------------------------------------------------------ 1575@ SMLALD/SMLALDX 1576@------------------------------------------------------------------------------ 1577 smlald r2, r3, r5, r8 1578 smlaldx r2, r3, r5, r8 1579 smlaldeq r2, r3, r5, r8 1580 smlaldxhi r2, r3, r5, r8 1581 1582@ CHECK: smlald r2, r3, r5, r8 @ encoding: [0x15,0x28,0x43,0xe7] 1583@ CHECK: smlaldx r2, r3, r5, r8 @ encoding: [0x35,0x28,0x43,0xe7] 1584@ CHECK: smlaldeq r2, r3, r5, r8 @ encoding: [0x15,0x28,0x43,0x07] 1585@ CHECK: smlaldxhi r2, r3, r5, r8 @ encoding: [0x35,0x28,0x43,0x87] 1586 1587 1588@------------------------------------------------------------------------------ 1589@ SMLAWB/SMLAWT 1590@------------------------------------------------------------------------------ 1591 smlawb r2, r3, r10, r8 1592 smlawt r8, r3, r5, r9 1593 smlawbeq r2, r7, r5, r8 1594 smlawthi r1, r3, r0, r8 1595 1596@ CHECK: smlawb r2, r3, r10, r8 @ encoding: [0x83,0x8a,0x22,0xe1] 1597@ CHECK: smlawt r8, r3, r5, r9 @ encoding: [0xc3,0x95,0x28,0xe1] 1598@ CHECK: smlawbeq r2, r7, r5, r8 @ encoding: [0x87,0x85,0x22,0x01] 1599@ CHECK: smlawthi r1, r3, r0, r8 @ encoding: [0xc3,0x80,0x21,0x81] 1600 1601 1602@------------------------------------------------------------------------------ 1603@ SMLSD/SMLSDX 1604@------------------------------------------------------------------------------ 1605 smlsd r2, r3, r5, r8 1606 smlsdx r2, r3, r5, r8 1607 smlsdeq r2, r3, r5, r8 1608 smlsdxhi r2, r3, r5, r8 1609 1610@ CHECK: smlsd r2, r3, r5, r8 @ encoding: [0x53,0x85,0x02,0xe7] 1611@ CHECK: smlsdx r2, r3, r5, r8 @ encoding: [0x73,0x85,0x02,0xe7] 1612@ CHECK: smlsdeq r2, r3, r5, r8 @ encoding: [0x53,0x85,0x02,0x07] 1613@ CHECK: smlsdxhi r2, r3, r5, r8 @ encoding: [0x73,0x85,0x02,0x87] 1614 1615 1616@------------------------------------------------------------------------------ 1617@ SMLSLD/SMLSLDX 1618@------------------------------------------------------------------------------ 1619 smlsld r2, r9, r5, r1 1620 smlsldx r4, r11, r2, r8 1621 smlsldeq r8, r2, r5, r6 1622 smlsldxhi r1, r0, r3, r8 1623 1624@ CHECK: smlsld r2, r9, r5, r1 @ encoding: [0x55,0x21,0x49,0xe7] 1625@ CHECK: smlsldx r4, r11, r2, r8 @ encoding: [0x72,0x48,0x4b,0xe7] 1626@ CHECK: smlsldeq r8, r2, r5, r6 @ encoding: [0x55,0x86,0x42,0x07] 1627@ CHECK: smlsldxhi r1, r0, r3, r8 @ encoding: [0x73,0x18,0x40,0x87] 1628 1629 1630@------------------------------------------------------------------------------ 1631@ SMMLA/SMMLAR 1632@------------------------------------------------------------------------------ 1633 smmla r1, r2, r3, r4 1634 smmlar r4, r3, r2, r1 1635 smmlalo r1, r2, r3, r4 1636 smmlarcs r4, r3, r2, r1 1637 1638@ CHECK: smmla r1, r2, r3, r4 @ encoding: [0x12,0x43,0x51,0xe7] 1639@ CHECK: smmlar r4, r3, r2, r1 @ encoding: [0x33,0x12,0x54,0xe7] 1640@ CHECK: smmlalo r1, r2, r3, r4 @ encoding: [0x12,0x43,0x51,0x37] 1641@ CHECK: smmlarhs r4, r3, r2, r1 @ encoding: [0x33,0x12,0x54,0x27] 1642 1643 1644@------------------------------------------------------------------------------ 1645@ SMMLS/SMMLSR 1646@------------------------------------------------------------------------------ 1647 smmls r1, r2, r3, r4 1648 smmlsr r4, r3, r2, r1 1649 smmlslo r1, r2, r3, r4 1650 smmlsrcs r4, r3, r2, r1 1651 1652@ CHECK: smmls r1, r2, r3, r4 @ encoding: [0xd2,0x43,0x51,0xe7] 1653@ CHECK: smmlsr r4, r3, r2, r1 @ encoding: [0xf3,0x12,0x54,0xe7] 1654@ CHECK: smmlslo r1, r2, r3, r4 @ encoding: [0xd2,0x43,0x51,0x37] 1655@ CHECK: smmlsrhs r4, r3, r2, r1 @ encoding: [0xf3,0x12,0x54,0x27] 1656 1657 1658@------------------------------------------------------------------------------ 1659@ SMMUL/SMMULR 1660@------------------------------------------------------------------------------ 1661 smmul r2, r3, r4 1662 smmulr r3, r2, r1 1663 smmulcc r2, r3, r4 1664 smmulrhs r3, r2, r1 1665 1666@ CHECK: smmul r2, r3, r4 @ encoding: [0x13,0xf4,0x52,0xe7] 1667@ CHECK: smmulr r3, r2, r1 @ encoding: [0x32,0xf1,0x53,0xe7] 1668@ CHECK: smmullo r2, r3, r4 @ encoding: [0x13,0xf4,0x52,0x37] 1669@ CHECK: smmulrhs r3, r2, r1 @ encoding: [0x32,0xf1,0x53,0x27] 1670 1671 1672@------------------------------------------------------------------------------ 1673@ SMUAD/SMUADX 1674@------------------------------------------------------------------------------ 1675 smuad r2, r3, r4 1676 smuadx r3, r2, r1 1677 smuadlt r2, r3, r4 1678 smuadxge r3, r2, r1 1679 1680@ CHECK: smuad r2, r3, r4 @ encoding: [0x13,0xf4,0x02,0xe7] 1681@ CHECK: smuadx r3, r2, r1 @ encoding: [0x32,0xf1,0x03,0xe7] 1682@ CHECK: smuadlt r2, r3, r4 @ encoding: [0x13,0xf4,0x02,0xb7] 1683@ CHECK: smuadxge r3, r2, r1 @ encoding: [0x32,0xf1,0x03,0xa7] 1684 1685 1686@------------------------------------------------------------------------------ 1687@ SMULBB/SMULBT/SMULTB/SMULTT 1688@------------------------------------------------------------------------------ 1689 smulbb r3, r9, r0 1690 smulbt r5, r4, r1 1691 smultb r4, r2, r2 1692 smultt r8, r3, r4 1693 smulbbge r1, r9, r0 1694 smulbtle r5, r6, r4 1695 smultbne r2, r3, r2 1696 smultteq r8, r3, r4 1697 1698@ CHECK: smulbb r3, r9, r0 @ encoding: [0x89,0x00,0x63,0xe1] 1699@ CHECK: smulbt r5, r4, r1 @ encoding: [0xc4,0x01,0x65,0xe1] 1700@ CHECK: smultb r4, r2, r2 @ encoding: [0xa2,0x02,0x64,0xe1] 1701@ CHECK: smultt r8, r3, r4 @ encoding: [0xe3,0x04,0x68,0xe1] 1702@ CHECK: smulbbge r1, r9, r0 @ encoding: [0x89,0x00,0x61,0xa1] 1703@ CHECK: smulbtle r5, r6, r4 @ encoding: [0xc6,0x04,0x65,0xd1] 1704@ CHECK: smultbne r2, r3, r2 @ encoding: [0xa3,0x02,0x62,0x11] 1705@ CHECK: smultteq r8, r3, r4 @ encoding: [0xe3,0x04,0x68,0x01] 1706 1707 1708@------------------------------------------------------------------------------ 1709@ SMULL 1710@------------------------------------------------------------------------------ 1711 smull r3, r9, r0, r1 1712 smulls r3, r9, r0, r2 1713 smulleq r8, r3, r4, r5 1714 smullseq r8, r3, r4, r3 1715 1716@ CHECK: smull r3, r9, r0, r1 @ encoding: [0x90,0x31,0xc9,0xe0] 1717@ CHECK: smulls r3, r9, r0, r2 @ encoding: [0x90,0x32,0xd9,0xe0] 1718@ CHECK: smulleq r8, r3, r4, r5 @ encoding: [0x94,0x85,0xc3,0x00] 1719@ CHECK: smullseq r8, r3, r4, r3 @ encoding: [0x94,0x83,0xd3,0x00] 1720 1721 1722@------------------------------------------------------------------------------ 1723@ SMULWB/SMULWT 1724@------------------------------------------------------------------------------ 1725 smulwb r3, r9, r0 1726 smulwt r3, r9, r2 1727 1728@ CHECK: smulwb r3, r9, r0 @ encoding: [0xa9,0x00,0x23,0xe1] 1729@ CHECK: smulwt r3, r9, r2 @ encoding: [0xe9,0x02,0x23,0xe1] 1730 1731 1732@------------------------------------------------------------------------------ 1733@ SMUSD/SMUSDX 1734@------------------------------------------------------------------------------ 1735 smusd r3, r0, r1 1736 smusdx r3, r9, r2 1737 smusdeq r8, r3, r2 1738 smusdxne r7, r4, r3 1739 1740@ CHECK: smusd r3, r0, r1 @ encoding: [0x50,0xf1,0x03,0xe7] 1741@ CHECK: smusdx r3, r9, r2 @ encoding: [0x79,0xf2,0x03,0xe7] 1742@ CHECK: smusdeq r8, r3, r2 @ encoding: [0x53,0xf2,0x08,0x07] 1743@ CHECK: smusdxne r7, r4, r3 @ encoding: [0x74,0xf3,0x07,0x17] 1744 1745 1746@------------------------------------------------------------------------------ 1747@ SRS 1748@------------------------------------------------------------------------------ 1749 srsda sp, #5 1750 srsdb sp, #1 1751 srsia sp, #0 1752 srsib sp, #15 1753 1754 srsda sp!, #31 1755 srsdb sp!, #19 1756 srsia sp!, #2 1757 srsib sp!, #14 1758 1759 srsfa sp, #11 1760 srsea sp, #10 1761 srsfd sp, #9 1762 srsed sp, #5 1763 1764 srsfa sp!, #5 1765 srsea sp!, #5 1766 srsfd sp!, #5 1767 srsed sp!, #5 1768 1769 srs sp, #5 1770 srs sp!, #5 1771 1772@ CHECK: srsda sp, #5 @ encoding: [0x05,0x05,0x4d,0xf8] 1773@ CHECK: srsdb sp, #1 @ encoding: [0x01,0x05,0x4d,0xf9] 1774@ CHECK: srsia sp, #0 @ encoding: [0x00,0x05,0xcd,0xf8] 1775@ CHECK: srsib sp, #15 @ encoding: [0x0f,0x05,0xcd,0xf9] 1776 1777@ CHECK: srsda sp!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8] 1778@ CHECK: srsdb sp!, #19 @ encoding: [0x13,0x05,0x6d,0xf9] 1779@ CHECK: srsia sp!, #2 @ encoding: [0x02,0x05,0xed,0xf8] 1780@ CHECK: srsib sp!, #14 @ encoding: [0x0e,0x05,0xed,0xf9] 1781 1782@ CHECK: srsda sp, #11 @ encoding: [0x0b,0x05,0x4d,0xf8] 1783@ CHECK: srsdb sp, #10 @ encoding: [0x0a,0x05,0x4d,0xf9] 1784@ CHECK: srsia sp, #9 @ encoding: [0x09,0x05,0xcd,0xf8] 1785@ CHECK: srsib sp, #5 @ encoding: [0x05,0x05,0xcd,0xf9] 1786 1787@ CHECK: srsda sp!, #5 @ encoding: [0x05,0x05,0x6d,0xf8] 1788@ CHECK: srsdb sp!, #5 @ encoding: [0x05,0x05,0x6d,0xf9] 1789@ CHECK: srsia sp!, #5 @ encoding: [0x05,0x05,0xed,0xf8] 1790@ CHECK: srsib sp!, #5 @ encoding: [0x05,0x05,0xed,0xf9] 1791 1792@ CHECK: srsia sp, #5 @ encoding: [0x05,0x05,0xcd,0xf8] 1793@ CHECK: srsia sp!, #5 @ encoding: [0x05,0x05,0xed,0xf8] 1794 1795 1796@------------------------------------------------------------------------------ 1797@ SSAT 1798@------------------------------------------------------------------------------ 1799 ssat r8, #1, r10 1800 ssat r8, #1, r10, lsl #0 1801 ssat r8, #1, r10, lsl #31 1802 ssat r8, #1, r10, asr #32 1803 ssat r8, #1, r10, asr #1 1804 1805@ CHECK: ssat r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6] 1806@ CHECK: ssat r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6] 1807@ CHECK: ssat r8, #1, r10, lsl #31 @ encoding: [0x9a,0x8f,0xa0,0xe6] 1808@ CHECK: ssat r8, #1, r10, asr #32 @ encoding: [0x5a,0x80,0xa0,0xe6] 1809@ CHECK: ssat r8, #1, r10, asr #1 @ encoding: [0xda,0x80,0xa0,0xe6] 1810 1811 1812@------------------------------------------------------------------------------ 1813@ SSAT16 1814@------------------------------------------------------------------------------ 1815 ssat16 r2, #1, r7 1816 ssat16 r3, #16, r5 1817 1818@ CHECK: ssat16 r2, #1, r7 @ encoding: [0x37,0x2f,0xa0,0xe6] 1819@ CHECK: ssat16 r3, #16, r5 @ encoding: [0x35,0x3f,0xaf,0xe6] 1820 1821 1822@------------------------------------------------------------------------------ 1823@ SSAX 1824@------------------------------------------------------------------------------ 1825 ssax r2, r3, r4 1826 ssaxlt r2, r3, r4 1827 1828@ CHECK: ssax r2, r3, r4 @ encoding: [0x54,0x2f,0x13,0xe6] 1829@ CHECK: ssaxlt r2, r3, r4 @ encoding: [0x54,0x2f,0x13,0xb6] 1830 1831@------------------------------------------------------------------------------ 1832@ SSUB16/SSUB8 1833@------------------------------------------------------------------------------ 1834 ssub16 r1, r0, r6 1835 ssub16ne r5, r3, r2 1836 ssub8 r9, r2, r4 1837 ssub8eq r5, r1, r2 1838 1839@ CHECK: ssub16 r1, r0, r6 @ encoding: [0x76,0x1f,0x10,0xe6] 1840@ CHECK: ssub16ne r5, r3, r2 @ encoding: [0x72,0x5f,0x13,0x16] 1841@ CHECK: ssub8 r9, r2, r4 @ encoding: [0xf4,0x9f,0x12,0xe6] 1842@ CHECK: ssub8eq r5, r1, r2 @ encoding: [0xf2,0x5f,0x11,0x06] 1843 1844 1845@------------------------------------------------------------------------------ 1846@ STM* 1847@------------------------------------------------------------------------------ 1848 stm r2, {r1,r3-r6,sp} 1849 stmia r3, {r1,r3-r6,lr} 1850 stmib r4, {r1,r3-r6,sp} 1851 stmda r5, {r1,r3-r6,sp} 1852 stmdb r6, {r1,r3-r6,r8} 1853 stmfd sp, {r1,r3-r6,sp} 1854 1855 @ with update 1856 stm r8!, {r1,r3-r6,sp} 1857 stmib r9!, {r1,r3-r6,sp} 1858 stmda sp!, {r1,r3-r6} 1859 stmdb r0!, {r1,r5,r7,sp} 1860 1861@ CHECK: stm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8] 1862@ CHECK: stm r3, {lr, r1, r3, r4, r5, r6} @ encoding: [0x7a,0x40,0x83,0xe8] 1863@ CHECK: stmib r4, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x84,0xe9] 1864@ CHECK: stmda r5, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x05,0xe8] 1865@ CHECK: stmdb r6, {r1, r3, r4, r5, r6, r8} @ encoding: [0x7a,0x01,0x06,0xe9] 1866@ CHECK: stmdb sp, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x0d,0xe9] 1867 1868@ CHECK: stm r8!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa8,0xe8] 1869@ CHECK: stmib r9!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa9,0xe9] 1870@ CHECK: stmda sp!, {r1, r3, r4, r5, r6} @ encoding: [0x7a,0x00,0x2d,0xe8] 1871@ CHECK: stmdb r0!, {r1, r5, r7, sp} @ encoding: [0xa2,0x20,0x20,0xe9] 1872 1873 1874@------------------------------------------------------------------------------ 1875@ STREX/STREXB/STREXH/STREXD 1876@------------------------------------------------------------------------------ 1877 strexb r1, r3, [r4] 1878 strexh r4, r2, [r5] 1879 strex r2, r1, [r7] 1880 strexd r6, r2, r3, [r8] 1881 1882@ CHECK: strexb r1, r3, [r4] @ encoding: [0x93,0x1f,0xc4,0xe1] 1883@ CHECK: strexh r4, r2, [r5] @ encoding: [0x92,0x4f,0xe5,0xe1] 1884@ CHECK: strex r2, r1, [r7] @ encoding: [0x91,0x2f,0x87,0xe1] 1885@ CHECK: strexd r6, r2, r3, [r8] @ encoding: [0x92,0x6f,0xa8,0xe1] 1886 1887@------------------------------------------------------------------------------ 1888@ STR 1889@------------------------------------------------------------------------------ 1890 strpl r3, [r10, #-0]! 1891 strpl r3, [r10, #0]! 1892 1893@ CHECK: strpl r3, [r10, #-0]! @ encoding: [0x00,0x30,0x2a,0x55] 1894@ CHECK: strpl r3, [r10]! @ encoding: [0x00,0x30,0xaa,0x55] 1895 1896@------------------------------------------------------------------------------ 1897@ SUB 1898@------------------------------------------------------------------------------ 1899 sub r4, r5, #0xf000 1900 sub r4, r5, r6 1901 sub r4, r5, r6, lsl #5 1902 sub r4, r5, r6, lsr #5 1903 sub r4, r5, r6, lsr #5 1904 sub r4, r5, r6, asr #5 1905 sub r4, r5, r6, ror #5 1906 sub r6, r7, r8, lsl r9 1907 sub r6, r7, r8, lsr r9 1908 sub r6, r7, r8, asr r9 1909 sub r6, r7, r8, ror r9 1910 1911 @ destination register is optional 1912 sub r5, #0xf000 1913 sub r4, r5 1914 sub r4, r5, lsl #5 1915 sub r4, r5, lsr #5 1916 sub r4, r5, lsr #5 1917 sub r4, r5, asr #5 1918 sub r4, r5, ror #5 1919 sub r6, r7, lsl r9 1920 sub r6, r7, lsr r9 1921 sub r6, r7, asr r9 1922 sub r6, r7, ror r9 1923 1924@ CHECK: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2] 1925@ CHECK: sub r4, r5, r6 @ encoding: [0x06,0x40,0x45,0xe0] 1926@ CHECK: sub r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x45,0xe0] 1927@ CHECK: sub r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x45,0xe0] 1928@ CHECK: sub r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x45,0xe0] 1929@ CHECK: sub r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x45,0xe0] 1930@ CHECK: sub r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x45,0xe0] 1931@ CHECK: sub r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x47,0xe0] 1932@ CHECK: sub r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x47,0xe0] 1933@ CHECK: sub r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x47,0xe0] 1934@ CHECK: sub r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x47,0xe0] 1935 1936 1937@ CHECK: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2] 1938@ CHECK: sub r4, r4, r5 @ encoding: [0x05,0x40,0x44,0xe0] 1939@ CHECK: sub r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x44,0xe0] 1940@ CHECK: sub r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x44,0xe0] 1941@ CHECK: sub r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x44,0xe0] 1942@ CHECK: sub r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x44,0xe0] 1943@ CHECK: sub r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x44,0xe0] 1944@ CHECK: sub r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x46,0xe0] 1945@ CHECK: sub r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x46,0xe0] 1946@ CHECK: sub r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x46,0xe0] 1947@ CHECK: sub r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x46,0xe0] 1948 1949 1950@------------------------------------------------------------------------------ 1951@ SVC 1952@------------------------------------------------------------------------------ 1953 svc #16 1954 svc #0 1955 svc #0xffffff 1956 1957@ CHECK: svc #16 @ encoding: [0x10,0x00,0x00,0xef] 1958@ CHECK: svc #0 @ encoding: [0x00,0x00,0x00,0xef] 1959@ CHECK: svc #16777215 @ encoding: [0xff,0xff,0xff,0xef] 1960 1961 1962@------------------------------------------------------------------------------ 1963@ SWP/SWPB 1964@------------------------------------------------------------------------------ 1965 swp r1, r2, [r3] 1966 swp r4, r4, [r6] 1967 swpb r5, r1, [r9] 1968 1969@ CHECK: swp r1, r2, [r3] @ encoding: [0x92,0x10,0x03,0xe1] 1970@ CHECK: swp r4, r4, [r6] @ encoding: [0x94,0x40,0x06,0xe1] 1971@ CHECK: swpb r5, r1, [r9] @ encoding: [0x91,0x50,0x49,0xe1] 1972 1973 1974@------------------------------------------------------------------------------ 1975@ SXTAB 1976@------------------------------------------------------------------------------ 1977 sxtab r2, r3, r4 1978 sxtab r4, r5, r6, ror #0 1979 sxtablt r6, r2, r9, ror #8 1980 sxtab r5, r1, r4, ror #16 1981 sxtab r7, r8, r3, ror #24 1982 1983@ CHECK: sxtab r2, r3, r4 @ encoding: [0x74,0x20,0xa3,0xe6] 1984@ CHECK: sxtab r4, r5, r6 @ encoding: [0x76,0x40,0xa5,0xe6] 1985@ CHECK: sxtablt r6, r2, r9, ror #8 @ encoding: [0x79,0x64,0xa2,0xb6] 1986@ CHECK: sxtab r5, r1, r4, ror #16 @ encoding: [0x74,0x58,0xa1,0xe6] 1987@ CHECK: sxtab r7, r8, r3, ror #24 @ encoding: [0x73,0x7c,0xa8,0xe6] 1988 1989 1990@------------------------------------------------------------------------------ 1991@ SXTAB16 1992@------------------------------------------------------------------------------ 1993 sxtab16ge r0, r1, r4 1994 sxtab16 r6, r2, r7, ror #0 1995 sxtab16 r3, r5, r8, ror #8 1996 sxtab16 r3, r2, r1, ror #16 1997 sxtab16eq r1, r2, r3, ror #24 1998 1999@ CHECK: sxtab16ge r0, r1, r4 @ encoding: [0x74,0x00,0x81,0xa6] 2000@ CHECK: sxtab16 r6, r2, r7 @ encoding: [0x77,0x60,0x82,0xe6] 2001@ CHECK: sxtab16 r3, r5, r8, ror #8 @ encoding: [0x78,0x34,0x85,0xe6] 2002@ CHECK: sxtab16 r3, r2, r1, ror #16 @ encoding: [0x71,0x38,0x82,0xe6] 2003@ CHECK: sxtab16eq r1, r2, r3, ror #24 @ encoding: [0x73,0x1c,0x82,0x06] 2004 2005@------------------------------------------------------------------------------ 2006@ SXTAH 2007@------------------------------------------------------------------------------ 2008 sxtah r1, r3, r9 2009 sxtahhi r6, r1, r6, ror #0 2010 sxtah r3, r8, r3, ror #8 2011 sxtahlo r2, r2, r4, ror #16 2012 sxtah r9, r3, r3, ror #24 2013 2014@ CHECK: sxtah r1, r3, r9 @ encoding: [0x79,0x10,0xb3,0xe6] 2015@ CHECK: sxtahhi r6, r1, r6 @ encoding: [0x76,0x60,0xb1,0x86] 2016@ CHECK: sxtah r3, r8, r3, ror #8 @ encoding: [0x73,0x34,0xb8,0xe6] 2017@ CHECK: sxtahlo r2, r2, r4, ror #16 @ encoding: [0x74,0x28,0xb2,0x36] 2018@ CHECK: sxtah r9, r3, r3, ror #24 @ encoding: [0x73,0x9c,0xb3,0xe6] 2019 2020@------------------------------------------------------------------------------ 2021@ SXTB 2022@------------------------------------------------------------------------------ 2023 sxtbge r2, r4 2024 sxtb r5, r6, ror #0 2025 sxtb r6, r9, ror #8 2026 sxtbcc r5, r1, ror #16 2027 sxtb r8, r3, ror #24 2028 2029@ CHECK: sxtbge r2, r4 @ encoding: [0x74,0x20,0xaf,0xa6] 2030@ CHECK: sxtb r5, r6 @ encoding: [0x76,0x50,0xaf,0xe6] 2031@ CHECK: sxtb r6, r9, ror #8 @ encoding: [0x79,0x64,0xaf,0xe6] 2032@ CHECK: sxtblo r5, r1, ror #16 @ encoding: [0x71,0x58,0xaf,0x36] 2033@ CHECK: sxtb r8, r3, ror #24 @ encoding: [0x73,0x8c,0xaf,0xe6] 2034 2035 2036@------------------------------------------------------------------------------ 2037@ SXTB16 2038@------------------------------------------------------------------------------ 2039 sxtb16 r1, r4 2040 sxtb16 r6, r7, ror #0 2041 sxtb16cs r3, r5, ror #8 2042 sxtb16 r3, r1, ror #16 2043 sxtb16ge r2, r3, ror #24 2044 2045@ CHECK: sxtb16 r1, r4 @ encoding: [0x74,0x10,0x8f,0xe6] 2046@ CHECK: sxtb16 r6, r7 @ encoding: [0x77,0x60,0x8f,0xe6] 2047@ CHECK: sxtb16hs r3, r5, ror #8 @ encoding: [0x75,0x34,0x8f,0x26] 2048@ CHECK: sxtb16 r3, r1, ror #16 @ encoding: [0x71,0x38,0x8f,0xe6] 2049@ CHECK: sxtb16ge r2, r3, ror #24 @ encoding: [0x73,0x2c,0x8f,0xa6] 2050 2051 2052@------------------------------------------------------------------------------ 2053@ SXTH 2054@------------------------------------------------------------------------------ 2055 sxthne r3, r9 2056 sxth r1, r6, ror #0 2057 sxth r3, r8, ror #8 2058 sxthle r2, r2, ror #16 2059 sxth r9, r3, ror #24 2060 2061@ CHECK: sxthne r3, r9 @ encoding: [0x79,0x30,0xbf,0x16] 2062@ CHECK: sxth r1, r6 @ encoding: [0x76,0x10,0xbf,0xe6] 2063@ CHECK: sxth r3, r8, ror #8 @ encoding: [0x78,0x34,0xbf,0xe6] 2064@ CHECK: sxthle r2, r2, ror #16 @ encoding: [0x72,0x28,0xbf,0xd6] 2065@ CHECK: sxth r9, r3, ror #24 @ encoding: [0x73,0x9c,0xbf,0xe6] 2066 2067 2068@------------------------------------------------------------------------------ 2069@ TEQ 2070@------------------------------------------------------------------------------ 2071 teq r5, #0xf000 2072 teq r4, r5 2073 teq r4, r5, lsl #5 2074 teq r4, r5, lsr #5 2075 teq r4, r5, lsr #5 2076 teq r4, r5, asr #5 2077 teq r4, r5, ror #5 2078 teq r6, r7, lsl r9 2079 teq r6, r7, lsr r9 2080 teq r6, r7, asr r9 2081 teq r6, r7, ror r9 2082 2083@ CHECK: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3] 2084@ CHECK: teq r4, r5 @ encoding: [0x05,0x00,0x34,0xe1] 2085@ CHECK: teq r4, r5, lsl #5 @ encoding: [0x85,0x02,0x34,0xe1] 2086@ CHECK: teq r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x34,0xe1] 2087@ CHECK: teq r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x34,0xe1] 2088@ CHECK: teq r4, r5, asr #5 @ encoding: [0xc5,0x02,0x34,0xe1] 2089@ CHECK: teq r4, r5, ror #5 @ encoding: [0xe5,0x02,0x34,0xe1] 2090@ CHECK: teq r6, r7, lsl r9 @ encoding: [0x17,0x09,0x36,0xe1] 2091@ CHECK: teq r6, r7, lsr r9 @ encoding: [0x37,0x09,0x36,0xe1] 2092@ CHECK: teq r6, r7, asr r9 @ encoding: [0x57,0x09,0x36,0xe1] 2093@ CHECK: teq r6, r7, ror r9 @ encoding: [0x77,0x09,0x36,0xe1] 2094 2095 2096@------------------------------------------------------------------------------ 2097@ TST 2098@------------------------------------------------------------------------------ 2099 tst r5, #0xf000 2100 tst r4, r5 2101 tst r4, r5, lsl #5 2102 tst r4, r5, lsr #5 2103 tst r4, r5, lsr #5 2104 tst r4, r5, asr #5 2105 tst r4, r5, ror #5 2106 tst r6, r7, lsl r9 2107 tst r6, r7, lsr r9 2108 tst r6, r7, asr r9 2109 tst r6, r7, ror r9 2110 2111@ CHECK: tst r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3] 2112@ CHECK: tst r4, r5 @ encoding: [0x05,0x00,0x14,0xe1] 2113@ CHECK: tst r4, r5, lsl #5 @ encoding: [0x85,0x02,0x14,0xe1] 2114@ CHECK: tst r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x14,0xe1] 2115@ CHECK: tst r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x14,0xe1] 2116@ CHECK: tst r4, r5, asr #5 @ encoding: [0xc5,0x02,0x14,0xe1] 2117@ CHECK: tst r4, r5, ror #5 @ encoding: [0xe5,0x02,0x14,0xe1] 2118@ CHECK: tst r6, r7, lsl r9 @ encoding: [0x17,0x09,0x16,0xe1] 2119@ CHECK: tst r6, r7, lsr r9 @ encoding: [0x37,0x09,0x16,0xe1] 2120@ CHECK: tst r6, r7, asr r9 @ encoding: [0x57,0x09,0x16,0xe1] 2121@ CHECK: tst r6, r7, ror r9 @ encoding: [0x77,0x09,0x16,0xe1] 2122 2123 2124@------------------------------------------------------------------------------ 2125@ UADD16/UADD8 2126@------------------------------------------------------------------------------ 2127 uadd16 r1, r2, r3 2128 uadd16gt r1, r2, r3 2129 uadd8 r1, r2, r3 2130 uadd8le r1, r2, r3 2131 2132@ CHECK: uadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x52,0xe6] 2133@ CHECK: uadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x52,0xc6] 2134@ CHECK: uadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x52,0xe6] 2135@ CHECK: uadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x52,0xd6] 2136 2137 2138@------------------------------------------------------------------------------ 2139@ UASX 2140@------------------------------------------------------------------------------ 2141 uasx r9, r12, r0 2142 uasxeq r9, r12, r0 2143 2144@ CHECK: uasx r9, r12, r0 @ encoding: [0x30,0x9f,0x5c,0xe6] 2145@ CHECK: uasxeq r9, r12, r0 @ encoding: [0x30,0x9f,0x5c,0x06] 2146 2147 2148@------------------------------------------------------------------------------ 2149@ UBFX 2150@------------------------------------------------------------------------------ 2151 ubfx r4, r5, #16, #1 2152 ubfxgt r4, r5, #16, #16 2153 2154@ CHECK: ubfx r4, r5, #16, #1 @ encoding: [0x55,0x48,0xe0,0xe7] 2155@ CHECK: ubfxgt r4, r5, #16, #16 @ encoding: [0x55,0x48,0xef,0xc7] 2156 2157 2158@------------------------------------------------------------------------------ 2159@ UHADD16/UHADD8 2160@------------------------------------------------------------------------------ 2161 uhadd16 r4, r8, r2 2162 uhadd16gt r4, r8, r2 2163 uhadd8 r4, r8, r2 2164 uhadd8gt r4, r8, r2 2165 2166@ CHECK: uhadd16 r4, r8, r2 @ encoding: [0x12,0x4f,0x78,0xe6] 2167@ CHECK: uhadd16gt r4, r8, r2 @ encoding: [0x12,0x4f,0x78,0xc6] 2168@ CHECK: uhadd8 r4, r8, r2 @ encoding: [0x92,0x4f,0x78,0xe6] 2169@ CHECK: uhadd8gt r4, r8, r2 @ encoding: [0x92,0x4f,0x78,0xc6] 2170 2171 2172@------------------------------------------------------------------------------ 2173@ UHASX 2174@------------------------------------------------------------------------------ 2175 uhasx r4, r8, r2 2176 uhasxgt r4, r8, r2 2177 2178@ CHECK: uhasx r4, r8, r2 @ encoding: [0x32,0x4f,0x78,0xe6] 2179@ CHECK: uhasxgt r4, r8, r2 @ encoding: [0x32,0x4f,0x78,0xc6] 2180 2181 2182@------------------------------------------------------------------------------ 2183@ UHSUB16/UHSUB8 2184@------------------------------------------------------------------------------ 2185 uhsub16 r4, r8, r2 2186 uhsub16gt r4, r8, r2 2187 uhsub8 r4, r8, r2 2188 uhsub8gt r4, r8, r2 2189 2190@ CHECK: uhsub16 r4, r8, r2 @ encoding: [0x72,0x4f,0x78,0xe6] 2191@ CHECK: uhsub16gt r4, r8, r2 @ encoding: [0x72,0x4f,0x78,0xc6] 2192@ CHECK: uhsub8 r4, r8, r2 @ encoding: [0xf2,0x4f,0x78,0xe6] 2193@ CHECK: uhsub8gt r4, r8, r2 @ encoding: [0xf2,0x4f,0x78,0xc6] 2194 2195 2196@------------------------------------------------------------------------------ 2197@ UMAAL 2198@------------------------------------------------------------------------------ 2199 umaal r3, r4, r5, r6 2200 umaallt r3, r4, r5, r6 2201 2202@ CHECK: umaal r3, r4, r5, r6 @ encoding: [0x95,0x36,0x44,0xe0] 2203@ CHECK: umaallt r3, r4, r5, r6 @ encoding: [0x95,0x36,0x44,0xb0] 2204 2205 2206@------------------------------------------------------------------------------ 2207@ UMLAL 2208@------------------------------------------------------------------------------ 2209 umlal r2, r4, r6, r8 2210 umlalgt r6, r1, r2, r6 2211 umlals r2, r9, r2, r3 2212 umlalseq r3, r5, r1, r2 2213 2214@ CHECK: umlal r2, r4, r6, r8 @ encoding: [0x96,0x28,0xa4,0xe0] 2215@ CHECK: umlalgt r6, r1, r2, r6 @ encoding: [0x92,0x66,0xa1,0xc0] 2216@ CHECK: umlals r2, r9, r2, r3 @ encoding: [0x92,0x23,0xb9,0xe0] 2217@ CHECK: umlalseq r3, r5, r1, r2 @ encoding: [0x91,0x32,0xb5,0x00] 2218 2219 2220@------------------------------------------------------------------------------ 2221@ UMULL 2222@------------------------------------------------------------------------------ 2223 umull r2, r4, r6, r8 2224 umullgt r6, r1, r2, r6 2225 umulls r2, r9, r2, r3 2226 umullseq r3, r5, r1, r2 2227 2228@ CHECK: umull r2, r4, r6, r8 @ encoding: [0x96,0x28,0x84,0xe0] 2229@ CHECK: umullgt r6, r1, r2, r6 @ encoding: [0x92,0x66,0x81,0xc0] 2230@ CHECK: umulls r2, r9, r2, r3 @ encoding: [0x92,0x23,0x99,0xe0] 2231@ CHECK: umullseq r3, r5, r1, r2 @ encoding: [0x91,0x32,0x95,0x00] 2232 2233 2234@------------------------------------------------------------------------------ 2235@ UQADD16/UQADD8 2236@------------------------------------------------------------------------------ 2237 uqadd16 r1, r2, r3 2238 uqadd16gt r4, r7, r9 2239 uqadd8 r3, r4, r8 2240 uqadd8le r8, r1, r2 2241 2242 2243@ CHECK: uqadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x62,0xe6] 2244@ CHECK: uqadd16gt r4, r7, r9 @ encoding: [0x19,0x4f,0x67,0xc6] 2245@ CHECK: uqadd8 r3, r4, r8 @ encoding: [0x98,0x3f,0x64,0xe6] 2246@ CHECK: uqadd8le r8, r1, r2 @ encoding: [0x92,0x8f,0x61,0xd6] 2247 2248 2249@------------------------------------------------------------------------------ 2250@ UQASX 2251@------------------------------------------------------------------------------ 2252 uqasx r2, r4, r1 2253 uqasxhi r5, r2, r9 2254 2255@ CHECK: uqasx r2, r4, r1 @ encoding: [0x31,0x2f,0x64,0xe6] 2256@ CHECK: uqasxhi r5, r2, r9 @ encoding: [0x39,0x5f,0x62,0x86] 2257 2258 2259@------------------------------------------------------------------------------ 2260@ UQSAX 2261@------------------------------------------------------------------------------ 2262 uqsax r1, r3, r7 2263 uqsaxal r3, r6, r2 2264 2265@ CHECK: uqsax r1, r3, r7 @ encoding: [0x57,0x1f,0x63,0xe6] 2266@ CHECK: uqsax r3, r6, r2 @ encoding: [0x52,0x3f,0x66,0xe6] 2267 2268 2269@------------------------------------------------------------------------------ 2270@ UQSUB16/UQSUB8 2271@------------------------------------------------------------------------------ 2272 uqsub16 r1, r5, r3 2273 uqsub16gt r3, r2, r5 2274 uqsub8 r2, r1, r4 2275 uqsub8le r4, r6, r9 2276 2277@ CHECK: uqsub16 r1, r5, r3 @ encoding: [0x73,0x1f,0x65,0xe6] 2278@ CHECK: uqsub16gt r3, r2, r5 @ encoding: [0x75,0x3f,0x62,0xc6] 2279@ CHECK: uqsub8 r2, r1, r4 @ encoding: [0xf4,0x2f,0x61,0xe6] 2280@ CHECK: uqsub8le r4, r6, r9 @ encoding: [0xf9,0x4f,0x66,0xd6] 2281 2282 2283@------------------------------------------------------------------------------ 2284@ USADA8/USAD8 2285@------------------------------------------------------------------------------ 2286 usad8 r2, r1, r4 2287 usad8le r4, r6, r9 2288 usada8 r1, r5, r3, r7 2289 usada8gt r3, r2, r5, r1 2290 2291@ CHECK: usad8 r2, r1, r4 @ encoding: [0x11,0xf4,0x82,0xe7] 2292@ CHECK: usad8le r4, r6, r9 @ encoding: [0x16,0xf9,0x84,0xd7] 2293@ CHECK: usada8 r1, r5, r3, r7 @ encoding: [0x15,0x73,0x81,0xe7] 2294@ CHECK: usada8gt r3, r2, r5, r1 @ encoding: [0x12,0x15,0x83,0xc7] 2295 2296 2297@------------------------------------------------------------------------------ 2298@ USAT 2299@------------------------------------------------------------------------------ 2300 2301 usat r8, #1, r10 2302 usat r8, #4, r10, lsl #0 2303 usat r8, #5, r10, lsl #31 2304 usat r8, #31, r10, asr #32 2305 usat r8, #16, r10, asr #1 2306 2307@ CHECK: usat r8, #1, r10 @ encoding: [0x1a,0x80,0xe1,0xe6] 2308@ CHECK: usat r8, #4, r10 @ encoding: [0x1a,0x80,0xe4,0xe6] 2309@ CHECK: usat r8, #5, r10, lsl #31 @ encoding: [0x9a,0x8f,0xe5,0xe6] 2310@ CHECK: usat r8, #31, r10, asr #32 @ encoding: [0x5a,0x80,0xff,0xe6] 2311@ CHECK: usat r8, #16, r10, asr #1 @ encoding: [0xda,0x80,0xf0,0xe6] 2312 2313@------------------------------------------------------------------------------ 2314@ USAT16 2315@------------------------------------------------------------------------------ 2316 usat16 r2, #2, r7 2317 usat16 r3, #15, r5 2318 2319@ CHECK: usat16 r2, #2, r7 @ encoding: [0x37,0x2f,0xe2,0xe6] 2320@ CHECK: usat16 r3, #15, r5 @ encoding: [0x35,0x3f,0xef,0xe6] 2321 2322 2323@------------------------------------------------------------------------------ 2324@ USAX 2325@------------------------------------------------------------------------------ 2326 usax r2, r3, r4 2327 usaxne r2, r3, r4 2328 2329@ CHECK: usax r2, r3, r4 @ encoding: [0x54,0x2f,0x53,0xe6] 2330@ CHECK: usaxne r2, r3, r4 @ encoding: [0x54,0x2f,0x53,0x16] 2331 2332@------------------------------------------------------------------------------ 2333@ USUB16/USUB8 2334@------------------------------------------------------------------------------ 2335 usub16 r4, r2, r7 2336 usub16hi r1, r1, r3 2337 usub8 r1, r8, r5 2338 usub8le r9, r2, r3 2339 2340@ CHECK: usub16 r4, r2, r7 @ encoding: [0x77,0x4f,0x52,0xe6] 2341@ CHECK: usub16hi r1, r1, r3 @ encoding: [0x73,0x1f,0x51,0x86] 2342@ CHECK: usub8 r1, r8, r5 @ encoding: [0xf5,0x1f,0x58,0xe6] 2343@ CHECK: usub8le r9, r2, r3 @ encoding: [0xf3,0x9f,0x52,0xd6] 2344 2345 2346@------------------------------------------------------------------------------ 2347@ UXTAB 2348@------------------------------------------------------------------------------ 2349 uxtab r2, r3, r4 2350 uxtab r4, r5, r6, ror #0 2351 uxtablt r6, r2, r9, ror #8 2352 uxtab r5, r1, r4, ror #16 2353 uxtab r7, r8, r3, ror #24 2354 2355@ CHECK: uxtab r2, r3, r4 @ encoding: [0x74,0x20,0xe3,0xe6] 2356@ CHECK: uxtab r4, r5, r6 @ encoding: [0x76,0x40,0xe5,0xe6] 2357@ CHECK: uxtablt r6, r2, r9, ror #8 @ encoding: [0x79,0x64,0xe2,0xb6] 2358@ CHECK: uxtab r5, r1, r4, ror #16 @ encoding: [0x74,0x58,0xe1,0xe6] 2359@ CHECK: uxtab r7, r8, r3, ror #24 @ encoding: [0x73,0x7c,0xe8,0xe6] 2360 2361 2362@------------------------------------------------------------------------------ 2363@ UXTAB16 2364@------------------------------------------------------------------------------ 2365 uxtab16ge r0, r1, r4 2366 uxtab16 r6, r2, r7, ror #0 2367 uxtab16 r3, r5, r8, ror #8 2368 uxtab16 r3, r2, r1, ror #16 2369 uxtab16eq r1, r2, r3, ror #24 2370 2371@ CHECK: uxtab16ge r0, r1, r4 @ encoding: [0x74,0x00,0xc1,0xa6] 2372@ CHECK: uxtab16 r6, r2, r7 @ encoding: [0x77,0x60,0xc2,0xe6] 2373@ CHECK: uxtab16 r3, r5, r8, ror #8 @ encoding: [0x78,0x34,0xc5,0xe6] 2374@ CHECK: uxtab16 r3, r2, r1, ror #16 @ encoding: [0x71,0x38,0xc2,0xe6] 2375@ CHECK: uxtab16eq r1, r2, r3, ror #24 @ encoding: [0x73,0x1c,0xc2,0x06] 2376 2377@------------------------------------------------------------------------------ 2378@ UXTAH 2379@------------------------------------------------------------------------------ 2380 uxtah r1, r3, r9 2381 uxtahhi r6, r1, r6, ror #0 2382 uxtah r3, r8, r3, ror #8 2383 uxtahlo r2, r2, r4, ror #16 2384 uxtah r9, r3, r3, ror #24 2385 2386@ CHECK: uxtah r1, r3, r9 @ encoding: [0x79,0x10,0xf3,0xe6] 2387@ CHECK: uxtahhi r6, r1, r6 @ encoding: [0x76,0x60,0xf1,0x86] 2388@ CHECK: uxtah r3, r8, r3, ror #8 @ encoding: [0x73,0x34,0xf8,0xe6] 2389@ CHECK: uxtahlo r2, r2, r4, ror #16 @ encoding: [0x74,0x28,0xf2,0x36] 2390@ CHECK: uxtah r9, r3, r3, ror #24 @ encoding: [0x73,0x9c,0xf3,0xe6] 2391 2392@------------------------------------------------------------------------------ 2393@ UXTB 2394@------------------------------------------------------------------------------ 2395 uxtbge r2, r4 2396 uxtb r5, r6, ror #0 2397 uxtb r6, r9, ror #8 2398 uxtbcc r5, r1, ror #16 2399 uxtb r8, r3, ror #24 2400 2401@ CHECK: uxtbge r2, r4 @ encoding: [0x74,0x20,0xef,0xa6] 2402@ CHECK: uxtb r5, r6 @ encoding: [0x76,0x50,0xef,0xe6] 2403@ CHECK: uxtb r6, r9, ror #8 @ encoding: [0x79,0x64,0xef,0xe6] 2404@ CHECK: uxtblo r5, r1, ror #16 @ encoding: [0x71,0x58,0xef,0x36] 2405@ CHECK: uxtb r8, r3, ror #24 @ encoding: [0x73,0x8c,0xef,0xe6] 2406 2407 2408@------------------------------------------------------------------------------ 2409@ UXTB16 2410@------------------------------------------------------------------------------ 2411 uxtb16 r1, r4 2412 uxtb16 r6, r7, ror #0 2413 uxtb16cs r3, r5, ror #8 2414 uxtb16 r3, r1, ror #16 2415 uxtb16ge r2, r3, ror #24 2416 2417@ CHECK: uxtb16 r1, r4 @ encoding: [0x74,0x10,0xcf,0xe6] 2418@ CHECK: uxtb16 r6, r7 @ encoding: [0x77,0x60,0xcf,0xe6] 2419@ CHECK: uxtb16hs r3, r5, ror #8 @ encoding: [0x75,0x34,0xcf,0x26] 2420@ CHECK: uxtb16 r3, r1, ror #16 @ encoding: [0x71,0x38,0xcf,0xe6] 2421@ CHECK: uxtb16ge r2, r3, ror #24 @ encoding: [0x73,0x2c,0xcf,0xa6] 2422 2423 2424@------------------------------------------------------------------------------ 2425@ UXTH 2426@------------------------------------------------------------------------------ 2427 uxthne r3, r9 2428 uxth r1, r6, ror #0 2429 uxth r3, r8, ror #8 2430 uxthle r2, r2, ror #16 2431 uxth r9, r3, ror #24 2432 2433@ CHECK: uxthne r3, r9 @ encoding: [0x79,0x30,0xff,0x16] 2434@ CHECK: uxth r1, r6 @ encoding: [0x76,0x10,0xff,0xe6] 2435@ CHECK: uxth r3, r8, ror #8 @ encoding: [0x78,0x34,0xff,0xe6] 2436@ CHECK: uxthle r2, r2, ror #16 @ encoding: [0x72,0x28,0xff,0xd6] 2437@ CHECK: uxth r9, r3, ror #24 @ encoding: [0x73,0x9c,0xff,0xe6] 2438 2439@------------------------------------------------------------------------------ 2440@ WFE/WFI/YIELD 2441@------------------------------------------------------------------------------ 2442 wfe 2443 wfehi 2444 wfi 2445 wfilt 2446 yield 2447 yieldne 2448 2449@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3] 2450@ CHECK: wfehi @ encoding: [0x02,0xf0,0x20,0x83] 2451@ CHECK: wfi @ encoding: [0x03,0xf0,0x20,0xe3] 2452@ CHECK: wfilt @ encoding: [0x03,0xf0,0x20,0xb3] 2453@ CHECK: yield @ encoding: [0x01,0xf0,0x20,0xe3] 2454@ CHECK: yieldne @ encoding: [0x01,0xf0,0x20,0x13] 2455