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