basic-arm-instructions.s revision 29e85bc7285337973924501cad7e7effafd91e65
13f00e317064560ad11168d22030416d853829f6eJim Grosbach@ RUN: llvm-mc -triple=armv7-apple-darwin -show-encoding < %s | FileCheck %s
23f00e317064560ad11168d22030416d853829f6eJim Grosbach  .syntax unified
33f00e317064560ad11168d22030416d853829f6eJim Grosbach  .globl _func
4e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
5e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ Check that the assembler can handle the documented syntax from the ARM ARM.
6e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ For complex constructs like shifter operands, check more thoroughly for them
7e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ once then spot check that following instructions accept the form generally.
8e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ This gives us good coverage while keeping the overall size of the test
9e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ more reasonable.
10e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
113f00e317064560ad11168d22030416d853829f6eJim Grosbach_func:
123f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: _func
133f00e317064560ad11168d22030416d853829f6eJim Grosbach
14da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------
153f00e317064560ad11168d22030416d853829f6eJim Grosbach@ ADC (immediate)
16da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------
173f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf
183f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf0
193f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf00
203f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf000
213f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf0000
223f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf00000
233f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf000000
243f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf0000000
253f00e317064560ad11168d22030416d853829f6eJim Grosbach  adc r1, r2, #0xf000000f
263f00e317064560ad11168d22030416d853829f6eJim Grosbach  adcs r1, r2, #0xf00
273f00e317064560ad11168d22030416d853829f6eJim Grosbach  adcseq r1, r2, #0xf00
28dc89561fecf100d6c32d73c7b009fd73e51be688Jim Grosbach  adceq r1, r2, #0xf00
293f00e317064560ad11168d22030416d853829f6eJim Grosbach
303f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #15             @ encoding: [0x0f,0x10,0xa2,0xe2]
313f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #240            @ encoding: [0xf0,0x10,0xa2,0xe2]
323f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xa2,0xe2]
333f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #61440          @ encoding: [0x0f,0x1a,0xa2,0xe2]
343f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #983040         @ encoding: [0x0f,0x18,0xa2,0xe2]
353f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #15728640       @ encoding: [0x0f,0x16,0xa2,0xe2]
363f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #251658240      @ encoding: [0x0f,0x14,0xa2,0xe2]
373f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #4026531840     @ encoding: [0x0f,0x12,0xa2,0xe2]
383f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adc	r1, r2, #4026531855     @ encoding: [0xff,0x12,0xa2,0xe2]
393f00e317064560ad11168d22030416d853829f6eJim Grosbach
403f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adcs	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xb2,0xe2]
413f00e317064560ad11168d22030416d853829f6eJim Grosbach@ CHECK: adcseq	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xb2,0x02]
42dc89561fecf100d6c32d73c7b009fd73e51be688Jim Grosbach@ CHECK: adceq	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xa2,0x02]
43e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
44da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------
45e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ ADC (register)
46da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ ADC (shifted register)
47da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------
48e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6
49e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  @ Constant shifts
50e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, lsl #1
51e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, lsl #31
52e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, lsr #1
53e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, lsr #31
54e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, lsr #32
55e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, asr #1
56e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, asr #31
57e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, asr #32
58e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, ror #1
59e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, ror #31
60e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
61e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  @ Register shifts
62e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r6, r7, r8, lsl r9
63e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r6, r7, r8, lsr r9
64e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r6, r7, r8, asr r9
65e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r6, r7, r8, ror r9
66e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach  adc r4, r5, r6, rrx
67e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
6837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  @ Destination register is optional
6937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r5, r6
7037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, lsl #1
7137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, lsl #31
7237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, lsr #1
7337ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, lsr #31
7437ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, lsr #32
7537ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, asr #1
7637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, asr #31
7737ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, asr #32
7837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, ror #1
7937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, ror #31
8037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, rrx
8137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r6, r7, lsl r9
8237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r6, r7, lsr r9
8337ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r6, r7, asr r9
8437ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r6, r7, ror r9
8537ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach  adc r4, r5, rrx
8637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach
87e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6              @ encoding: [0x06,0x40,0xa5,0xe0]
88e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
89e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, lsl #1      @ encoding: [0x86,0x40,0xa5,0xe0]
90e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, lsl #31     @ encoding: [0x86,0x4f,0xa5,0xe0]
91e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, lsr #1      @ encoding: [0xa6,0x40,0xa5,0xe0]
92e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, lsr #31     @ encoding: [0xa6,0x4f,0xa5,0xe0]
93e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, lsr #32     @ encoding: [0x26,0x40,0xa5,0xe0]
94e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, asr #1      @ encoding: [0xc6,0x40,0xa5,0xe0]
95e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, asr #31     @ encoding: [0xc6,0x4f,0xa5,0xe0]
96e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, asr #32     @ encoding: [0x46,0x40,0xa5,0xe0]
97e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, ror #1      @ encoding: [0xe6,0x40,0xa5,0xe0]
98e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, ror #31     @ encoding: [0xe6,0x4f,0xa5,0xe0]
99e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
100e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xa7,0xe0]
101e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xa7,0xe0]
102e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xa7,0xe0]
103e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xa7,0xe0]
104e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach@ CHECK: adc	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0xa5,0xe0]
105e8606dc7c878d4562da5e3e5609b9d7d734d498cJim Grosbach
10637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r5, r5, r6              @ encoding: [0x06,0x50,0xa5,0xe0]
10737ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, lsl #1      @ encoding: [0x85,0x40,0xa4,0xe0]
10837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, lsl #31     @ encoding: [0x85,0x4f,0xa4,0xe0]
10937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, lsr #1      @ encoding: [0xa5,0x40,0xa4,0xe0]
11037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, lsr #31     @ encoding: [0xa5,0x4f,0xa4,0xe0]
11137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, lsr #32     @ encoding: [0x25,0x40,0xa4,0xe0]
11237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, asr #1      @ encoding: [0xc5,0x40,0xa4,0xe0]
11337ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, asr #31     @ encoding: [0xc5,0x4f,0xa4,0xe0]
11437ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, asr #32     @ encoding: [0x45,0x40,0xa4,0xe0]
11537ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, ror #1      @ encoding: [0xe5,0x40,0xa4,0xe0]
11637ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, ror #31     @ encoding: [0xe5,0x4f,0xa4,0xe0]
11737ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0xa4,0xe0]
11837ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xa6,0xe0]
11937ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xa6,0xe0]
12037ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xa6,0xe0]
12137ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xa6,0xe0]
12237ee464ea98544d3ed84cec6dde5f769ce003d5fJim Grosbach@ CHECK: adc	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0xa4,0xe0]
123da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach
124da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach
125da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------
1267ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: ADR
1277ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
1287ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach
1297ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
130da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ ADD
131da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@------------------------------------------------------------------------------
132da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, #0xf000
133da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, r6
134da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, r6, lsl #5
135da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, r6, lsr #5
136da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, r6, lsr #5
137da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, r6, asr #5
138da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, r6, ror #5
139da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, r8, lsl r9
140da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, r8, lsr r9
141da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, r8, asr r9
142da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, r8, ror r9
143da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, r6, rrx
144da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach
145da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  @ destination register is optional
146da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r5, #0xf000
147da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5
148da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, lsl #5
149da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, lsr #5
150da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, lsr #5
151da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, asr #5
152da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, ror #5
153da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, lsl r9
154da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, lsr r9
155da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, asr r9
156da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r6, r7, ror r9
157da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach  add r4, r5, rrx
158da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach
159da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe2]
160da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0xe0]
161da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x85,0xe0]
162da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe0]
163da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe0]
164da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x85,0xe0]
165da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x85,0xe0]
166da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x87,0xe0]
167da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x87,0xe0]
168da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x87,0xe0]
169da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0xe0]
170da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x85,0xe0]
171da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach
172da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach
173da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe2]
174da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r4, r5              @ encoding: [0x05,0x40,0x84,0xe0]
175da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x84,0xe0]
176da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe0]
177da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe0]
178da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x84,0xe0]
179da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x84,0xe0]
180da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x86,0xe0]
181da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x86,0xe0]
182da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0xe0]
183da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x86,0xe0]
184da9f278c741e8ced7c1652720270918eb04ed348Jim Grosbach@ CHECK: add	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x84,0xe0]
18559642c260064a0c9140e048d702a21830020487fJim Grosbach
18659642c260064a0c9140e048d702a21830020487fJim Grosbach
18759642c260064a0c9140e048d702a21830020487fJim Grosbach@------------------------------------------------------------------------------
18859642c260064a0c9140e048d702a21830020487fJim Grosbach@ AND
18959642c260064a0c9140e048d702a21830020487fJim Grosbach@------------------------------------------------------------------------------
19059642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, #0xf
19159642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, r6
19259642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, r6, lsl #10
19359642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, r6, lsr #10
19459642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, r6, lsr #10
19559642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, r6, asr #10
19659642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, r6, ror #10
19759642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, r8, lsl r2
19859642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, r8, lsr r2
19959642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, r8, asr r2
20059642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, r8, ror r2
20159642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, r6, rrx
20259642c260064a0c9140e048d702a21830020487fJim Grosbach
20359642c260064a0c9140e048d702a21830020487fJim Grosbach  @ destination register is optional
20459642c260064a0c9140e048d702a21830020487fJim Grosbach  and r1, #0xf
20559642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1
20659642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, lsl #10
20759642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, lsr #10
20859642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, lsr #10
20959642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, asr #10
21059642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, ror #10
21159642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, lsl r2
21259642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, lsr r2
21359642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, asr r2
21459642c260064a0c9140e048d702a21830020487fJim Grosbach  and r6, r7, ror r2
21559642c260064a0c9140e048d702a21830020487fJim Grosbach  and r10, r1, rrx
21659642c260064a0c9140e048d702a21830020487fJim Grosbach
21759642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, #15            @ encoding: [0x0f,0xa0,0x01,0xe2]
21859642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, r6             @ encoding: [0x06,0xa0,0x01,0xe0]
21959642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, r6, lsl #10    @ encoding: [0x06,0xa5,0x01,0xe0]
22059642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0x01,0xe0]
22159642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0x01,0xe0]
22259642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, r6, asr #10    @ encoding: [0x46,0xa5,0x01,0xe0]
22359642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, r6, ror #10    @ encoding: [0x66,0xa5,0x01,0xe0]
22459642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r7, r8, lsl r2      @ encoding: [0x18,0x62,0x07,0xe0]
22559642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r7, r8, lsr r2      @ encoding: [0x38,0x62,0x07,0xe0]
22659642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r7, r8, asr r2      @ encoding: [0x58,0x62,0x07,0xe0]
22759642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r7, r8, ror r2      @ encoding: [0x78,0x62,0x07,0xe0]
22859642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r1, r6, rrx        @ encoding: [0x66,0xa0,0x01,0xe0]
22959642c260064a0c9140e048d702a21830020487fJim Grosbach
23059642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r1, r1, #15             @ encoding: [0x0f,0x10,0x01,0xe2]
23159642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r10, r1            @ encoding: [0x01,0xa0,0x0a,0xe0]
23259642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r10, r1, lsl #10   @ encoding: [0x01,0xa5,0x0a,0xe0]
23359642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0x0a,0xe0]
23459642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0x0a,0xe0]
23559642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r10, r1, asr #10   @ encoding: [0x41,0xa5,0x0a,0xe0]
23659642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r10, r1, ror #10   @ encoding: [0x61,0xa5,0x0a,0xe0]
23759642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r6, r7, lsl r2      @ encoding: [0x17,0x62,0x06,0xe0]
23859642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r6, r7, lsr r2      @ encoding: [0x37,0x62,0x06,0xe0]
23959642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r6, r7, asr r2      @ encoding: [0x57,0x62,0x06,0xe0]
24059642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r6, r6, r7, ror r2      @ encoding: [0x77,0x62,0x06,0xe0]
24159642c260064a0c9140e048d702a21830020487fJim Grosbach@ CHECK: and	r10, r10, r1, rrx       @ encoding: [0x61,0xa0,0x0a,0xe0]
24259642c260064a0c9140e048d702a21830020487fJim Grosbach
2437ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
2447ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: ASR
2457ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
2467ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
2477ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: B
2487ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
2497ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
2507ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: BFC
2517ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
2527ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
2537ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@ FIXME: BFI
2547ed6d22e9637c52b3511ac6907830251d1124e60Jim Grosbach@------------------------------------------------------------------------------
255e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach
256e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@------------------------------------------------------------------------------
25776cbe02cdd57a297d9c6f1e5106e4718abd7ff9fJim Grosbach@ BIC
258e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@------------------------------------------------------------------------------
259e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, #0xf
260e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, r6
261e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, r6, lsl #10
262e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, r6, lsr #10
263e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, r6, lsr #10
264e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, r6, asr #10
265e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, r6, ror #10
266e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, r8, lsl r2
267e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, r8, lsr r2
268e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, r8, asr r2
269e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, r8, ror r2
270e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, r6, rrx
271e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach
272e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  @ destination register is optional
273e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r1, #0xf
274e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1
275e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, lsl #10
276e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, lsr #10
277e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, lsr #10
278e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, asr #10
279e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, ror #10
280e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, lsl r2
281e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, lsr r2
282e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, asr r2
283e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r6, r7, ror r2
284e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach  bic r10, r1, rrx
285e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach
286e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, #15            @ encoding: [0x0f,0xa0,0xc1,0xe3]
287e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, r6             @ encoding: [0x06,0xa0,0xc1,0xe1]
288e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, r6, lsl #10    @ encoding: [0x06,0xa5,0xc1,0xe1]
289e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0xc1,0xe1]
290e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0xc1,0xe1]
291e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, r6, asr #10    @ encoding: [0x46,0xa5,0xc1,0xe1]
292e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, r6, ror #10    @ encoding: [0x66,0xa5,0xc1,0xe1]
293e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r7, r8, lsl r2      @ encoding: [0x18,0x62,0xc7,0xe1]
294e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r7, r8, lsr r2      @ encoding: [0x38,0x62,0xc7,0xe1]
295e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r7, r8, asr r2      @ encoding: [0x58,0x62,0xc7,0xe1]
296e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r7, r8, ror r2      @ encoding: [0x78,0x62,0xc7,0xe1]
297e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r1, r6, rrx        @ encoding: [0x66,0xa0,0xc1,0xe1]
298e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach
299e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach
300e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r1, r1, #15             @ encoding: [0x0f,0x10,0xc1,0xe3]
301e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r10, r1            @ encoding: [0x01,0xa0,0xca,0xe1]
302e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r10, r1, lsl #10   @ encoding: [0x01,0xa5,0xca,0xe1]
303e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0xca,0xe1]
304e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0xca,0xe1]
305e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r10, r1, asr #10   @ encoding: [0x41,0xa5,0xca,0xe1]
306e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r10, r1, ror #10   @ encoding: [0x61,0xa5,0xca,0xe1]
307e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r6, r7, lsl r2      @ encoding: [0x17,0x62,0xc6,0xe1]
308e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r6, r7, lsr r2      @ encoding: [0x37,0x62,0xc6,0xe1]
309e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r6, r7, asr r2      @ encoding: [0x57,0x62,0xc6,0xe1]
310e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r6, r6, r7, ror r2      @ encoding: [0x77,0x62,0xc6,0xe1]
311e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach@ CHECK: bic	r10, r10, r1, rrx       @ encoding: [0x61,0xa0,0xca,0xe1]
312e52240c3705f3133eb8c4ebb4220054c68de2651Jim Grosbach
31321101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach@------------------------------------------------------------------------------
31421101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach@ BKPT
31521101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach@------------------------------------------------------------------------------
31621101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach  bkpt #10
31721101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach  bkpt #65535
31821101d60ce94f51651f71eeb61ceb8264eccac83Jim Grosbach
319fff76ee7ef007b2bb74804f165fee475e30ead0dJim Grosbach@ CHECK: bkpt  #10                      @ encoding: [0x7a,0x00,0x20,0xe1]
320fff76ee7ef007b2bb74804f165fee475e30ead0dJim Grosbach@ CHECK: bkpt  #65535                   @ encoding: [0x7f,0xff,0x2f,0xe1]
32137023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach
32237023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@------------------------------------------------------------------------------
32337023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@ BL/BLX (immediate)
32437023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@------------------------------------------------------------------------------
32537023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach
32637023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach  bl _bar
32737023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach  @ FIXME: blx _bar
32837023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach
329f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bl  _bar @ encoding: [A,A,A,0xeb]
330f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch
331f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach
332f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------
333f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ BLX (register)
334f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------
33537023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach  blx r2
33637023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach  blxne r2
33737023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach
33837023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@ CHECK: blx r2                         @ encoding: [0x32,0xff,0x2f,0xe1]
33937023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach@ CHECK: blxne r2                       @ encoding: [0x32,0xff,0x2f,0x11]
34037023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach
341f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------
342f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ BX
343f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------
344f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach
345f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach  bx r2
346f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach  bxne r2
347f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach
348f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bx	r2                      @ encoding: [0x12,0xff,0x2f,0xe1]
349f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bxne	r2                      @ encoding: [0x12,0xff,0x2f,0x11]
350f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach
351f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------
352f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ BXJ
353f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@------------------------------------------------------------------------------
354f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach
355f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach  bxj r2
356f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach  bxjne r2
35737023b05c84000373fcfc0871edad3c2b995be33Jim Grosbach
358f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bxj	r2                      @ encoding: [0x22,0xff,0x2f,0xe1]
359f333d471d2cdd47d830dfe3a3e40efbb106c100dJim Grosbach@ CHECK: bxjne	r2                      @ encoding: [0x22,0xff,0x2f,0x11]
36083ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach
36183ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------
36283ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@ FIXME: CBNZ/CBZ
36383ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------
36483ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach
36583ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach
36683ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------
36783ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@ CDP/CDP2
36883ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach@------------------------------------------------------------------------------
369d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach  cdp  p7, #1, c1, c1, c1, #4
370d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach  cdp2  p7, #1, c1, c1, c1, #4
37183ab070fc1fbb02ca77b0a37e6ae0eacf58001e1Jim Grosbach
372d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: cdp  p7, #1, c1, c1, c1, #4     @ encoding: [0x81,0x17,0x11,0xee]
373d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: cdp2  p7, #1, c1, c1, c1, #4    @ encoding: [0x81,0x17,0x11,0xfe]
374d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach
375d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach
376d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------
377d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CLREX
378d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------
379d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach  clrex
380d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach
381d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: clrex                           @ encoding: [0x1f,0xf0,0x7f,0xf5]
382d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach
383d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach
384d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------
385d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CLZ
386d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@------------------------------------------------------------------------------
387d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach  clz r1, r2
388d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach  clzeq r1, r2
389d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach
390d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: clz r1, r2                      @ encoding: [0x12,0x1f,0x6f,0xe1]
391d986bc66bc56251c2b7d5b9a89df14c4760568fcJim Grosbach@ CHECK: clzeq r1, r2                    @ encoding: [0x12,0x1f,0x6f,0x01]
39214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach
39314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------
39414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CMN
39514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------
39614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r1, #0xf
39714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r1, r6
39814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r1, r6, lsl #10
39914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r1, r6, lsr #10
40014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn sp, r6, lsr #10
40114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r1, r6, asr #10
40214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r1, r6, ror #10
40314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r7, r8, lsl r2
40414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn sp, r8, lsr r2
40514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r7, r8, asr r2
40614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r7, r8, ror r2
40714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmn r1, r6, rrx
40814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach
40914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r1, #15                 @ encoding: [0x0f,0x00,0x71,0xe3]
41014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r1, r6                  @ encoding: [0x06,0x00,0x71,0xe1]
41114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r1, r6, lsl #10         @ encoding: [0x06,0x05,0x71,0xe1]
41214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r1, r6, lsr #10         @ encoding: [0x26,0x05,0x71,0xe1]
41314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	sp, r6, lsr #10         @ encoding: [0x26,0x05,0x7d,0xe1]
41414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r1, r6, asr #10         @ encoding: [0x46,0x05,0x71,0xe1]
41514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r1, r6, ror #10         @ encoding: [0x66,0x05,0x71,0xe1]
41614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r7, r8, lsl r2          @ encoding: [0x18,0x02,0x77,0xe1]
41714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	sp, r8, lsr r2          @ encoding: [0x38,0x02,0x7d,0xe1]
41814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r7, r8, asr r2          @ encoding: [0x58,0x02,0x77,0xe1]
41914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r7, r8, ror r2          @ encoding: [0x78,0x02,0x77,0xe1]
42014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmn	r1, r6, rrx             @ encoding: [0x66,0x00,0x71,0xe1]
42114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach
42214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------
42314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CMP
42414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@------------------------------------------------------------------------------
42514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r1, #0xf
42614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r1, r6
42714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r1, r6, lsl #10
42814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r1, r6, lsr #10
42914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp sp, r6, lsr #10
43014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r1, r6, asr #10
43114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r1, r6, ror #10
43214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r7, r8, lsl r2
43314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp sp, r8, lsr r2
43414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r7, r8, asr r2
43514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r7, r8, ror r2
43614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach  cmp r1, r6, rrx
43714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach
43814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r1, #15                 @ encoding: [0x0f,0x00,0x51,0xe3]
43914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r1, r6                  @ encoding: [0x06,0x00,0x51,0xe1]
44014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r1, r6, lsl #10         @ encoding: [0x06,0x05,0x51,0xe1]
44114ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r1, r6, lsr #10         @ encoding: [0x26,0x05,0x51,0xe1]
44214ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	sp, r6, lsr #10         @ encoding: [0x26,0x05,0x5d,0xe1]
44314ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r1, r6, asr #10         @ encoding: [0x46,0x05,0x51,0xe1]
44414ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r1, r6, ror #10         @ encoding: [0x66,0x05,0x51,0xe1]
44514ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r7, r8, lsl r2          @ encoding: [0x18,0x02,0x57,0xe1]
44614ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	sp, r8, lsr r2          @ encoding: [0x38,0x02,0x5d,0xe1]
44714ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r7, r8, asr r2          @ encoding: [0x58,0x02,0x57,0xe1]
44814ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r7, r8, ror r2          @ encoding: [0x78,0x02,0x57,0xe1]
44914ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach@ CHECK: cmp	r1, r6, rrx             @ encoding: [0x66,0x00,0x51,0xe1]
45014ab1c3387a240a914cf8b1907bb3609bae72269Jim Grosbach
4516f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@------------------------------------------------------------------------------
4526f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ DBG
4536f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@------------------------------------------------------------------------------
4546f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach  dbg #0
4556f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach  dbg #5
4566f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach  dbg #15
4576f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach
4586f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ CHECK: dbg #0                         @ encoding: [0xf0,0xf0,0x20,0xe3]
4596f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ CHECK: dbg #5                         @ encoding: [0xf5,0xf0,0x20,0xe3]
4606f9f8845028d4d3b96c33417398034a71137d867Jim Grosbach@ CHECK: dbg #15                        @ encoding: [0xff,0xf0,0x20,0xe3]
461032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach
462032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach
463032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@------------------------------------------------------------------------------
464032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ DMB
465032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@------------------------------------------------------------------------------
466032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb sy
467032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb st
468032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb sh
469032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb ish
470032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb shst
471032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb ishst
472032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb un
473032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb nsh
474032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb unst
475032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb nshst
476032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb osh
477032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb oshst
478032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach  dmb
479032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach
480032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	sy                      @ encoding: [0x5f,0xf0,0x7f,0xf5]
481032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	st                      @ encoding: [0x5e,0xf0,0x7f,0xf5]
482032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	ish                     @ encoding: [0x5b,0xf0,0x7f,0xf5]
483032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	ish                     @ encoding: [0x5b,0xf0,0x7f,0xf5]
484032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	ishst                   @ encoding: [0x5a,0xf0,0x7f,0xf5]
485032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	ishst                   @ encoding: [0x5a,0xf0,0x7f,0xf5]
486032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	nsh                     @ encoding: [0x57,0xf0,0x7f,0xf5]
487032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	nsh                     @ encoding: [0x57,0xf0,0x7f,0xf5]
488032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	nshst                   @ encoding: [0x56,0xf0,0x7f,0xf5]
489032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	nshst                   @ encoding: [0x56,0xf0,0x7f,0xf5]
490032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	osh                     @ encoding: [0x53,0xf0,0x7f,0xf5]
491032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	oshst                   @ encoding: [0x52,0xf0,0x7f,0xf5]
492032434d622b6cd030a60bb9045a520c93b0d7d68Jim Grosbach@ CHECK: dmb	sy                      @ encoding: [0x5f,0xf0,0x7f,0xf5]
493e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach
494e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@------------------------------------------------------------------------------
495e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ DSB
496e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@------------------------------------------------------------------------------
497e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb sy
498e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb st
499e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb sh
500e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb ish
501e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb shst
502e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb ishst
503e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb un
504e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb nsh
505e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb unst
506e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb nshst
507e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb osh
508e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb oshst
509e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach  dsb
510e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach
511e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
512e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	st                      @ encoding: [0x4e,0xf0,0x7f,0xf5]
513e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	ish                     @ encoding: [0x4b,0xf0,0x7f,0xf5]
514e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	ish                     @ encoding: [0x4b,0xf0,0x7f,0xf5]
515e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	ishst                   @ encoding: [0x4a,0xf0,0x7f,0xf5]
516e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	ishst                   @ encoding: [0x4a,0xf0,0x7f,0xf5]
517e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
518e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
519e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	nshst                   @ encoding: [0x46,0xf0,0x7f,0xf5]
520e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	nshst                   @ encoding: [0x46,0xf0,0x7f,0xf5]
521e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	osh                     @ encoding: [0x43,0xf0,0x7f,0xf5]
522e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	oshst                   @ encoding: [0x42,0xf0,0x7f,0xf5]
523e77494e3e3da59afaa51d1bbcf732fa2851d865dJim Grosbach@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
52400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach
52500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@------------------------------------------------------------------------------
52600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ EOR
52700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@------------------------------------------------------------------------------
52800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, #0xf000
52900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, r6
53000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, r6, lsl #5
53100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, r6, lsr #5
53200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, r6, lsr #5
53300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, r6, asr #5
53400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, r6, ror #5
53500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, r8, lsl r9
53600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, r8, lsr r9
53700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, r8, asr r9
53800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, r8, ror r9
53900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, r6, rrx
54000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach
54100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  @ destination register is optional
54200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r5, #0xf000
54300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5
54400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, lsl #5
54500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, lsr #5
54600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, lsr #5
54700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, asr #5
54800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, ror #5
54900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, lsl r9
55000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, lsr r9
55100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, asr r9
55200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r6, r7, ror r9
55300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach  eor r4, r5, rrx
55400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach
55500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x25,0xe2]
55600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, r6              @ encoding: [0x06,0x40,0x25,0xe0]
55700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x25,0xe0]
55800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x25,0xe0]
55900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x25,0xe0]
56000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x25,0xe0]
56100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x25,0xe0]
56200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x27,0xe0]
56300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x27,0xe0]
56400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x27,0xe0]
56500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x27,0xe0]
56600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x25,0xe0]
56700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach
56800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach
56900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x25,0xe2]
57000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r4, r5              @ encoding: [0x05,0x40,0x24,0xe0]
57100a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x24,0xe0]
57200a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x24,0xe0]
57300a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x24,0xe0]
57400a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x24,0xe0]
57500a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x24,0xe0]
57600a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x26,0xe0]
57700a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x26,0xe0]
57800a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x26,0xe0]
57900a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x26,0xe0]
58000a66653cbe56dfbdb831172b54097bf8256a191Jim Grosbach@ CHECK: eor	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x24,0xe0]
581791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach
582791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach
583791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@------------------------------------------------------------------------------
584791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@ ISB
585791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@------------------------------------------------------------------------------
586791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach        isb sy
587791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach        isb
588791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach
589791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@ CHECK: isb sy                         @ encoding: [0x6f,0xf0,0x7f,0xf5]
590791feea10071223886e2fe2bfa0e1f4cb2c0ce74Jim Grosbach@ CHECK: isb sy                         @ encoding: [0x6f,0xf0,0x7f,0xf5]
5913b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
5923b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
5933b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
5943b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------
5953b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ LDM*
5963b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------
5973b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldm       r2, {r1,r3-r6,sp}
5983b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmia     r2, {r1,r3-r6,sp}
5993b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmib     r2, {r1,r3-r6,sp}
6003b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmda     r2, {r1,r3-r6,sp}
6013b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmdb     r2, {r1,r3-r6,sp}
6023b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmfd     r2, {r1,r3-r6,sp}
6033b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
6043b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        @ with update
6053b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldm       r2!, {r1,r3-r6,sp}
6063b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmib     r2!, {r1,r3-r6,sp}
6073b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmda     r2!, {r1,r3-r6,sp}
6083b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        ldmdb     r2!, {r1,r3-r6,sp}
6093b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
6103b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
6113b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
6123b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe9]
6133b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe8]
6143b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe9]
6153b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
6163b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
6173b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldm   r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe8]
6183b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe9]
6193b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe8]
6203b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe9]
6213b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
622e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
623e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ FIXME: LDR*
624e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
62536711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach
62636711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@------------------------------------------------------------------------------
62736711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ LDREX/LDREXB/LDREXH/LDREXD
62836711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@------------------------------------------------------------------------------
62936711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        ldrexb  r3, [r4]
63036711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        ldrexh  r2, [r5]
63136711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        ldrex  r1, [r7]
63236711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        ldrexd  r6, r7, [r8]
63336711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach
63436711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: ldrexb	r3, [r4]                @ encoding: [0x9f,0x3f,0xd4,0xe1]
63536711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: ldrexh	r2, [r5]                @ encoding: [0x9f,0x2f,0xf5,0xe1]
63636711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: ldrex	r1, [r7]                @ encoding: [0x9f,0x1f,0x97,0xe1]
63736711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: ldrexd	r6, r7, [r8]            @ encoding: [0x9f,0x6f,0xb8,0xe1]
63836711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach
63936711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach
640e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
641e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ FIXME: LSL
642e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
643e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
644e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ FIXME: LSR
645e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
646e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach
647e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
648e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ MCR/MCR2
649e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@------------------------------------------------------------------------------
650e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach        mcr  p7, #1, r5, c1, c1, #4
651e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach        mcr2  p7, #1, r5, c1, c1, #4
652e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach
653e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ CHECK: mcr  p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee]
654e540c7422ca13c950f0e8f6f93af7225bb7742a9Jim Grosbach@ CHECK: mcr2  p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe]
6553b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
6563b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------
657c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@ MCRR/MCRR2
658c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@------------------------------------------------------------------------------
659c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach        mcrr  p7, #15, r5, r4, c1
660c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach        mcrr2  p7, #15, r5, r4, c1
661c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach
662c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@ CHECK: mcrr  p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec]
663c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@ CHECK: mcrr2  p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc]
664c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach
66570d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach
66670d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------
66770d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ MLA
66870d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------
66970d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach        mla  r1,r2,r3,r4
67070d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach        mlas r1,r2,r3,r4
67170d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach        mlane  r1,r2,r3,r4
67270d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach        mlasne r1,r2,r3,r4
67370d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach
67470d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mla 	r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0xe0]
67570d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlas	r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0xe0]
67670d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlane 	r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0x10]
67770d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlasne	r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0x10]
67870d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach
67970d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------
68070d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ MLS
68170d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@------------------------------------------------------------------------------
68270d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach        mls  r2,r5,r6,r3
68370d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach        mlsne  r2,r5,r6,r3
68470d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach
68570d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mls	r2, r5, r6, r3          @ encoding: [0x95,0x36,0x62,0xe0]
68670d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach@ CHECK: mlsne	r2, r5, r6, r3          @ encoding: [0x95,0x36,0x62,0x10]
68770d8fcfaa04eb20541b006a8fb97cbc1d3033cc4Jim Grosbach
688c8ae39e746a20dc326def0ccfc052df3e21f16d3Jim Grosbach@------------------------------------------------------------------------------
689ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ MOV (immediate)
690ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@------------------------------------------------------------------------------
691ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach    mov r3, #7
692ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach    mov r4, #0xff0
693ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach    mov r5, #0xff0000
694ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach    mov r6, #0xffff
695ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach    movw r9, #0xffff
6965f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach    movs r3, #7
6975f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach    moveq r4, #0xff0
6985f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach    movseq r5, #0xff0000
699ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach
700ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: mov	r3, #7                  @ encoding: [0x07,0x30,0xa0,0xe3]
701ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: mov	r4, #4080               @ encoding: [0xff,0x4e,0xa0,0xe3]
702ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: mov	r5, #16711680           @ encoding: [0xff,0x58,0xa0,0xe3]
703ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: movw	r6, #65535              @ encoding: [0xff,0x6f,0x0f,0xe3]
704ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@ CHECK: movw	r9, #65535              @ encoding: [0xff,0x9f,0x0f,0xe3]
7055f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movs	r3, #7                  @ encoding: [0x07,0x30,0xb0,0xe3]
7065f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: moveq	r4, #4080               @ encoding: [0xff,0x4e,0xa0,0x03]
7075f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movseq	r5, #16711680           @ encoding: [0xff,0x58,0xb0,0x03]
7085f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach
7095f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@------------------------------------------------------------------------------
7105f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ MOV (register)
7115f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@------------------------------------------------------------------------------
7125f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach        mov r2, r3
7135f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach        movs r2, r3
7145f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach        moveq r2, r3
7155f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach        movseq r2, r3
7165f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach
7175f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: mov	r2, r3                  @ encoding: [0x03,0x20,0xa0,0xe1]
7185f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movs	r2, r3                  @ encoding: [0x03,0x20,0xb0,0xe1]
7195f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: moveq	r2, r3                  @ encoding: [0x03,0x20,0xa0,0x01]
7205f16057d1e4b711d492091bc555693a03d4a1b6eJim Grosbach@ CHECK: movseq	r2, r3                  @ encoding: [0x03,0x20,0xb0,0x01]
721ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach
722ffa3225e26cc1977d20f0d9649fcd6f38a3c4815Jim Grosbach@------------------------------------------------------------------------------
7231a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ MOVT
7241a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@------------------------------------------------------------------------------
7251a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach    movt r3, #7
7261a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach    movt r6, #0xffff
7271a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach    movteq r4, #0xff0
7281a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach
7291a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ CHECK: movt	r3, #7                  @ encoding: [0x07,0x30,0x40,0xe3]
7301a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ CHECK: movt	r6, #65535              @ encoding: [0xff,0x6f,0x4f,0xe3]
7311a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@ CHECK: movteq	r4, #4080               @ encoding: [0xf0,0x4f,0x40,0x03]
7321a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach
7332317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach
7342317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------
7352317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ MRC/MRC2
7362317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------
7372317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach        mrc  p14, #0, r1, c1, c2, #4
7382317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach        mrc2  p14, #0, r1, c1, c2, #4
7392317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach
7402317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrc  p14, #0, r1, c1, c2, #4   @ encoding: [0x92,0x1e,0x11,0xee]
7412317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrc2  p14, #0, r1, c1, c2, #4  @ encoding: [0x92,0x1e,0x11,0xfe]
7422317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach
7432317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------
7442317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ MRRC/MRRC2
7452317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@------------------------------------------------------------------------------
7462317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach        mrrc  p7, #1, r5, r4, c1
7472317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach        mrrc2  p7, #1, r5, r4, c1
7482317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach
7492317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrrc  p7, #1, r5, r4, c1       @ encoding: [0x11,0x57,0x54,0xec]
7502317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach@ CHECK: mrrc2  p7, #1, r5, r4, c1      @ encoding: [0x11,0x57,0x54,0xfc]
7512317fe1584e02582c616c1c4d15954999ff5525aJim Grosbach
75280d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach
75380d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@------------------------------------------------------------------------------
75480d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ MRS
75580d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@------------------------------------------------------------------------------
75680d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach        mrs  r8, apsr
75780d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach        mrs  r8, cpsr
75880d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach        mrs  r8, spsr
75980d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ CHECK: mrs  r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1]
76080d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ CHECK: mrs  r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1]
76180d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach@ CHECK: mrs  r8, spsr @ encoding: [0x00,0x80,0x4f,0xe1]
76280d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach
76380d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach
76480d01dd3d19a84621324ac444c6749602df7a513Jim Grosbach
7651a2be4db5b12cb7bfa351bcebd5e94b0decb021fJim Grosbach@------------------------------------------------------------------------------
766b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ MSR
767b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@------------------------------------------------------------------------------
768b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach
769b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr, #5
770b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr_g, #5
771b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr_nzcvq, #5
772b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  APSR_nzcvq, #5
773b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr_nzcvqg, #5
774b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fc, #5
775b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_c, #5
776b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_x, #5
777b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fc, #5
778b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_all, #5
779b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fsx, #5
780b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  spsr_fc, #5
781b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  SPSR_fsxc, #5
782b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fsxc, #5
783b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach
784b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
785b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	APSR_g, #5              @ encoding: [0x05,0xf0,0x24,0xe3]
786b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
787b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
788b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	APSR_nzcvqg, #5         @ encoding: [0x05,0xf0,0x2c,0xe3]
789b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
790b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_c, #5              @ encoding: [0x05,0xf0,0x21,0xe3]
791b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_x, #5              @ encoding: [0x05,0xf0,0x22,0xe3]
792b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
793b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
794b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_fsx, #5            @ encoding: [0x05,0xf0,0x2e,0xe3]
795b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	SPSR_fc, #5             @ encoding: [0x05,0xf0,0x69,0xe3]
796b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	SPSR_fsxc, #5           @ encoding: [0x05,0xf0,0x6f,0xe3]
797b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr	CPSR_fsxc, #5           @ encoding: [0x05,0xf0,0x2f,0xe3]
798b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach
799b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr, r0
800b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr_g, r0
801b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr_nzcvq, r0
802b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  APSR_nzcvq, r0
803b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  apsr_nzcvqg, r0
804b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fc, r0
805b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_c, r0
806b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_x, r0
807b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fc, r0
808b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_all, r0
809b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fsx, r0
810b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  spsr_fc, r0
811b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  SPSR_fsxc, r0
812b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach        msr  cpsr_fsxc, r0
813b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach
814b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1]
815b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  APSR_g, r0 @ encoding: [0x00,0xf0,0x24,0xe1]
816b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1]
817b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1]
818b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  APSR_nzcvqg, r0 @ encoding: [0x00,0xf0,0x2c,0xe1]
819b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1]
820b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_c, r0 @ encoding: [0x00,0xf0,0x21,0xe1]
821b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_x, r0 @ encoding: [0x00,0xf0,0x22,0xe1]
822b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1]
823b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1]
824b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_fsx, r0 @ encoding: [0x00,0xf0,0x2e,0xe1]
825b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  SPSR_fc, r0 @ encoding: [0x00,0xf0,0x69,0xe1]
826b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  SPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x6f,0xe1]
827b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@ CHECK: msr  CPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x2f,0xe1]
828b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach
829b29b4dd988c50d5c4a15cd196e7910bf46f30b83Jim Grosbach@------------------------------------------------------------------------------
830ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ MUL
831ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@------------------------------------------------------------------------------
832ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach
833ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach  mul r5, r6, r7
834ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach  muls r5, r6, r7
835ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach  mulgt r5, r6, r7
836ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach  mulsle r5, r6, r7
837ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach
838ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: mul	r5, r6, r7              @ encoding: [0x96,0x07,0x05,0xe0]
839ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: muls	r5, r6, r7              @ encoding: [0x96,0x07,0x15,0xe0]
840ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: mulgt	r5, r6, r7              @ encoding: [0x96,0x07,0x05,0xc0]
841ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@ CHECK: mulsle	r5, r6, r7              @ encoding: [0x96,0x07,0x15,0xd0]
842ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach
843c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
844c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------
845c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ MVN (immediate)
846c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------
847c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach    mvn r3, #7
848c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach    mvn r4, #0xff0
849c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach    mvn r5, #0xff0000
850c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach    mvns r3, #7
851c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach    mvneq r4, #0xff0
852c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach    mvnseq r5, #0xff0000
853c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
854c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r3, #7                  @ encoding: [0x07,0x30,0xe0,0xe3]
855c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r4, #4080               @ encoding: [0xff,0x4e,0xe0,0xe3]
856c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r5, #16711680           @ encoding: [0xff,0x58,0xe0,0xe3]
857c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvns	r3, #7                  @ encoding: [0x07,0x30,0xf0,0xe3]
858c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvneq	r4, #4080               @ encoding: [0xff,0x4e,0xe0,0x03]
859c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvnseq	r5, #16711680           @ encoding: [0xff,0x58,0xf0,0x03]
860c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
861c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
862c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------
863c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ MVN (register)
864c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------
865c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvn r2, r3
866c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvns r2, r3
867c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvn r5, r6, lsl #19
868c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvn r5, r6, lsr #9
869c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvn r5, r6, asr #4
870c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvn r5, r6, ror #6
871c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvn r5, r6, rrx
872c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvneq r2, r3
873c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvnseq r2, r3, lsl #10
874c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
875c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r2, r3                  @ encoding: [0x03,0x20,0xe0,0xe1]
876c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvns	r2, r3                  @ encoding: [0x03,0x20,0xf0,0xe1]
877c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r5, r6, lsl #19         @ encoding: [0x86,0x59,0xe0,0xe1]
878c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r5, r6, lsr #9          @ encoding: [0xa6,0x54,0xe0,0xe1]
879c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r5, r6, asr #4          @ encoding: [0x46,0x52,0xe0,0xe1]
880c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r5, r6, ror #6          @ encoding: [0x66,0x53,0xe0,0xe1]
881c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r5, r6, rrx             @ encoding: [0x66,0x50,0xe0,0xe1]
882c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvneq	r2, r3                  @ encoding: [0x03,0x20,0xe0,0x01]
883c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvnseq	r2, r3, lsl #10         @ encoding: [0x03,0x25,0xf0,0x01]
884c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
885c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
886c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------
887c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ MVN (shifted register)
888c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@------------------------------------------------------------------------------
889c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvn r5, r6, lsl r7
890c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvns r5, r6, lsr r7
891c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvngt r5, r6, asr r7
892c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach        mvnslt r5, r6, ror r7
893c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
894c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvn	r5, r6, lsl r7          @ encoding: [0x16,0x57,0xe0,0xe1]
895c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvns	r5, r6, lsr r7          @ encoding: [0x36,0x57,0xf0,0xe1]
896c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvngt	r5, r6, asr r7          @ encoding: [0x56,0x57,0xe0,0xc1]
897c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach@ CHECK: mvnslt	r5, r6, ror r7          @ encoding: [0x76,0x57,0xf0,0xb1]
898c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
899a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@------------------------------------------------------------------------------
900a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@ NOP
901a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@------------------------------------------------------------------------------
902a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach        nop
903a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach        nopgt
904a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach
905a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3]
906a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach@ CHECK: nopgt @ encoding: [0x00,0xf0,0x20,0xc3]
907a67851445902d1fc01fa2a37a3dfc347af949f84Jim Grosbach
908c3635c2e928a7ecde11398ff272411f6dea2dcd2Jim Grosbach
909ab40f4b737b0a87c4048a9ad2f0c02be735e3770Jim Grosbach@------------------------------------------------------------------------------
91088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ ORR
91188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@------------------------------------------------------------------------------
91288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, #0xf000
91388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, r6
91488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, r6, lsl #5
91588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, r6, lsr #5
91688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, r6, lsr #5
91788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, r6, asr #5
91888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, r6, ror #5
91988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, r8, lsl r9
92088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, r8, lsr r9
92188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, r8, asr r9
92288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, r8, ror r9
92388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, r6, rrx
92488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach
92588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        @ destination register is optional
92688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r5, #0xf000
92788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5
92888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, lsl #5
92988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, lsr #5
93088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, lsr #5
93188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, asr #5
93288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, ror #5
93388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, lsl r9
93488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, lsr r9
93588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, asr r9
93688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r6, r7, ror r9
93788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orr r4, r5, rrx
93888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach
93988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe3]
94088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0xe1]
94188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x85,0xe1]
94288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe1]
94388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe1]
94488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x85,0xe1]
94588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x85,0xe1]
94688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x87,0xe1]
94788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x87,0xe1]
94888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x87,0xe1]
94988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0xe1]
95088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x85,0xe1]
95188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach
95288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe3]
95388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r4, r5              @ encoding: [0x05,0x40,0x84,0xe1]
95488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x84,0xe1]
95588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe1]
95688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe1]
95788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x84,0xe1]
95888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x84,0xe1]
95988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x86,0xe1]
96088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x86,0xe1]
96188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0xe1]
96288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x86,0xe1]
96388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orr	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x84,0xe1]
96488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach
96588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrseq r4, r5, #0xf000
96688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrne r4, r5, r6
96788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrseq r4, r5, r6, lsl #5
96888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrlo r6, r7, r8, ror r9
96988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrshi r4, r5, r6, rrx
97088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrcs r5, #0xf000
97188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrseq r4, r5
97288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrne r6, r7, asr r9
97388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrslt r6, r7, ror r9
97488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach        orrsgt r4, r5, rrx
97588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach
97688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrseq	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x95,0x03]
97788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrne	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0x11]
97888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrseq	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x95,0x01]
97988d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrlo	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0x31]
98088d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrshi	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x95,0x81]
98188d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrhs	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0x23]
98288d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrseq	r4, r4, r5              @ encoding: [0x05,0x40,0x94,0x01]
98388d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrne	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0x11]
98488d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrslt	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x96,0xb1]
98588d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@ CHECK: orrsgt	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x94,0xc1]
98688d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach
98761b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@------------------------------------------------------------------------------
98861b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ PKH
98961b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@------------------------------------------------------------------------------
99061b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach        pkhbt r2, r2, r3
99161b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach        pkhbt r2, r2, r3, lsl #31
99261b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach        pkhbt r2, r2, r3, lsl #0
99361b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach        pkhbt r2, r2, r3, lsl #15
99461b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach
99561b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach        pkhtb r2, r2, r3
99661b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach        pkhtb r2, r2, r3, asr #31
99761b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach        pkhtb r2, r2, r3, asr #15
99861b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach
99961b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
100061b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt	r2, r2, r3, lsl #31     @ encoding: [0x93,0x2f,0x82,0xe6]
100161b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
100261b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt	r2, r2, r3, lsl #15     @ encoding: [0x93,0x27,0x82,0xe6]
100361b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach
100461b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
100561b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhtb	r2, r2, r3, asr #31     @ encoding: [0xd3,0x2f,0x82,0xe6]
100661b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach@ CHECK: pkhtb	r2, r2, r3, asr #15     @ encoding: [0xd3,0x27,0x82,0xe6]
100761b1b21e9ad2b8af163a352766eeb159979f4ff2Jim Grosbach
100810c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
100910c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: PLD
101010c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
101110c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
101210c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: PLI
101310c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
101410c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach
101510c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach
101610c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
101710c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ POP
101810c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
101910c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach        pop {r7}
102010c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach        pop {r7, r8, r9, r10}
102110c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach
102210c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: pop of a single register should encode as "ldr r7, [sp], #4"
102310c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK-FIXME: pop	{r7}                    @ encoding: [0x04,0x70,0x9d,0xe4]
102410c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK: pop	{r7, r8, r9, r10}       @ encoding: [0x80,0x07,0xbd,0xe8]
102510c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach
102610c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach
102710c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
102810c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ PUSH
102910c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@------------------------------------------------------------------------------
103010c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach        push {r7}
103110c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach        push {r7, r8, r9, r10}
103210c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach
103310c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ FIXME: push of a single register should encode as "str r7, [sp, #-4]!"
103410c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK-FIXME: push	{r7}                    @ encoding: [0x04,0x70,0x2d,0xe5]
103510c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach@ CHECK: push	{r7, r8, r9, r10}       @ encoding: [0x80,0x07,0x2d,0xe9]
103610c7d70a4e843b3006db9f5f583d6f6f56cc245eJim Grosbach
103788d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach
103888d1bc832ca5b458c8460929227be8eae6c6bdc3Jim Grosbach@------------------------------------------------------------------------------
1039a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QADD/QADD16/QADD8
1040a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1041a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qadd r1, r2, r3
1042a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qaddne r1, r2, r3
1043a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qadd16 r1, r2, r3
1044a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qadd16gt r1, r2, r3
1045a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qadd8 r1, r2, r3
1046a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qadd8le r1, r2, r3
1047a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1048a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd	r1, r2, r3              @ encoding: [0x52,0x10,0x03,0xe1]
1049a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qaddne	r1, r2, r3              @ encoding: [0x52,0x10,0x03,0x11]
1050a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x22,0xe6]
1051a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x22,0xc6]
1052a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x22,0xe6]
1053a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x22,0xd6]
1054a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1055a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1056a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1057a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QDADD/QDSUB
1058a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1059a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qdadd r6, r7, r8
1060a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qdaddhi r6, r7, r8
1061a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qdsub r6, r7, r8
1062a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qdsubhi r6, r7, r8
1063a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1064a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdadd	r6, r7, r8              @ encoding: [0x57,0x60,0x48,0xe1]
1065a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdaddhi r6, r7, r8             @ encoding: [0x57,0x60,0x48,0x81]
1066a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdsub	r6, r7, r8              @ encoding: [0x57,0x60,0x68,0xe1]
1067a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qdsubhi r6, r7, r8             @ encoding: [0x57,0x60,0x68,0x81]
1068a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1069a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1070a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1071a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QSAX
1072a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1073a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsax r9, r12, r0
1074a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsaxeq r9, r12, r0
1075a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1076a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsax	r9, r12, r0             @ encoding: [0x50,0x9f,0x2c,0xe6]
1077a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsaxeq	r9, r12, r0             @ encoding: [0x50,0x9f,0x2c,0x06]
1078a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1079a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1080a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1081a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ QADD/QADD16/QADD8
1082a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1083a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsub r1, r2, r3
1084a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsubne r1, r2, r3
1085a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsub16 r1, r2, r3
1086a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsub16gt r1, r2, r3
1087a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsub8 r1, r2, r3
1088a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach        qsub8le r1, r2, r3
1089a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1090a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub	r1, r2, r3              @ encoding: [0x52,0x10,0x23,0xe1]
1091a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsubne	r1, r2, r3              @ encoding: [0x52,0x10,0x23,0x11]
1092a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub16	r1, r2, r3              @ encoding: [0x73,0x1f,0x22,0xe6]
1093a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub16gt	r1, r2, r3      @ encoding: [0x73,0x1f,0x22,0xc6]
1094a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub8	r1, r2, r3              @ encoding: [0xf3,0x1f,0x22,0xe6]
1095a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@ CHECK: qsub8le r1, r2, r3             @ encoding: [0xf3,0x1f,0x22,0xd6]
1096a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1097a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach
1098a4c34ab54485f64d3b962a499526825a7a0d4bbcJim Grosbach@------------------------------------------------------------------------------
1099616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ RBIT
1100616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------
1101616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        rbit r1, r2
1102616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        rbitne r1, r2
1103616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach
1104616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rbit	r1, r2                  @ encoding: [0x32,0x1f,0xff,0xe6]
1105616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rbitne	r1, r2                  @ encoding: [0x32,0x1f,0xff,0x16]
1106616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach
1107616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach
1108616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------
1109616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ REV/REV16/REVSH
1110616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------
1111616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        rev r1, r9
1112616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        revne r1, r5
1113616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        rev16 r8, r3
1114616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        rev16ne r12, r4
1115616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        revsh r4, r9
1116616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach        revshne r9, r1
1117616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach
1118616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rev	r1, r9                  @ encoding: [0x39,0x1f,0xbf,0xe6]
1119616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: revne	r1, r5                  @ encoding: [0x35,0x1f,0xbf,0x16]
1120616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rev16	r8, r3                  @ encoding: [0xb3,0x8f,0xbf,0xe6]
1121616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: rev16ne r12, r4                @ encoding: [0xb4,0xcf,0xbf,0x16]
1122616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: revsh	r4, r9                  @ encoding: [0xb9,0x4f,0xff,0xe6]
1123616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@ CHECK: revshne r9, r1                 @ encoding: [0xb1,0x9f,0xff,0x16]
1124616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach
1125616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach
1126616fbdf987170addd0d8f75f4fd677589d54cd75Jim Grosbach@------------------------------------------------------------------------------
112786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ RSB
112886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@------------------------------------------------------------------------------
112986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, #0xf000
113086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, r6
113186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, r6, lsl #5
113286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsblo r4, r5, r6, lsr #5
113386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, r6, lsr #5
113486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, r6, asr #5
113586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, r6, ror #5
113686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r6, r7, r8, lsl r9
113786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r6, r7, r8, lsr r9
113886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r6, r7, r8, asr r9
113986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsble r6, r7, r8, ror r9
114086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, r6, rrx
114186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach
114286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        @ destination register is optional
114386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r5, #0xf000
114486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5
114586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, lsl #5
114686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, lsr #5
114786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsbne r4, r5, lsr #5
114886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, asr #5
114986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, ror #5
115086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsbgt r6, r7, lsl r9
115186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r6, r7, lsr r9
115286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r6, r7, asr r9
115386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r6, r7, ror r9
115486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach        rsb r4, r5, rrx
115586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach
115686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x65,0xe2]
115786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r5, r6              @ encoding: [0x06,0x40,0x65,0xe0]
115886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x65,0xe0]
115986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsblo	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x65,0x30]
116086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x65,0xe0]
116186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x65,0xe0]
116286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x65,0xe0]
116386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x67,0xe0]
116486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x67,0xe0]
116586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x67,0xe0]
116686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsble	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x67,0xd0]
116786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x65,0xe0]
116886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach
116986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x65,0xe2]
117086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r4, r5              @ encoding: [0x05,0x40,0x64,0xe0]
117186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x64,0xe0]
117286fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x64,0xe0]
117386fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsbne	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x64,0x10]
117486fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x64,0xe0]
117586fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x64,0xe0]
117686fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsbgt	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x66,0xc0]
117786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x66,0xe0]
117886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x66,0xe0]
117986fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x66,0xe0]
118086fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@ CHECK: rsb	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x64,0xe0]
118186fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach
1182f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@------------------------------------------------------------------------------
1183f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ RSC
1184f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@------------------------------------------------------------------------------
1185f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, #0xf000
1186f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, r6
1187f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, r6, lsl #5
1188f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsclo r4, r5, r6, lsr #5
1189f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, r6, lsr #5
1190f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, r6, asr #5
1191f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, r6, ror #5
1192f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r6, r7, r8, lsl r9
1193f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r6, r7, r8, lsr r9
1194f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r6, r7, r8, asr r9
1195f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rscle r6, r7, r8, ror r9
1196f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach
1197f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        @ destination register is optional
1198f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r5, #0xf000
1199f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5
1200f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, lsl #5
1201f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, lsr #5
1202f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rscne r4, r5, lsr #5
1203f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, asr #5
1204f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r4, r5, ror #5
1205f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rscgt r6, r7, lsl r9
1206f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r6, r7, lsr r9
1207f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r6, r7, asr r9
1208f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach        rsc r6, r7, ror r9
1209f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach
1210f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xe5,0xe2]
1211f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r5, r6              @ encoding: [0x06,0x40,0xe5,0xe0]
1212f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0xe5,0xe0]
1213f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsclo	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xe5,0x30]
1214f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xe5,0xe0]
1215f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0xe5,0xe0]
1216f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0xe5,0xe0]
1217f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xe7,0xe0]
1218f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xe7,0xe0]
1219f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xe7,0xe0]
1220f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rscle	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xe7,0xd0]
1221f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach
1222f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xe5,0xe2]
1223f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r4, r5              @ encoding: [0x05,0x40,0xe4,0xe0]
1224f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0xe4,0xe0]
1225f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xe4,0xe0]
1226f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rscne	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xe4,0x10]
1227f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0xe4,0xe0]
1228f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0xe4,0xe0]
1229f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rscgt	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xe6,0xc0]
1230f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xe6,0xe0]
1231f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xe6,0xe0]
1232f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach@ CHECK: rsc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xe6,0xe0]
1233f790193aec11747bb35206d2c79e0c5ffbc6dc7fJim Grosbach
12348ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------
12358ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ SADD16/SADD8
12368ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------
12378ae45af7941dc3e78859ba3624676081590c435dJim Grosbach        sadd16 r1, r2, r3
12388ae45af7941dc3e78859ba3624676081590c435dJim Grosbach        sadd16gt r1, r2, r3
12398ae45af7941dc3e78859ba3624676081590c435dJim Grosbach        sadd8 r1, r2, r3
12408ae45af7941dc3e78859ba3624676081590c435dJim Grosbach        sadd8le r1, r2, r3
12418ae45af7941dc3e78859ba3624676081590c435dJim Grosbach
12428ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x12,0xe6]
12438ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x12,0xc6]
12448ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x12,0xe6]
12458ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x12,0xd6]
12468ae45af7941dc3e78859ba3624676081590c435dJim Grosbach
12478ae45af7941dc3e78859ba3624676081590c435dJim Grosbach
12488ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------
12498ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ SASX
12508ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@------------------------------------------------------------------------------
12518ae45af7941dc3e78859ba3624676081590c435dJim Grosbach        sasx r9, r12, r0
12528ae45af7941dc3e78859ba3624676081590c435dJim Grosbach        sasxeq r9, r12, r0
12538ae45af7941dc3e78859ba3624676081590c435dJim Grosbach
12548ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sasx	r9, r12, r0             @ encoding: [0x30,0x9f,0x1c,0xe6]
12558ae45af7941dc3e78859ba3624676081590c435dJim Grosbach@ CHECK: sasxeq	r9, r12, r0             @ encoding: [0x30,0x9f,0x1c,0x06]
12568ae45af7941dc3e78859ba3624676081590c435dJim Grosbach
125786fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach
125886fdff0fa79b2c00cb68a2961cca0466eb50d666Jim Grosbach@------------------------------------------------------------------------------
12598409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ SBC
12608409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@------------------------------------------------------------------------------
12618409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, #0xf000
12628409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, r6
12638409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, r6, lsl #5
12648409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, r6, lsr #5
12658409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, r6, lsr #5
12668409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, r6, asr #5
12678409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, r6, ror #5
12688409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, r8, lsl r9
12698409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, r8, lsr r9
12708409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, r8, asr r9
12718409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, r8, ror r9
12728409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach
12738409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        @ destination register is optional
12748409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r5, #0xf000
12758409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5
12768409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, lsl #5
12778409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, lsr #5
12788409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, lsr #5
12798409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, asr #5
12808409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r4, r5, ror #5
12818409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, lsl r9
12828409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, lsr r9
12838409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, asr r9
12848409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach        sbc r6, r7, ror r9
12858409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach
12868409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xc5,0xe2]
12878409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r5, r6              @ encoding: [0x06,0x40,0xc5,0xe0]
12888409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0xc5,0xe0]
12898409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xc5,0xe0]
12908409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xc5,0xe0]
12918409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0xc5,0xe0]
12928409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0xc5,0xe0]
12938409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xc7,0xe0]
12948409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xc7,0xe0]
12958409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xc7,0xe0]
12968409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xc7,0xe0]
12978409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach
12988409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xc5,0xe2]
12998409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r4, r5              @ encoding: [0x05,0x40,0xc4,0xe0]
13008409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0xc4,0xe0]
13018409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xc4,0xe0]
13028409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xc4,0xe0]
13038409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0xc4,0xe0]
13048409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0xc4,0xe0]
13058409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xc6,0xe0]
13068409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xc6,0xe0]
13078409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xc6,0xe0]
13088409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@ CHECK: sbc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xc6,0xe0]
13098409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach
13108409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach
13118409f047312da0318af2a2fce162810ca3a95da3Jim Grosbach@------------------------------------------------------------------------------
1312fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@ SBFX
1313fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@------------------------------------------------------------------------------
1314fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach        sbfx r4, r5, #16, #1
1315fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach        sbfxgt r4, r5, #16, #16
1316fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach
1317fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@ CHECK: sbfx	r4, r5, #16, #1         @ encoding: [0x55,0x48,0xa0,0xe7]
1318fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@ CHECK: sbfxgt	r4, r5, #16, #16        @ encoding: [0x55,0x48,0xaf,0xc7]
1319fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach
1320fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach
1321fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@------------------------------------------------------------------------------
13229076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach@ SEL
13239076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach@------------------------------------------------------------------------------
13249076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach        sel r9, r2, r1
13259076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach        selne r9, r2, r1
13269076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach
13279076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach@ CHECK: sel	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0xe6]
13289076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach@ CHECK: selne	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0x16]
13299076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach
13309076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach
13319076b6e8f43c7eade7e0b667081f94df097e85c3Jim Grosbach@------------------------------------------------------------------------------
1332c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach@ SETEND
1333c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach@------------------------------------------------------------------------------
1334c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach        setend be
1335c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach        setend le
1336c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach
1337c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach	sel	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0xe6]
1338c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach	selne	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0x16]
1339c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach
1340c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach
1341c27d4f9ea0cb9064d3e2cadb384d73e95e9de449Jim Grosbach@------------------------------------------------------------------------------
1342248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ SEV
1343248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1344248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        sev
1345248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        seveq
1346248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1347248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: sev                             @ encoding: [0x04,0xf0,0x20,0xe3]
1348248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: seveq                           @ encoding: [0x04,0xf0,0x20,0x03]
1349248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1350248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1351248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ SHADD16/SHADD8
1352248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1353248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shadd16 r4, r8, r2
1354248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shadd16gt r4, r8, r2
1355248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shadd8 r4, r8, r2
1356248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shadd8gt r4, r8, r2
1357248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1358248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shadd16	r4, r8, r2      @ encoding: [0x12,0x4f,0x38,0xe6]
1359248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shadd16gt	r4, r8, r2      @ encoding: [0x12,0x4f,0x38,0xc6]
1360248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shadd8	r4, r8, r2              @ encoding: [0x92,0x4f,0x38,0xe6]
1361248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shadd8gt	r4, r8, r2      @ encoding: [0x92,0x4f,0x38,0xc6]
1362248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1363248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1364248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1365248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ SHASX
1366248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1367248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shasx r4, r8, r2
1368248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shasxgt r4, r8, r2
1369248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1370248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shasx	r4, r8, r2              @ encoding: [0x32,0x4f,0x38,0xe6]
1371248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shasxgt r4, r8, r2             @ encoding: [0x32,0x4f,0x38,0xc6]
1372248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1373248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1374248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1375248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ SHSUB16/SHSUB8
1376248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1377248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shsub16 r4, r8, r2
1378248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shsub16gt r4, r8, r2
1379248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shsub8 r4, r8, r2
1380248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach        shsub8gt r4, r8, r2
1381248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1382248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shsub16	r4, r8, r2      @ encoding: [0x72,0x4f,0x38,0xe6]
1383248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shsub16gt	r4, r8, r2      @ encoding: [0x72,0x4f,0x38,0xc6]
1384248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shsub8	r4, r8, r2              @ encoding: [0xf2,0x4f,0x38,0xe6]
1385248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@ CHECK: shsub8gt	r4, r8, r2      @ encoding: [0xf2,0x4f,0x38,0xc6]
1386248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
13877c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach@------------------------------------------------------------------------------
13887c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach@ SMC
13897c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach@------------------------------------------------------------------------------
13907c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach        smc #0xf
13917c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach        smceq #0
13927c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach
13937c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach@ CHECK: smc	#15                     @ encoding: [0x7f,0x00,0x60,0xe1]
13947c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach@ CHECK: smceq	#0                      @ encoding: [0x70,0x00,0x60,0x01]
13957c9fbc0340aff9e20fd9009be23ffd279c1c0a7dJim Grosbach
13960ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@------------------------------------------------------------------------------
13970ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ SMLABB/SMLABT/SMLATB/SMLATT
13980ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@------------------------------------------------------------------------------
13990ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlabb r3, r1, r9, r0
14000ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlabt r5, r6, r4, r1
14010ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlatb r4, r2, r3, r2
14020ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlatt r8, r3, r8, r4
14030ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlabbge r3, r1, r9, r0
14040ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlabtle r5, r6, r4, r1
14050ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlatbne r4, r2, r3, r2
14060ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach        smlatteq r8, r3, r8, r4
14070ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach
14080ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlabb	r3, r1, r9, r0          @ encoding: [0x81,0x09,0x03,0xe1]
14090ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlabt	r5, r6, r4, r1          @ encoding: [0xc6,0x14,0x05,0xe1]
14100ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlatb	r4, r2, r3, r2          @ encoding: [0xa2,0x23,0x04,0xe1]
14110ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlatt	r8, r3, r8, r4          @ encoding: [0xe3,0x48,0x08,0xe1]
14120ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlabbge	r3, r1, r9, r0  @ encoding: [0x81,0x09,0x03,0xa1]
14130ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlabtle	r5, r6, r4, r1  @ encoding: [0xc6,0x14,0x05,0xd1]
14140ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlatbne	r4, r2, r3, r2  @ encoding: [0xa2,0x23,0x04,0x11]
14150ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach@ CHECK: smlatteq	r8, r3, r8, r4  @ encoding: [0xe3,0x48,0x08,0x01]
14160ffd4a09dfb1ee56ec335fed0d15954f92cfa5b3Jim Grosbach
1417b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach@------------------------------------------------------------------------------
1418b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach@ SMLAD/SMLADX
1419b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach@------------------------------------------------------------------------------
1420b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach        smlad r2, r3, r5, r8
1421b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach        smladx r2, r3, r5, r8
1422b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach        smladeq r2, r3, r5, r8
1423b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach        smladxhi r2, r3, r5, r8
1424b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach
1425b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach@ CHECK: smlad	r2, r3, r5, r8          @ encoding: [0x13,0x85,0x02,0xe7]
1426b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach@ CHECK: smladx	r2, r3, r5, r8          @ encoding: [0x33,0x85,0x02,0xe7]
1427b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach@ CHECK: smladeq	r2, r3, r5, r8  @ encoding: [0x13,0x85,0x02,0x07]
1428b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach@ CHECK: smladxhi	r2, r3, r5, r8  @ encoding: [0x33,0x85,0x02,0x87]
1429b206daaec1a2ec25e99fbdc413cd0866cec160b2Jim Grosbach
1430248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach
1431248e6c328c06afc2a6af6b95a1a8a41c1b53055cJim Grosbach@------------------------------------------------------------------------------
1432ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ SMLAL
1433b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach@------------------------------------------------------------------------------
1434b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach        smlal r2, r3, r5, r8
1435b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach        smlals r2, r3, r5, r8
1436b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach        smlaleq r2, r3, r5, r8
1437b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach        smlalshi r2, r3, r5, r8
1438b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach
1439b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach@ CHECK: smlal	r2, r3, r5, r8          @ encoding: [0x95,0x28,0xe3,0xe0]
1440b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach@ CHECK: smlals	r2, r3, r5, r8          @ encoding: [0x95,0x28,0xf3,0xe0]
1441b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach@ CHECK: smlaleq	r2, r3, r5, r8  @ encoding: [0x95,0x28,0xe3,0x00]
1442b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach@ CHECK: smlalshi	r2, r3, r5, r8  @ encoding: [0x95,0x28,0xf3,0x80]
1443b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach
1444b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach
1445b544f68b70475f06a8ec39c874297549edc0f695Jim Grosbach@------------------------------------------------------------------------------
1446ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ SMLALBB/SMLALBT/SMLALTB/SMLALTT
1447ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@------------------------------------------------------------------------------
1448ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlalbb r3, r1, r9, r0
1449ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlalbt r5, r6, r4, r1
1450ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlaltb r4, r2, r3, r2
1451ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlaltt r8, r3, r8, r4
1452ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlalbbge r3, r1, r9, r0
1453ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlalbtle r5, r6, r4, r1
1454ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlaltbne r4, r2, r3, r2
1455ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlaltteq r8, r3, r8, r4
1456ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach
1457ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlalbb	r3, r1, r9, r0  @ encoding: [0x89,0x30,0x41,0xe1]
1458ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlalbt	r5, r6, r4, r1  @ encoding: [0xc4,0x51,0x46,0xe1]
1459ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlaltb	r4, r2, r3, r2  @ encoding: [0xa3,0x42,0x42,0xe1]
1460ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlaltt	r8, r3, r8, r4  @ encoding: [0xe8,0x84,0x43,0xe1]
1461ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlalbbge	r3, r1, r9, r0  @ encoding: [0x89,0x30,0x41,0xa1]
1462ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlalbtle	r5, r6, r4, r1  @ encoding: [0xc4,0x51,0x46,0xd1]
1463ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlaltbne	r4, r2, r3, r2  @ encoding: [0xa3,0x42,0x42,0x11]
1464ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlaltteq	r8, r3, r8, r4  @ encoding: [0xe8,0x84,0x43,0x01]
1465ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach
1466ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach
1467ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@------------------------------------------------------------------------------
1468ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ SMLALD/SMLALDX
1469ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@------------------------------------------------------------------------------
1470ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlald r2, r3, r5, r8
1471ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlaldx r2, r3, r5, r8
1472ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlaldeq r2, r3, r5, r8
1473ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach        smlaldxhi r2, r3, r5, r8
1474ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach
1475ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlald	r2, r3, r5, r8          @ encoding: [0x15,0x28,0x43,0xe7]
1476ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlaldx	r2, r3, r5, r8  @ encoding: [0x35,0x28,0x43,0xe7]
1477ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlaldeq	r2, r3, r5, r8  @ encoding: [0x15,0x28,0x43,0x07]
1478ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@ CHECK: smlaldxhi	r2, r3, r5, r8  @ encoding: [0x35,0x28,0x43,0x87]
1479ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach
1480ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach
1481ce501030d9b0213d951fbf05f928ac75b06b5a3aJim Grosbach@------------------------------------------------------------------------------
148244a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach@ SMLAWB/SMLAWT
148344a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach@------------------------------------------------------------------------------
148444a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach        smlawb r2, r3, r10, r8
148544a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach        smlawt r8, r3, r5, r9
148644a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach        smlawbeq r2, r7, r5, r8
148744a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach        smlawthi r1, r3, r0, r8
148844a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach
148944a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach@ CHECK: smlawb	r2, r3, r10, r8         @ encoding: [0x83,0x8a,0x22,0xe1]
149044a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach@ CHECK: smlawt	r8, r3, r5, r9          @ encoding: [0xc3,0x95,0x28,0xe1]
149144a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach@ CHECK: smlawbeq	r2, r7, r5, r8  @ encoding: [0x87,0x85,0x22,0x01]
149244a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach@ CHECK: smlawthi	r1, r3, r0, r8  @ encoding: [0xc3,0x80,0x21,0x81]
149344a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach
149444a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach
149544a456332f1f41d1e0b2815d93e47a88d501ee6eJim Grosbach@------------------------------------------------------------------------------
14966808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ SMLSD/SMLSDX
14976808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
14986808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsd r2, r3, r5, r8
14996808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsdx r2, r3, r5, r8
15006808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsdeq r2, r3, r5, r8
15016808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsdxhi r2, r3, r5, r8
15026808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15036808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsd	r2, r3, r5, r8          @ encoding: [0x53,0x85,0x02,0xe7]
15046808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsdx	r2, r3, r5, r8          @ encoding: [0x73,0x85,0x02,0xe7]
15056808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsdeq	r2, r3, r5, r8  @ encoding: [0x53,0x85,0x02,0x07]
15066808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsdxhi	r2, r3, r5, r8  @ encoding: [0x73,0x85,0x02,0x87]
15076808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15086808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15096808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15106808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ SMLSLD/SMLSLDX
15116808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15126808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsld r2, r9, r5, r1
15136808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsldx r4, r11, r2, r8
15146808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsldeq r8, r2, r5, r6
15156808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smlsldxhi r1, r0, r3, r8
15166808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15176808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsld	r2, r9, r5, r1          @ encoding: [0x55,0x21,0x49,0xe7]
15186808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsldx	r4, r11, r2, r8 @ encoding: [0x72,0x48,0x4b,0xe7]
15196808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsldeq	r8, r2, r5, r6  @ encoding: [0x55,0x86,0x42,0x07]
15206808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smlsldxhi	r1, r0, r3, r8  @ encoding: [0x73,0x18,0x40,0x87]
15216808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15226808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15236808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15246808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ SMMLA/SMMLAR
15256808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15266808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmla r1, r2, r3, r4
15276808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmlar r4, r3, r2, r1
15286808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmlalo r1, r2, r3, r4
15296808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmlarcs r4, r3, r2, r1
15306808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15316808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmla	r1, r2, r3, r4          @ encoding: [0x12,0x43,0x51,0xe7]
15326808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmlar	r4, r3, r2, r1          @ encoding: [0x33,0x12,0x54,0xe7]
15336808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmlalo	r1, r2, r3, r4  @ encoding: [0x12,0x43,0x51,0x37]
15346808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmlarhs	r4, r3, r2, r1  @ encoding: [0x33,0x12,0x54,0x27]
15356808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15366808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15376808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15386808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ SMMLS/SMMLSR
15396808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15406808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmls r1, r2, r3, r4
15416808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmlsr r4, r3, r2, r1
15426808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmlslo r1, r2, r3, r4
15436808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmlsrcs r4, r3, r2, r1
15446808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15456808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmls	r1, r2, r3, r4          @ encoding: [0xd2,0x43,0x51,0xe7]
15466808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmlsr	r4, r3, r2, r1          @ encoding: [0xf3,0x12,0x54,0xe7]
15476808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmlslo	r1, r2, r3, r4  @ encoding: [0xd2,0x43,0x51,0x37]
15486808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmlsrhs	r4, r3, r2, r1  @ encoding: [0xf3,0x12,0x54,0x27]
15496808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15506808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15516808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15526808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ SMMUL/SMMULR
15536808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15546808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmul r2, r3, r4
15556808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmulr r3, r2, r1
15566808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmulcc r2, r3, r4
15576808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smmulrhs r3, r2, r1
15586808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15596808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmul	r2, r3, r4              @ encoding: [0x13,0xf4,0x52,0xe7]
15606808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmulr	r3, r2, r1              @ encoding: [0x32,0xf1,0x53,0xe7]
15616808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmullo	r2, r3, r4      @ encoding: [0x13,0xf4,0x52,0x37]
15626808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smmulrhs	r3, r2, r1      @ encoding: [0x32,0xf1,0x53,0x27]
15636808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15646808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15656808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15666808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ SMUAD/SMUADX
15676808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
15686808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smuad r2, r3, r4
15696808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smuadx r3, r2, r1
15706808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smuadlt r2, r3, r4
15716808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach        smuadxge r3, r2, r1
15726808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
15736808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smuad	r2, r3, r4              @ encoding: [0x13,0xf4,0x02,0xe7]
15746808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smuadx	r3, r2, r1              @ encoding: [0x32,0xf1,0x03,0xe7]
15756808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smuadlt	r2, r3, r4      @ encoding: [0x13,0xf4,0x02,0xb7]
15766808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@ CHECK: smuadxge	r3, r2, r1      @ encoding: [0x32,0xf1,0x03,0xa7]
15776808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach
1578bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach
1579bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@------------------------------------------------------------------------------
1580bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ SMULBB/SMLALBT/SMLALTB/SMLALTT
1581bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@------------------------------------------------------------------------------
1582bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smulbb r3, r9, r0
1583bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smulbt r5, r4, r1
1584bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smultb r4, r2, r2
1585bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smultt r8, r3, r4
1586bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smulbbge r1, r9, r0
1587bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smulbtle r5, r6, r4
1588bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smultbne r2, r3, r2
1589bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smultteq r8, r3, r4
1590bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach
1591bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smulbb	r3, r9, r0              @ encoding: [0x89,0x00,0x63,0xe1]
1592bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smulbt	r5, r4, r1              @ encoding: [0xc4,0x01,0x65,0xe1]
1593bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smultb	r4, r2, r2              @ encoding: [0xa2,0x02,0x64,0xe1]
1594bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smultt	r8, r3, r4              @ encoding: [0xe3,0x04,0x68,0xe1]
1595bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smulbbge	r1, r9, r0      @ encoding: [0x89,0x00,0x61,0xa1]
1596bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smulbtle	r5, r6, r4      @ encoding: [0xc6,0x04,0x65,0xd1]
1597bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smultbne	r2, r3, r2      @ encoding: [0xa3,0x02,0x62,0x11]
1598bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ CHECK: smultteq	r8, r3, r4      @ encoding: [0xe3,0x04,0x68,0x01]
1599bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach
16000e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
1601bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@------------------------------------------------------------------------------
1602bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@ SMULL
1603bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach@------------------------------------------------------------------------------
1604bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smull r3, r9, r0, r1
1605bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smulls r3, r9, r0, r2
1606bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smulleq r8, r3, r4, r5
1607bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach        smullseq r8, r3, r4, r3
1608bf2845c0d8a77d24e9971871badeba8cee7b2648Jim Grosbach
16090e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smull	r3, r9, r0, r1          @ encoding: [0x90,0x31,0xc9,0xe0]
16100e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smulls	r3, r9, r0, r2          @ encoding: [0x90,0x32,0xd9,0xe0]
16110e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smulleq	r8, r3, r4, r5  @ encoding: [0x94,0x85,0xc3,0x00]
16120e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smullseq	r8, r3, r4, r3  @ encoding: [0x94,0x83,0xd3,0x00]
16130e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16140e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16150e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@------------------------------------------------------------------------------
16160e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ SMULWB/SMULWT
16170e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@------------------------------------------------------------------------------
16180e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach        smulwb r3, r9, r0
16190e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach        smulwt r3, r9, r2
16200e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16210e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smulwb	r3, r9, r0              @ encoding: [0xa9,0x00,0x23,0xe1]
16220e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smulwt	r3, r9, r2              @ encoding: [0xe9,0x02,0x23,0xe1]
16230e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16240e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16250e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@------------------------------------------------------------------------------
16260e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ SMUSD/SMUSDX
16270e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@------------------------------------------------------------------------------
16280e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach        smusd r3, r0, r1
16290e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach        smusdx r3, r9, r2
16300e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach        smusdeq r8, r3, r2
16310e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach        smusdxne r7, r4, r3
16320e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16330e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smusd	r3, r0, r1              @ encoding: [0x50,0xf1,0x03,0xe7]
16340e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smusdx	r3, r9, r2              @ encoding: [0x79,0xf2,0x03,0xe7]
16350e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smusdeq	r8, r3, r2      @ encoding: [0x53,0xf2,0x08,0x07]
16360e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach@ CHECK: smusdxne	r7, r4, r3      @ encoding: [0x74,0xf3,0x07,0x17]
16370e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16380e76edf8c05c5107acb687b898fea686ae756c38Jim Grosbach
16396808f21757f4f2be05a3b12a67d9360b4f9f62e2Jim Grosbach@------------------------------------------------------------------------------
16406ab4e3dd2375c3dcee06dde37437dc0c5a99aa24Jim Grosbach@ FIXME: SRS
16416ab4e3dd2375c3dcee06dde37437dc0c5a99aa24Jim Grosbach@------------------------------------------------------------------------------
1642580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach
1643580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach
1644580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@------------------------------------------------------------------------------
1645580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@ SSAT
1646580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@------------------------------------------------------------------------------
1647580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach	ssat	r8, #1, r10
1648580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach	ssat	r8, #1, r10, lsl #0
1649580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach	ssat	r8, #1, r10, lsl #31
1650580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach	ssat	r8, #1, r10, asr #32
1651580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach	ssat	r8, #1, r10, asr #1
1652580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach
1653580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@ CHECK: ssat	r8, #1, r10             @ encoding: [0x1a,0x80,0xa0,0xe6]
1654580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@ CHECK: ssat	r8, #1, r10             @ encoding: [0x1a,0x80,0xa0,0xe6]
1655580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@ CHECK: ssat	r8, #1, r10, lsl #31    @ encoding: [0x9a,0x8f,0xa0,0xe6]
1656580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@ CHECK: ssat	r8, #1, r10, asr #32    @ encoding: [0x5a,0x80,0xa0,0xe6]
1657580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach@ CHECK: ssat	r8, #1, r10, asr #1     @ encoding: [0xda,0x80,0xa0,0xe6]
1658580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9fJim Grosbach
1659f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach
1660f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach@------------------------------------------------------------------------------
1661f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach@ SSAT16
1662f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach@------------------------------------------------------------------------------
1663f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach	ssat16	r2, #1, r7
1664f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach	ssat16	r3, #16, r5
1665f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach
1666f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach@ CHECK: ssat16	r2, #1, r7              @ encoding: [0x37,0x2f,0xa0,0xe6]
1667f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach@ CHECK: ssat16	r3, #16, r5             @ encoding: [0x35,0x3f,0xaf,0xe6]
1668f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach
1669f49433523e8a39db6d83503e312ae55160eed90aJim Grosbach
16706ab4e3dd2375c3dcee06dde37437dc0c5a99aa24Jim Grosbach@------------------------------------------------------------------------------
1671185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ SSAX
1672185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@------------------------------------------------------------------------------
1673185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach        ssax r2, r3, r4
1674185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach        ssaxlt r2, r3, r4
1675185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach
1676185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ CHECK: ssax	r2, r3, r4              @ encoding: [0x54,0x2f,0x13,0xe6]
1677185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ CHECK: ssaxlt	r2, r3, r4              @ encoding: [0x54,0x2f,0x13,0xb6]
1678185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach
1679185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@------------------------------------------------------------------------------
1680185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ SSUB16/SSUB8
1681185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@------------------------------------------------------------------------------
1682185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach        ssub16 r1, r0, r6
1683185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach        ssub16ne r5, r3, r2
1684185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach        ssub8 r9, r2, r4
1685185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach        ssub8eq r5, r1, r2
1686185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach
1687185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ CHECK: ssub16	r1, r0, r6              @ encoding: [0x76,0x1f,0x10,0xe6]
1688185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ CHECK: ssub16ne	r5, r3, r2      @ encoding: [0x72,0x5f,0x13,0x16]
1689185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ CHECK: ssub8	r9, r2, r4              @ encoding: [0xf4,0x9f,0x12,0xe6]
1690185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@ CHECK: ssub8eq	r5, r1, r2      @ encoding: [0xf2,0x5f,0x11,0x06]
1691185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach
1692185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach
1693185f92e7d019bc52413a2b082d61e35c80f8b597Jim Grosbach@------------------------------------------------------------------------------
16943b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@ STM*
16953b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach@------------------------------------------------------------------------------
16963b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        stm       r2, {r1,r3-r6,sp}
1697a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmia     r3, {r1,r3-r6,lr}
1698a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmib     r4, {r1,r3-r6,sp}
1699a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmda     r5, {r1,r3-r6,sp}
1700a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmdb     r6, {r1,r3-r6,r8}
1701a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmfd     sp, {r1,r3-r6,sp}
17023b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach
17033b14a5c5469176effb921d91d4494f0aa2919fd0Jim Grosbach        @ with update
1704a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stm       r8!, {r1,r3-r6,sp}
1705a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmib     r9!, {r1,r3-r6,sp}
1706a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmda     sp!, {r1,r3-r6}
1707a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach        stmdb     r0!, {r1,r5,r7,sp}
1708a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach
1709a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stm	r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8]
1710a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stm	r3, {lr, r1, r3, r4, r5, r6} @ encoding: [0x7a,0x40,0x83,0xe8]
1711a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stmib	r4, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x84,0xe9]
1712a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stmda	r5, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x05,0xe8]
1713a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stmdb	r6, {r1, r3, r4, r5, r6, r8} @ encoding: [0x7a,0x01,0x06,0xe9]
1714a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stmdb	sp, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x0d,0xe9]
1715a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach
1716a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stm	r8!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa8,0xe8]
1717a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stmib	r9!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa9,0xe9]
1718a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stmda	sp!, {r1, r3, r4, r5, r6} @ encoding: [0x7a,0x00,0x2d,0xe8]
1719a46c658c6619e979a54ec1e4dc919b3a0319129aJim Grosbach@ CHECK: stmdb	r0!, {r1, r5, r7, sp}   @ encoding: [0xa2,0x20,0x20,0xe9]
1720873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1721873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1722873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@------------------------------------------------------------------------------
1723873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ FIXME:STR*
1724873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@------------------------------------------------------------------------------
172536711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@------------------------------------------------------------------------------
172636711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ STREX/STREXB/STREXH/STREXD
172736711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@------------------------------------------------------------------------------
172836711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        strexb  r1, r3, [r4]
172936711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        strexh  r4, r2, [r5]
173036711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        strex  r2, r1, [r7]
173136711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach        strexd  r6, r2, r3, [r8]
173236711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach
173336711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: strexb	r1, r3, [r4]            @ encoding: [0x93,0x1f,0xc4,0xe1]
173436711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: strexh	r4, r2, [r5]            @ encoding: [0x92,0x4f,0xe5,0xe1]
173536711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: strex	r2, r1, [r7]            @ encoding: [0x91,0x2f,0x87,0xe1]
173636711e4a3c0b53000ea594233bd619dbf252558cJim Grosbach@ CHECK: strexd	r6, r2, r3, [r8]        @ encoding: [0x92,0x6f,0xa8,0xe1]
1737873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1738873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1739873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@------------------------------------------------------------------------------
1740873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ SUB
1741873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@------------------------------------------------------------------------------
1742873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, #0xf000
1743873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, r6
1744873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, r6, lsl #5
1745873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, r6, lsr #5
1746873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, r6, lsr #5
1747873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, r6, asr #5
1748873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, r6, ror #5
1749873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, r8, lsl r9
1750873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, r8, lsr r9
1751873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, r8, asr r9
1752873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, r8, ror r9
1753873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1754873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        @ destination register is optional
1755873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r5, #0xf000
1756873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5
1757873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, lsl #5
1758873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, lsr #5
1759873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, lsr #5
1760873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, asr #5
1761873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r4, r5, ror #5
1762873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, lsl r9
1763873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, lsr r9
1764873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, asr r9
1765873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach        sub r6, r7, ror r9
1766873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1767873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x45,0xe2]
1768873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r5, r6              @ encoding: [0x06,0x40,0x45,0xe0]
1769873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x45,0xe0]
1770873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x45,0xe0]
1771873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x45,0xe0]
1772873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x45,0xe0]
1773873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x45,0xe0]
1774873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x47,0xe0]
1775873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x47,0xe0]
1776873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x47,0xe0]
1777873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x47,0xe0]
1778873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1779873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1780873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x45,0xe2]
1781873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r4, r5              @ encoding: [0x05,0x40,0x44,0xe0]
1782873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x44,0xe0]
1783873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x44,0xe0]
1784873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x44,0xe0]
1785873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x44,0xe0]
1786873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x44,0xe0]
1787873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x46,0xe0]
1788873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x46,0xe0]
1789873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x46,0xe0]
1790873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach@ CHECK: sub	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x46,0xe0]
1791873db3eebae3cf1e0931149896f262d17a4dc79dJim Grosbach
1792ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach
1793ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach@------------------------------------------------------------------------------
1794ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach@ SVC
1795ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach@------------------------------------------------------------------------------
1796ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach        svc #16
1797ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach        svc #0
1798ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach        svc #0xffffff
1799ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach
1800ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach@ CHECK: svc	#16                     @ encoding: [0x10,0x00,0x00,0xef]
1801ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach@ CHECK: svc	#0                      @ encoding: [0x00,0x00,0x00,0xef]
1802ed8384806e56952c44f8a717c1ef54a8468d2c8dJim Grosbach@ CHECK: svc	#16777215               @ encoding: [0xff,0xff,0xff,0xef]
18034f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach
18044f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach
18054f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach@------------------------------------------------------------------------------
18064f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach@ SWP/SWPB
18074f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach@------------------------------------------------------------------------------
18084f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach        swp r1, r2, [r3]
18094f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach        swp r4, r4, [r6]
18104f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach        swpb r5, r1, [r9]
18114f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach
18124f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach@ CHECK: swp	r1, r2, [r3]            @ encoding: [0x92,0x10,0x03,0xe1]
18134f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach@ CHECK: swp	r4, r4, [r6]            @ encoding: [0x94,0x40,0x06,0xe1]
18144f6f13db1a8a491ecab6af64549fbdc23cb5ba56Jim Grosbach@ CHECK: swpb	r5, r1, [r9]            @ encoding: [0x91,0x50,0x49,0xe1]
18157e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18167e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18177e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18187e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ SXTAB
18197e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18207e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab r2, r3, r4
18217e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab r4, r5, r6, ror #0
18227e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtablt r6, r2, r9, ror #8
18237e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab r5, r1, r4, ror #16
18247e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab r7, r8, r3, ror #24
18257e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18267e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab	r2, r3, r4              @ encoding: [0x74,0x20,0xa3,0xe6]
18277e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab	r4, r5, r6              @ encoding: [0x76,0x40,0xa5,0xe6]
18287e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtablt	r6, r2, r9, ror #8
18297e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x79,0x64,0xa2,0xb6]
18307e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab	r5, r1, r4, ror #16
18317e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x74,0x58,0xa1,0xe6]
18327e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab	r7, r8, r3, ror #24
18337e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x73,0x7c,0xa8,0xe6]
18347e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18357e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18367e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18377e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ SXTAB16
18387e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18397e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab16ge r0, r1, r4
18407e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab16 r6, r2, r7, ror #0
18417e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab16 r3, r5, r8, ror #8
18427e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab16 r3, r2, r1, ror #16
18437e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtab16eq r1, r2, r3, ror #24
18447e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18457e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab16ge	r0, r1, r4      @ encoding: [0x74,0x00,0x81,0xa6]
18467e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab16	r6, r2, r7      @ encoding: [0x77,0x60,0x82,0xe6]
18477e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab16	r3, r5, r8, ror #8
18487e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x78,0x34,0x85,0xe6]
18497e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab16	r3, r2, r1, ror #16
18507e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x71,0x38,0x82,0xe6]
18517e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtab16eq	r1, r2, r3, ror #24
18527e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x73,0x1c,0x82,0x06]
18537e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18547e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18557e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ SXTAH
18567e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18577e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtah r1, r3, r9
18587e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtahhi r6, r1, r6, ror #0
18597e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtah r3, r8, r3, ror #8
18607e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtahlo r2, r2, r4, ror #16
18617e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtah r9, r3, r3, ror #24
18627e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18637e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtah	r1, r3, r9              @ encoding: [0x79,0x10,0xb3,0xe6]
18647e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtahhi	r6, r1, r6      @ encoding: [0x76,0x60,0xb1,0x86]
18657e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtah	r3, r8, r3, ror #8
18667e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x73,0x34,0xb8,0xe6]
18677e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtahlo	r2, r2, r4, ror #16
18687e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x74,0x28,0xb2,0x36]
18697e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtah	r9, r3, r3, ror #24
18707e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x73,0x9c,0xb3,0xe6]
18717e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18727e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18737e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ SXTB
18747e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18757e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtbge r2, r4
18767e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb r5, r6, ror #0
18777e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb r6, r9, ror #8
18787e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtbcc r5, r1, ror #16
18797e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb r8, r3, ror #24
18807e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18817e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtbge	r2, r4                  @ encoding: [0x74,0x20,0xaf,0xa6]
18827e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb	r5, r6                  @ encoding: [0x76,0x50,0xaf,0xe6]
18837e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb	r6, r9, ror #8
18847e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x79,0x64,0xaf,0xe6]
18857e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtblo	r5, r1, ror #16
18867e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x71,0x58,0xaf,0x36]
18877e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb	r8, r3, ror #24
18887e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x73,0x8c,0xaf,0xe6]
18897e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18907e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
18917e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18927e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ SXTB16
18937e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
18947e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb16 r1, r4
18957e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb16 r6, r7, ror #0
18967e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb16cs r3, r5, ror #8
18977e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb16 r3, r1, ror #16
18987e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxtb16ge r2, r3, ror #24
18997e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
19007e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb16	r1, r4                  @ encoding: [0x74,0x10,0x8f,0xe6]
19017e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb16	r6, r7                  @ encoding: [0x77,0x60,0x8f,0xe6]
19027e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb16hs	r3, r5, ror #8
19037e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x75,0x34,0x8f,0x26]
19047e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb16	r3, r1, ror #16
19057e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x71,0x38,0x8f,0xe6]
19067e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxtb16ge	r2, r3, ror #24
19077e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x73,0x2c,0x8f,0xa6]
19087e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
19097e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
19107e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
19117e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ SXTH
19127e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@------------------------------------------------------------------------------
19137e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxthne r3, r9
19147e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxth r1, r6, ror #0
19157e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxth r3, r8, ror #8
19167e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxthle r2, r2, ror #16
19177e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach        sxth r9, r3, ror #24
19187e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach
19197e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxthne	r3, r9                  @ encoding: [0x79,0x30,0xbf,0x16]
19207e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxth	r1, r6                  @ encoding: [0x76,0x10,0xbf,0xe6]
19217e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxth	r3, r8, ror #8
19227e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x78,0x34,0xbf,0xe6]
19237e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxthle	r2, r2, ror #16
19247e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x72,0x28,0xbf,0xd6]
19257e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach@ CHECK: sxth	r9, r3, ror #24
19267e1547ebf726a40e7ed3dbe89a77e1b946a8e2d0Jim Grosbach                                        @ encoding: [0x73,0x9c,0xbf,0xe6]
1927f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach
1928f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach
1929f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@------------------------------------------------------------------------------
1930f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ FIXME: TBB/TBH
1931f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@------------------------------------------------------------------------------
1932f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach
1933f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach
1934f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@------------------------------------------------------------------------------
1935f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ TEQ
1936f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@------------------------------------------------------------------------------
1937f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r5, #0xf000
1938f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r4, r5
1939f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r4, r5, lsl #5
1940f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r4, r5, lsr #5
1941f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r4, r5, lsr #5
1942f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r4, r5, asr #5
1943f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r4, r5, ror #5
1944f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r6, r7, lsl r9
1945f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r6, r7, lsr r9
1946f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r6, r7, asr r9
1947f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach        teq r6, r7, ror r9
1948f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach
1949f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r5, #61440              @ encoding: [0x0f,0x0a,0x35,0xe3]
1950f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r4, r5                  @ encoding: [0x05,0x00,0x34,0xe1]
1951f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r4, r5, lsl #5          @ encoding: [0x85,0x02,0x34,0xe1]
1952f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x34,0xe1]
1953f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x34,0xe1]
1954f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r4, r5, asr #5          @ encoding: [0xc5,0x02,0x34,0xe1]
1955f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r4, r5, ror #5          @ encoding: [0xe5,0x02,0x34,0xe1]
1956f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r6, r7, lsl r9          @ encoding: [0x17,0x09,0x36,0xe1]
1957f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r6, r7, lsr r9          @ encoding: [0x37,0x09,0x36,0xe1]
1958f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r6, r7, asr r9          @ encoding: [0x57,0x09,0x36,0xe1]
1959f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach@ CHECK: teq	r6, r7, ror r9          @ encoding: [0x77,0x09,0x36,0xe1]
1960f1ae78af1796ec122e3cf75ab4826495eb5a4e8dJim Grosbach
19618b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach
19628b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@------------------------------------------------------------------------------
19638b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ TST
19648b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@------------------------------------------------------------------------------
19658b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r5, #0xf000
19668b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r4, r5
19678b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r4, r5, lsl #5
19688b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r4, r5, lsr #5
19698b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r4, r5, lsr #5
19708b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r4, r5, asr #5
19718b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r4, r5, ror #5
19728b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r6, r7, lsl r9
19738b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r6, r7, lsr r9
19748b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r6, r7, asr r9
19758b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach        tst r6, r7, ror r9
19768b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach
19778b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r5, #61440              @ encoding: [0x0f,0x0a,0x15,0xe3]
19788b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r4, r5                  @ encoding: [0x05,0x00,0x14,0xe1]
19798b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r4, r5, lsl #5          @ encoding: [0x85,0x02,0x14,0xe1]
19808b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x14,0xe1]
19818b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x14,0xe1]
19828b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r4, r5, asr #5          @ encoding: [0xc5,0x02,0x14,0xe1]
19838b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r4, r5, ror #5          @ encoding: [0xe5,0x02,0x14,0xe1]
19848b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r6, r7, lsl r9          @ encoding: [0x17,0x09,0x16,0xe1]
19858b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r6, r7, lsr r9          @ encoding: [0x37,0x09,0x16,0xe1]
19868b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r6, r7, asr r9          @ encoding: [0x57,0x09,0x16,0xe1]
19878b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach@ CHECK: tst	r6, r7, ror r9          @ encoding: [0x77,0x09,0x16,0xe1]
19888b3fd56e0f61038ea45b0d1eaff57196d80579aaJim Grosbach
1989b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach
1990b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@------------------------------------------------------------------------------
1991b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ UADD16/UADD8
1992b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@------------------------------------------------------------------------------
1993b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach        uadd16 r1, r2, r3
1994b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach        uadd16gt r1, r2, r3
1995b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach        uadd8 r1, r2, r3
1996b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach        uadd8le r1, r2, r3
1997b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach
1998b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ CHECK: uadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x52,0xe6]
1999b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ CHECK: uadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x52,0xc6]
2000b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ CHECK: uadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x52,0xe6]
2001b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ CHECK: uadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x52,0xd6]
2002b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach
2003b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach
2004b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@------------------------------------------------------------------------------
2005b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ UASX
2006b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@------------------------------------------------------------------------------
2007b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach        uasx r9, r12, r0
2008b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach        uasxeq r9, r12, r0
2009b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach
2010b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ CHECK: uasx	r9, r12, r0             @ encoding: [0x30,0x9f,0x5c,0xe6]
2011b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach@ CHECK: uasxeq	r9, r12, r0             @ encoding: [0x30,0x9f,0x5c,0x06]
2012b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach
2013b6854ad2b1aad78660e7a3421d9c0dbdeaa3c975Jim Grosbach
2014fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@------------------------------------------------------------------------------
2015fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@ UBFX
2016fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@------------------------------------------------------------------------------
2017fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach        ubfx r4, r5, #16, #1
2018fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach        ubfxgt r4, r5, #16, #16
2019fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach
2020fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@ CHECK: ubfx	r4, r5, #16, #1         @ encoding: [0x55,0x48,0xe0,0xe7]
2021fb8989e64024547e4ad5ab6fe4d94fe146a7899fJim Grosbach@ CHECK: ubfxgt	r4, r5, #16, #16        @ encoding: [0x55,0x48,0xef,0xc7]
202266c898224456990e511b71e498046736c0478079Jim Grosbach
202366c898224456990e511b71e498046736c0478079Jim Grosbach
202466c898224456990e511b71e498046736c0478079Jim Grosbach@------------------------------------------------------------------------------
202566c898224456990e511b71e498046736c0478079Jim Grosbach@ UHADD16/UHADD8
202666c898224456990e511b71e498046736c0478079Jim Grosbach@------------------------------------------------------------------------------
202766c898224456990e511b71e498046736c0478079Jim Grosbach        uhadd16 r4, r8, r2
202866c898224456990e511b71e498046736c0478079Jim Grosbach        uhadd16gt r4, r8, r2
202966c898224456990e511b71e498046736c0478079Jim Grosbach        uhadd8 r4, r8, r2
203066c898224456990e511b71e498046736c0478079Jim Grosbach        uhadd8gt r4, r8, r2
203166c898224456990e511b71e498046736c0478079Jim Grosbach
203266c898224456990e511b71e498046736c0478079Jim Grosbach@ CHECK: uhadd16	r4, r8, r2      @ encoding: [0x12,0x4f,0x78,0xe6]
203366c898224456990e511b71e498046736c0478079Jim Grosbach@ CHECK: uhadd16gt	r4, r8, r2      @ encoding: [0x12,0x4f,0x78,0xc6]
203466c898224456990e511b71e498046736c0478079Jim Grosbach@ CHECK: uhadd8	r4, r8, r2              @ encoding: [0x92,0x4f,0x78,0xe6]
203566c898224456990e511b71e498046736c0478079Jim Grosbach@ CHECK: uhadd8gt	r4, r8, r2      @ encoding: [0x92,0x4f,0x78,0xc6]
203666c898224456990e511b71e498046736c0478079Jim Grosbach
203766c898224456990e511b71e498046736c0478079Jim Grosbach
203866c898224456990e511b71e498046736c0478079Jim Grosbach@------------------------------------------------------------------------------
203966c898224456990e511b71e498046736c0478079Jim Grosbach@ UHASX
204066c898224456990e511b71e498046736c0478079Jim Grosbach@------------------------------------------------------------------------------
204166c898224456990e511b71e498046736c0478079Jim Grosbach        uhasx r4, r8, r2
204266c898224456990e511b71e498046736c0478079Jim Grosbach        uhasxgt r4, r8, r2
204366c898224456990e511b71e498046736c0478079Jim Grosbach
204466c898224456990e511b71e498046736c0478079Jim Grosbach@ CHECK: uhasx	r4, r8, r2              @ encoding: [0x32,0x4f,0x78,0xe6]
204566c898224456990e511b71e498046736c0478079Jim Grosbach@ CHECK: uhasxgt r4, r8, r2             @ encoding: [0x32,0x4f,0x78,0xc6]
204666c898224456990e511b71e498046736c0478079Jim Grosbach
204766c898224456990e511b71e498046736c0478079Jim Grosbach
2048f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach@------------------------------------------------------------------------------
2049f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach@ UHSUB16/UHSUB8
2050f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach@------------------------------------------------------------------------------
2051f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach        uhsub16 r4, r8, r2
2052f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach        uhsub16gt r4, r8, r2
2053f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach        uhsub8 r4, r8, r2
2054f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach        uhsub8gt r4, r8, r2
2055f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach
2056f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach@ CHECK: uhsub16	r4, r8, r2      @ encoding: [0x72,0x4f,0x78,0xe6]
2057f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach@ CHECK: uhsub16gt	r4, r8, r2      @ encoding: [0x72,0x4f,0x78,0xc6]
2058f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach@ CHECK: uhsub8	r4, r8, r2              @ encoding: [0xf2,0x4f,0x78,0xe6]
2059f36b0a2ee4fe1e67778b60daf6020574e62ca672Jim Grosbach@ CHECK: uhsub8gt	r4, r8, r2      @ encoding: [0xf2,0x4f,0x78,0xc6]
20602adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach
20612adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach
20622adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach@------------------------------------------------------------------------------
20632adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach@ UMAAL
20642adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach@------------------------------------------------------------------------------
20652adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach        umaal r3, r4, r5, r6
20662adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach        umaallt r3, r4, r5, r6
20672adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach
20682adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach@ CHECK: umaal	r3, r4, r5, r6          @ encoding: [0x95,0x46,0x43,0xe0]
20692adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach@ CHECK: umaallt	r3, r4, r5, r6  @ encoding: [0x95,0x46,0x43,0xb0]
20702adba4156b83bd005bb704908bb36697e1ecabdaJim Grosbach
207171725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach
207271725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach@------------------------------------------------------------------------------
207371725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach@ UMLAL
207471725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach@------------------------------------------------------------------------------
207571725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach        umlal r2, r4, r6, r8
207671725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach        umlalgt r6, r1, r2, r6
207771725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach        umlals r2, r9, r2, r3
207871725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach        umlalseq r3, r5, r1, r2
207971725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach
208071725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach@ CHECK: umlal	r2, r4, r6, r8          @ encoding: [0x96,0x28,0xa4,0xe0]
208171725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach@ CHECK: umlalgt	r6, r1, r2, r6  @ encoding: [0x92,0x66,0xa1,0xc0]
208271725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach@ CHECK: umlals	r2, r9, r2, r3          @ encoding: [0x92,0x23,0xb9,0xe0]
208371725a099e6d0cba24a63f9c9063f6efee3bf76eJim Grosbach@ CHECK: umlalseq	r3, r5, r1, r2  @ encoding: [0x91,0x32,0xb5,0x00]
208449f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach
208549f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach
208649f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach@------------------------------------------------------------------------------
208749f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach@ UMULL
208849f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach@------------------------------------------------------------------------------
208949f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach        umull r2, r4, r6, r8
209049f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach        umullgt r6, r1, r2, r6
209149f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach        umulls r2, r9, r2, r3
209249f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach        umullseq r3, r5, r1, r2
209349f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach
209449f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach@ CHECK: umull	r2, r4, r6, r8          @ encoding: [0x96,0x28,0x84,0xe0]
209549f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach@ CHECK: umullgt	r6, r1, r2, r6  @ encoding: [0x92,0x66,0x81,0xc0]
209649f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach@ CHECK: umulls	r2, r9, r2, r3          @ encoding: [0x92,0x23,0x99,0xe0]
209749f2ceddd25c75373f8a39fa25e8b9db33bcdaccJim Grosbach@ CHECK: umullseq	r3, r5, r1, r2  @ encoding: [0x91,0x32,0x95,0x00]
209824a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach
209924a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach
210024a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach@------------------------------------------------------------------------------
210124a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach@ UQADD16/UQADD8
210224a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach@------------------------------------------------------------------------------
210324a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach        uqadd16 r1, r2, r3
210424a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach        uqadd16gt r4, r7, r9
210524a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach        uqadd8 r3, r4, r8
210624a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach        uqadd8le r8, r1, r2
210724a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach
210824a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach
210924a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach@ CHECK: uqadd16	r1, r2, r3      @ encoding: [0x13,0x1f,0x62,0xe6]
211024a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach@ CHECK: uqadd16gt	r4, r7, r9      @ encoding: [0x19,0x4f,0x67,0xc6]
211124a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach@ CHECK: uqadd8	r3, r4, r8              @ encoding: [0x98,0x3f,0x64,0xe6]
211224a541b79fb9694b6edf19ee288b7c9063653512Jim Grosbach@ CHECK: uqadd8le	r8, r1, r2      @ encoding: [0x92,0x8f,0x61,0xd6]
211329e85bc7285337973924501cad7e7effafd91e65Jim Grosbach
211429e85bc7285337973924501cad7e7effafd91e65Jim Grosbach
211529e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@------------------------------------------------------------------------------
211629e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@ UQASX
211729e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@------------------------------------------------------------------------------
211829e85bc7285337973924501cad7e7effafd91e65Jim Grosbach        uqasx r2, r4, r1
211929e85bc7285337973924501cad7e7effafd91e65Jim Grosbach        uqasxhi r5, r2, r9
212029e85bc7285337973924501cad7e7effafd91e65Jim Grosbach
212129e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@ CHECK: uqasx	r2, r4, r1              @ encoding: [0x31,0x2f,0x64,0xe6]
212229e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@ CHECK: uqasxhi	r5, r2, r9      @ encoding: [0x39,0x5f,0x62,0x86]
212329e85bc7285337973924501cad7e7effafd91e65Jim Grosbach
212429e85bc7285337973924501cad7e7effafd91e65Jim Grosbach
212529e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@------------------------------------------------------------------------------
212629e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@ UQSAX
212729e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@------------------------------------------------------------------------------
212829e85bc7285337973924501cad7e7effafd91e65Jim Grosbach        uqsax r1, r3, r7
212929e85bc7285337973924501cad7e7effafd91e65Jim Grosbach        uqsaxal r3, r6, r2
213029e85bc7285337973924501cad7e7effafd91e65Jim Grosbach
213129e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@ CHECK: uqsax	r1, r3, r7              @ encoding: [0x57,0x1f,0x63,0xe6]
213229e85bc7285337973924501cad7e7effafd91e65Jim Grosbach@ CHECK: uqsax	r3, r6, r2              @ encoding: [0x52,0x3f,0x66,0xe6]
213329e85bc7285337973924501cad7e7effafd91e65Jim Grosbach
2134