basic-arm-instructions.s revision af4edea67b007592f9474e07d27182956e37f7f5
1a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ RUN: llvm-mc -triple=armv7-apple-darwin -show-encoding < %s | FileCheck %s
2a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM  .syntax unified
3a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM  .globl _func
4a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
5a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ Check that the assembler can handle the documented syntax from the ARM ARM.
6a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ For complex constructs like shifter operands, check more thoroughly for them
7a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ once then spot check that following instructions accept the form generally.
8a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ This gives us good coverage while keeping the overall size of the test
9a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ more reasonable.
10a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
11a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM_func:
12a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: _func
13a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
14a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@------------------------------------------------------------------------------
15a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ ADC (immediate)
16a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@------------------------------------------------------------------------------
17a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf
18a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf0
19a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf00
20a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf000
21a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf0000
22a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf00000
23a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf000000
24a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf0000000
25a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r1, r2, #0xf000000f
26a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adcs r1, r2, #0xf00
27a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adcseq r1, r2, #0xf00
28a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adceq r1, r2, #0xf00
29a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
30a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #15             @ encoding: [0x0f,0x10,0xa2,0xe2]
31a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #240            @ encoding: [0xf0,0x10,0xa2,0xe2]
32a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xa2,0xe2]
33a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #61440          @ encoding: [0x0f,0x1a,0xa2,0xe2]
34a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #983040         @ encoding: [0x0f,0x18,0xa2,0xe2]
35a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #15728640       @ encoding: [0x0f,0x16,0xa2,0xe2]
36a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #251658240      @ encoding: [0x0f,0x14,0xa2,0xe2]
37a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #4026531840     @ encoding: [0x0f,0x12,0xa2,0xe2]
38a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adc	r1, r2, #4026531855     @ encoding: [0xff,0x12,0xa2,0xe2]
39a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
40a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adcs	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xb2,0xe2]
41a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adcseq	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xb2,0x02]
42a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: adceq	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xa2,0x02]
43a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
44a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@------------------------------------------------------------------------------
45a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ ADC (register)
46a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ ADC (shifted register)
47a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@------------------------------------------------------------------------------
48a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6
49a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        @ Constant shifts
50a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, lsl #1
51a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, lsl #31
52a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, lsr #1
53a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, lsr #31
54a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, lsr #32
55a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, asr #1
56a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, asr #31
57a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, asr #32
58a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, ror #1
59a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, ror #31
60a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
61a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        @ Register shifts
62a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r6, r7, r8, lsl r9
63a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r6, r7, r8, lsr r9
64a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r6, r7, r8, asr r9
65a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r6, r7, r8, ror r9
66a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, r6, rrx
67a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
68a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        @ Destination register is optional
69a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r5, r6
70a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, lsl #1
71a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, lsl #31
72a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, lsr #1
73a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, lsr #31
74a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        adc r4, r5, lsr #32
7527c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r4, r5, asr #1
7627c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r4, r5, asr #31
7727c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r4, r5, asr #32
7827c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r4, r5, ror #1
7927c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r4, r5, ror #31
8027c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r4, r5, rrx
8127c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r6, r7, lsl r9
8227c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r6, r7, lsr r9
8327c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r6, r7, asr r9
8427c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r6, r7, ror r9
8527c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        adc r4, r5, rrx
8627c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
8727c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: adc	r4, r5, r6              @ encoding: [0x06,0x40,0xa5,0xe0]
8827c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
8927c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: adc	r4, r5, r6, lsl #1      @ encoding: [0x86,0x40,0xa5,0xe0]
9027c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: adc	r4, r5, r6, lsl #31     @ encoding: [0x86,0x4f,0xa5,0xe0]
9127c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: adc	r4, r5, r6, lsr #1      @ encoding: [0xa6,0x40,0xa5,0xe0]
9227c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: adc	r4, r5, r6, lsr #31     @ encoding: [0xa6,0x4f,0xa5,0xe0]
9327c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: adc	r4, r5, r6, lsr #32     @ encoding: [0x26,0x40,0xa5,0xe0]
94b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r5, r6, asr #1      @ encoding: [0xc6,0x40,0xa5,0xe0]
95b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r5, r6, asr #31     @ encoding: [0xc6,0x4f,0xa5,0xe0]
96b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r5, r6, asr #32     @ encoding: [0x46,0x40,0xa5,0xe0]
97b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r5, r6, ror #1      @ encoding: [0xe6,0x40,0xa5,0xe0]
98b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r5, r6, ror #31     @ encoding: [0xe6,0x4f,0xa5,0xe0]
99b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
100b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xa7,0xe0]
101b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xa7,0xe0]
102b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xa7,0xe0]
103b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xa7,0xe0]
104b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0xa5,0xe0]
105b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
106b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r5, r5, r6              @ encoding: [0x06,0x50,0xa5,0xe0]
107b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, lsl #1      @ encoding: [0x85,0x40,0xa4,0xe0]
108b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, lsl #31     @ encoding: [0x85,0x4f,0xa4,0xe0]
109b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, lsr #1      @ encoding: [0xa5,0x40,0xa4,0xe0]
110b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, lsr #31     @ encoding: [0xa5,0x4f,0xa4,0xe0]
111b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, lsr #32     @ encoding: [0x25,0x40,0xa4,0xe0]
112b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, asr #1      @ encoding: [0xc5,0x40,0xa4,0xe0]
113b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, asr #31     @ encoding: [0xc5,0x4f,0xa4,0xe0]
114b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, asr #32     @ encoding: [0x45,0x40,0xa4,0xe0]
115b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, ror #1      @ encoding: [0xe5,0x40,0xa4,0xe0]
116b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, ror #31     @ encoding: [0xe5,0x4f,0xa4,0xe0]
117b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0xa4,0xe0]
118b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xa6,0xe0]
119b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xa6,0xe0]
120b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xa6,0xe0]
121b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xa6,0xe0]
122b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adc	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0xa4,0xe0]
123b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
124b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
125b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@------------------------------------------------------------------------------
126b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ ADR
127b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@------------------------------------------------------------------------------
128b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris BallLback:
129b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        adr r2, Lback
130b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        adr r3, Lforward
131b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris BallLforward:
132b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        adr	r2, #3
133b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        adr	r2, #-3
1348ba4466a4ad458618282f8bdcc2706025856a9f2Chris Ball
1358ba4466a4ad458618282f8bdcc2706025856a9f2Chris Ball@ CHECK: Lback:
136b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adr	r2, Lback    @ encoding: [A,0x20'A',0x0f'A',0xe2'A']
137b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK:  @   fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12
138b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adr	r3, Lforward @ encoding: [A,0x30'A',0x0f'A',0xe2'A']
139b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK:  @   fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12
140b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: Lforward:
141b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adr	r2, #3                  @ encoding: [0x03,0x20,0x8f,0xe2]
142b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: adr	r2, #-3                 @ encoding: [0x03,0x20,0x4f,0xe2]
143b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
144b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
145b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@------------------------------------------------------------------------------
146b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ ADD
147b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@------------------------------------------------------------------------------
148b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, #0xf000
149b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, r6
150b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, r6, lsl #5
151b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, r6, lsr #5
152b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, r6, lsr #5
153b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, r6, asr #5
154b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, r6, ror #5
155b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, r8, lsl r9
156b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r4, r3, asl r9
157b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, r8, lsr r9
158b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, r8, asr r9
159b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, r8, ror r9
160b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, r6, rrx
161b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
1628ba4466a4ad458618282f8bdcc2706025856a9f2Chris Ball        @ destination register is optional
1638ba4466a4ad458618282f8bdcc2706025856a9f2Chris Ball        add r5, #0xf000
164b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5
165b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, lsl #5
166b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, lsr #5
167b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, lsr #5
168b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, asr #5
169b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, ror #5
170b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, lsl r9
171b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, lsr r9
172b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, asr r9
173b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r6, r7, ror r9
174b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        add r4, r5, rrx
175b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
176b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe2]
177b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0xe0]
178b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x85,0xe0]
179b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe0]
180b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe0]
181b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x85,0xe0]
182b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x85,0xe0]
183b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x87,0xe0]
184b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r4, r3, lsl r9      @ encoding: [0x13,0x49,0x84,0xe0]
185b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x87,0xe0]
186b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x87,0xe0]
187b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0xe0]
188b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x85,0xe0]
189b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
190b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
191b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: add	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe2]
192b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r4, r4, r5              @ encoding: [0x05,0x40,0x84,0xe0]
193b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x84,0xe0]
194b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe0]
195b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe0]
196b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x84,0xe0]
197b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x84,0xe0]
198b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x86,0xe0]
199b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x86,0xe0]
200b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0xe0]
201b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x86,0xe0]
202b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: add	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x84,0xe0]
203b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das
204b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das
205b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@------------------------------------------------------------------------------
206b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ AND
207b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@------------------------------------------------------------------------------
208b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, #0xf
209b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, r6
210b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, r6, lsl #10
211b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, r6, lsr #10
212b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, r6, lsr #10
213b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, r6, asr #10
214b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, r6, ror #10
215b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, r8, lsl r2
216b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, r8, lsr r2
217b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, r8, asr r2
218b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, r8, ror r2
219b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, r6, rrx
220b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das
221b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    @ destination register is optional
222b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r1, #0xf
223b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1
224b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, lsl #10
225b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, lsr #10
226b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, lsr #10
227b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, asr #10
228b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, ror #10
229b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, lsl r2
230b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, lsr r2
231b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, asr r2
232b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r6, r7, ror r2
233b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das    and r10, r1, rrx
234b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das
235b7e2599c67408c38e57e91d2426c077a4541dc8cSaugata Das@ CHECK: and	r10, r1, #15            @ encoding: [0x0f,0xa0,0x01,0xe2]
2367bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r1, r6             @ encoding: [0x06,0xa0,0x01,0xe0]
2377bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r1, r6, lsl #10    @ encoding: [0x06,0xa5,0x01,0xe0]
2387bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0x01,0xe0]
2397bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0x01,0xe0]
2407bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r1, r6, asr #10    @ encoding: [0x46,0xa5,0x01,0xe0]
2417bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r1, r6, ror #10    @ encoding: [0x66,0xa5,0x01,0xe0]
2427bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r7, r8, lsl r2      @ encoding: [0x18,0x62,0x07,0xe0]
2437bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r7, r8, lsr r2      @ encoding: [0x38,0x62,0x07,0xe0]
2447bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r7, r8, asr r2      @ encoding: [0x58,0x62,0x07,0xe0]
2457bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r7, r8, ror r2      @ encoding: [0x78,0x62,0x07,0xe0]
2467bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r1, r6, rrx        @ encoding: [0x66,0xa0,0x01,0xe0]
2477bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2487bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r1, r1, #15             @ encoding: [0x0f,0x10,0x01,0xe2]
2497bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r10, r1            @ encoding: [0x01,0xa0,0x0a,0xe0]
2507bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r10, r1, lsl #10   @ encoding: [0x01,0xa5,0x0a,0xe0]
2517bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0x0a,0xe0]
2527bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0x0a,0xe0]
2537bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r10, r1, asr #10   @ encoding: [0x41,0xa5,0x0a,0xe0]
2547bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r10, r1, ror #10   @ encoding: [0x61,0xa5,0x0a,0xe0]
2557bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r6, r7, lsl r2      @ encoding: [0x17,0x62,0x06,0xe0]
2567bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r6, r7, lsr r2      @ encoding: [0x37,0x62,0x06,0xe0]
2577bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r6, r7, asr r2      @ encoding: [0x57,0x62,0x06,0xe0]
2587bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r6, r6, r7, ror r2      @ encoding: [0x77,0x62,0x06,0xe0]
2597bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: and	r10, r10, r1, rrx       @ encoding: [0x61,0xa0,0x0a,0xe0]
2607bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2617bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
2627bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ ASR
2637bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
2647bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO	asr r2, r4, #32
2657bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO	asr r2, r4, #2
2667bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO	asr r2, r4, #0
2677bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO	asr r4, #2
2687bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2697bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: asr	r2, r4, #32             @ encoding: [0x44,0x20,0xa0,0xe1]
2707bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: asr	r2, r4, #2              @ encoding: [0x44,0x21,0xa0,0xe1]
2717bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
2727bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: asr	r4, r4, #2              @ encoding: [0x44,0x41,0xa0,0xe1]
2737bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2747bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2757bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
2767bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ B
2777bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
2787bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO        b _bar
2797bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO        beq _baz
2807bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2817bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: b	_bar                    @ encoding: [A,A,A,0xea]
2827bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO             @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch
2837bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: beq	_baz                    @ encoding: [A,A,A,0x0a]
2847bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO             @   fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch
2857bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2867bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2877bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
2887bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ BFC
2897bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
2907bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO        bfc r5, #3, #17
2917bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO        bfccc r5, #3, #17
2927bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2937bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: bfc	r5, #3, #17             @ encoding: [0x9f,0x51,0xd3,0xe7]
2947bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ CHECK: bfclo	r5, #3, #17             @ encoding: [0x9f,0x51,0xd3,0x37]
2957bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2967bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO
2977bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
2987bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@ BFI
2997bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO@------------------------------------------------------------------------------
3007bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO        bfi r5, r2, #3, #17
3017bd1320b2cb38f040ab5cf017d17e283496690bfGiuseppe CAVALLARO        bfine r5, r2, #3, #17
302f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball
303f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bfi	r5, r2, #3, #17         @ encoding: [0x92,0x51,0xd3,0xe7]
304f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bfine	r5, r2, #3, #17         @ encoding: [0x92,0x51,0xd3,0x17]
305f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball
306f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball
307f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@------------------------------------------------------------------------------
308f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ BIC
309f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@------------------------------------------------------------------------------
310f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, #0xf
311f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, r6
312f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, r6, lsl #10
313f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, r6, lsr #10
314f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, r6, lsr #10
315f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, r6, asr #10
316f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, r6, ror #10
317f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, r8, lsl r2
318f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, r8, lsr r2
319f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, r8, asr r2
320f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, r8, ror r2
321f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, r6, rrx
322f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball
323f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        @ destination register is optional
324f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r1, #0xf
325f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1
326f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, lsl #10
327f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, lsr #10
328f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, lsr #10
329f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, asr #10
330f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, ror #10
331f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, lsl r2
332f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, lsr r2
333f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, asr r2
334f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r6, r7, ror r2
335f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball        bic r10, r1, rrx
336f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball
337f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, #15            @ encoding: [0x0f,0xa0,0xc1,0xe3]
338f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, r6             @ encoding: [0x06,0xa0,0xc1,0xe1]
339f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, r6, lsl #10    @ encoding: [0x06,0xa5,0xc1,0xe1]
340f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0xc1,0xe1]
341f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0xc1,0xe1]
342f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, r6, asr #10    @ encoding: [0x46,0xa5,0xc1,0xe1]
343f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, r6, ror #10    @ encoding: [0x66,0xa5,0xc1,0xe1]
344f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r6, r7, r8, lsl r2      @ encoding: [0x18,0x62,0xc7,0xe1]
345f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r6, r7, r8, lsr r2      @ encoding: [0x38,0x62,0xc7,0xe1]
346f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r6, r7, r8, asr r2      @ encoding: [0x58,0x62,0xc7,0xe1]
347f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r6, r7, r8, ror r2      @ encoding: [0x78,0x62,0xc7,0xe1]
348f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r1, r6, rrx        @ encoding: [0x66,0xa0,0xc1,0xe1]
349f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball
350f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball
351f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r1, r1, #15             @ encoding: [0x0f,0x10,0xc1,0xe3]
352f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r10, r1            @ encoding: [0x01,0xa0,0xca,0xe1]
353f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r10, r1, lsl #10   @ encoding: [0x01,0xa5,0xca,0xe1]
354f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0xca,0xe1]
355f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0xca,0xe1]
356f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r10, r1, asr #10   @ encoding: [0x41,0xa5,0xca,0xe1]
357f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r10, r10, r1, ror #10   @ encoding: [0x61,0xa5,0xca,0xe1]
358f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r6, r6, r7, lsl r2      @ encoding: [0x17,0x62,0xc6,0xe1]
359f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r6, r6, r7, lsr r2      @ encoding: [0x37,0x62,0xc6,0xe1]
360f74dfe23cd00894aa9f235374468e05acb793e17Chris Ball@ CHECK: bic	r6, r6, r7, asr r2      @ encoding: [0x57,0x62,0xc6,0xe1]
3618649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: bic	r6, r6, r7, ror r2      @ encoding: [0x77,0x62,0xc6,0xe1]
3628649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: bic	r10, r10, r1, rrx       @ encoding: [0x61,0xa0,0xca,0xe1]
3638649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung
3648649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@------------------------------------------------------------------------------
3658649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ BKPT
3668649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@------------------------------------------------------------------------------
3678649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        bkpt #10
3688649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        bkpt #65535
3698649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung
3708649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: bkpt  #10                      @ encoding: [0x7a,0x00,0x20,0xe1]
3718649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: bkpt  #65535                   @ encoding: [0x7f,0xff,0x2f,0xe1]
3728649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung
3738649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@------------------------------------------------------------------------------
3748649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ BL/BLX (immediate)
3758649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@------------------------------------------------------------------------------
3768649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung
3778649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        bl _bar
3788649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        blx _bar
3798649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        blls #28634268
3808649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        blx	#32424576
3818649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        blx	#16212288
3828649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung
3838649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: bl  _bar @ encoding: [A,A,A,0xeb]
3848649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch
3858649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: blx	_bar @ encoding: [A,A,A,0xfa]
3868649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung           @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch
3878649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: blls	#28634268               @ encoding: [0x27,0x3b,0x6d,0x9b]
3888649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: blx	#32424576               @ encoding: [0xa0,0xb0,0x7b,0xfa]
3898649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: blx	#16212288               @ encoding: [0x50,0xd8,0x3d,0xfa]
3908649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@------------------------------------------------------------------------------
3918649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ BLX (register)
3928649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@------------------------------------------------------------------------------
3938649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        blx r2
3948649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung        blxne r2
3958649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung
3968649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: blx r2                         @ encoding: [0x32,0xff,0x2f,0xe1]
3978649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung@ CHECK: blxne r2                       @ encoding: [0x32,0xff,0x2f,0x11]
3988649651b743a5d7c290ea0f8058794f8d127736eJaehoon Chung
39927c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@------------------------------------------------------------------------------
40027c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ BX
40127c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@------------------------------------------------------------------------------
40227c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        bx r2
40327c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        bxne r2
40427c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
40527c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: bx	r2                      @ encoding: [0x12,0xff,0x2f,0xe1]
40627c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: bxne	r2                      @ encoding: [0x12,0xff,0x2f,0x11]
40727c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
40827c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@------------------------------------------------------------------------------
40927c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ BXJ
41027c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@------------------------------------------------------------------------------
41127c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        bxj r2
41227c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        bxjne r2
41327c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
41427c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: bxj	r2                      @ encoding: [0x22,0xff,0x2f,0xe1]
41527c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: bxjne	r2                      @ encoding: [0x22,0xff,0x2f,0x11]
41627c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
41727c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
41827c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@------------------------------------------------------------------------------
41927c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CDP/CDP2
42027c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@------------------------------------------------------------------------------
42127c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        cdp  p7, #1, c1, c1, c1, #4
42227c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner        cdp2  p7, #1, c1, c1, c1, #4
42327c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
42427c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: cdp  p7, #1, c1, c1, c1, #4     @ encoding: [0x81,0x17,0x11,0xee]
42527c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner@ CHECK: cdp2  p7, #1, c1, c1, c1, #4    @ encoding: [0x81,0x17,0x11,0xfe]
42627c357db04350b75b0fceaae8bfb9ce99c50866bBen Gardiner
4274e85023654b356511612547207a4cb643fb3db16Ben Gardiner
4284e85023654b356511612547207a4cb643fb3db16Ben Gardiner@------------------------------------------------------------------------------
4294e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CLREX
4304e85023654b356511612547207a4cb643fb3db16Ben Gardiner@------------------------------------------------------------------------------
4314e85023654b356511612547207a4cb643fb3db16Ben Gardiner        clrex
4324e85023654b356511612547207a4cb643fb3db16Ben Gardiner
4334e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CHECK: clrex                           @ encoding: [0x1f,0xf0,0x7f,0xf5]
4344e85023654b356511612547207a4cb643fb3db16Ben Gardiner
4354e85023654b356511612547207a4cb643fb3db16Ben Gardiner
4364e85023654b356511612547207a4cb643fb3db16Ben Gardiner@------------------------------------------------------------------------------
4374e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CLZ
4384e85023654b356511612547207a4cb643fb3db16Ben Gardiner@------------------------------------------------------------------------------
4394e85023654b356511612547207a4cb643fb3db16Ben Gardiner    clz r1, r2
4404e85023654b356511612547207a4cb643fb3db16Ben Gardiner    clzeq r1, r2
4414e85023654b356511612547207a4cb643fb3db16Ben Gardiner
442f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: clz r1, r2                      @ encoding: [0x12,0x1f,0x6f,0xe1]
443f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: clzeq r1, r2                    @ encoding: [0x12,0x1f,0x6f,0x01]
444f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner
445f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@------------------------------------------------------------------------------
446f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CMN
447f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@------------------------------------------------------------------------------
448f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner        cmn r1, #0xf
449f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner        cmn r1, r6
450f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner        cmn r1, r6, lsl #10
451f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner        cmn r1, r6, lsr #10
452e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn sp, r6, lsr #10
453e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn r1, r6, asr #10
454e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn r1, r6, ror #10
455e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn r7, r8, lsl r2
456e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn sp, r8, lsr r2
457e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn r7, r8, asr r2
458e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn r7, r8, ror r2
459e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmn r1, r6, rrx
460e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner
461e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r1, #15                 @ encoding: [0x0f,0x00,0x71,0xe3]
462e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r1, r6                  @ encoding: [0x06,0x00,0x71,0xe1]
463e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r1, r6, lsl #10         @ encoding: [0x06,0x05,0x71,0xe1]
464e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r1, r6, lsr #10         @ encoding: [0x26,0x05,0x71,0xe1]
465e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	sp, r6, lsr #10         @ encoding: [0x26,0x05,0x7d,0xe1]
466e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r1, r6, asr #10         @ encoding: [0x46,0x05,0x71,0xe1]
467e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r1, r6, ror #10         @ encoding: [0x66,0x05,0x71,0xe1]
468e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r7, r8, lsl r2          @ encoding: [0x18,0x02,0x77,0xe1]
469e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	sp, r8, lsr r2          @ encoding: [0x38,0x02,0x7d,0xe1]
470e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r7, r8, asr r2          @ encoding: [0x58,0x02,0x77,0xe1]
471e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r7, r8, ror r2          @ encoding: [0x78,0x02,0x77,0xe1]
472e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmn	r1, r6, rrx             @ encoding: [0x66,0x00,0x71,0xe1]
473e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner
474e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@------------------------------------------------------------------------------
475e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CMP
476e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@------------------------------------------------------------------------------
477e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r1, #0xf
478e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r1, r6
479e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r1, r6, lsl #10
480e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r1, r6, lsr #10
481e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp sp, r6, lsr #10
482e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r1, r6, asr #10
483e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r1, r6, ror #10
484e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r7, r8, lsl r2
485e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp sp, r8, lsr r2
486e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r7, r8, asr r2
487e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r7, r8, ror r2
488e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner        cmp r1, r6, rrx
489e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner
490e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmp	r1, #15                 @ encoding: [0x0f,0x00,0x51,0xe3]
491e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmp	r1, r6                  @ encoding: [0x06,0x00,0x51,0xe1]
492e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmp	r1, r6, lsl #10         @ encoding: [0x06,0x05,0x51,0xe1]
493e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmp	r1, r6, lsr #10         @ encoding: [0x26,0x05,0x51,0xe1]
494e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmp	sp, r6, lsr #10         @ encoding: [0x26,0x05,0x5d,0xe1]
495e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmp	r1, r6, asr #10         @ encoding: [0x46,0x05,0x51,0xe1]
496e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: cmp	r1, r6, ror #10         @ encoding: [0x66,0x05,0x51,0xe1]
497d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cmp	r7, r8, lsl r2          @ encoding: [0x18,0x02,0x57,0xe1]
498d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cmp	sp, r8, lsr r2          @ encoding: [0x38,0x02,0x5d,0xe1]
499d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cmp	r7, r8, asr r2          @ encoding: [0x58,0x02,0x57,0xe1]
500d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cmp	r7, r8, ror r2          @ encoding: [0x78,0x02,0x57,0xe1]
501d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cmp	r1, r6, rrx             @ encoding: [0x66,0x00,0x51,0xe1]
502d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
503d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
504d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
505d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CPS
506d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
507d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        cpsie  aif
508d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        cps  #15
509d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        cpsid  if, #10
510d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
511d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cpsie  aif @ encoding: [0xc0,0x01,0x08,0xf1]
512d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cps  #15 @ encoding: [0x0f,0x00,0x02,0xf1]
513d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: cpsid  if, #10 @ encoding: [0xca,0x00,0x0e,0xf1]
514d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
515d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
516d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
517d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ DBG
518d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
519d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dbg #0
520d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dbg #5
521d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dbg #15
522d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
523d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dbg #0                         @ encoding: [0xf0,0xf0,0x20,0xe3]
524d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dbg #5                         @ encoding: [0xf5,0xf0,0x20,0xe3]
525d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dbg #15                        @ encoding: [0xff,0xf0,0x20,0xe3]
526d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
527d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
528d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
529d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ DMB
530d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
531d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb sy
532d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb st
533d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb sh
534d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb ish
535d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb shst
536d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb ishst
537d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb un
538d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb nsh
539d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb unst
540d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb nshst
541d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb osh
542d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb oshst
543d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dmb
544d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
545d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	sy                      @ encoding: [0x5f,0xf0,0x7f,0xf5]
546d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	st                      @ encoding: [0x5e,0xf0,0x7f,0xf5]
547d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	ish                     @ encoding: [0x5b,0xf0,0x7f,0xf5]
548d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	ish                     @ encoding: [0x5b,0xf0,0x7f,0xf5]
549d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	ishst                   @ encoding: [0x5a,0xf0,0x7f,0xf5]
550d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	ishst                   @ encoding: [0x5a,0xf0,0x7f,0xf5]
551d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	nsh                     @ encoding: [0x57,0xf0,0x7f,0xf5]
552d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	nsh                     @ encoding: [0x57,0xf0,0x7f,0xf5]
553d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	nshst                   @ encoding: [0x56,0xf0,0x7f,0xf5]
554d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	nshst                   @ encoding: [0x56,0xf0,0x7f,0xf5]
555d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	osh                     @ encoding: [0x53,0xf0,0x7f,0xf5]
556d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	oshst                   @ encoding: [0x52,0xf0,0x7f,0xf5]
557d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dmb	sy                      @ encoding: [0x5f,0xf0,0x7f,0xf5]
558d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
559d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
560d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ DSB
561d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
562d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb sy
563d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb st
564d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb sh
565d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb ish
566d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb shst
567d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb ishst
568d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb un
569d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb nsh
570d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb unst
571d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb nshst
572d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb osh
573d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb oshst
574d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        dsb
575d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
576d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
577d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	st                      @ encoding: [0x4e,0xf0,0x7f,0xf5]
578d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	ish                     @ encoding: [0x4b,0xf0,0x7f,0xf5]
579d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	ish                     @ encoding: [0x4b,0xf0,0x7f,0xf5]
580d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	ishst                   @ encoding: [0x4a,0xf0,0x7f,0xf5]
581d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	ishst                   @ encoding: [0x4a,0xf0,0x7f,0xf5]
582d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
583d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
584d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	nshst                   @ encoding: [0x46,0xf0,0x7f,0xf5]
585d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	nshst                   @ encoding: [0x46,0xf0,0x7f,0xf5]
586d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	osh                     @ encoding: [0x43,0xf0,0x7f,0xf5]
587d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	oshst                   @ encoding: [0x42,0xf0,0x7f,0xf5]
588d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
589d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
590d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
591d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ EOR
592d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
593d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, #0xf000
594d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, r6
595d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, r6, lsl #5
596d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, r6, lsr #5
597d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, r6, lsr #5
598d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, r6, asr #5
599d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, r6, ror #5
600d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, r8, lsl r9
601d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, r8, lsr r9
602d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, r8, asr r9
603d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, r8, ror r9
604d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, r6, rrx
605d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
606d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        @ destination register is optional
607d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r5, #0xf000
608d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5
609d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, lsl #5
610d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, lsr #5
611d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, lsr #5
612d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, asr #5
613d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, ror #5
614d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, lsl r9
615d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, lsr r9
616d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, asr r9
617d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r6, r7, ror r9
618d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner        eor r4, r5, rrx
619d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
620d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x25,0xe2]
621d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, r6              @ encoding: [0x06,0x40,0x25,0xe0]
622d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x25,0xe0]
623d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x25,0xe0]
624d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x25,0xe0]
625d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x25,0xe0]
626d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x25,0xe0]
627e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: eor	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x27,0xe0]
628d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x27,0xe0]
629e6e84e96ac031e261bda8d441aa9c4cade144437Ben Gardiner@ CHECK: eor	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x27,0xe0]
630d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x27,0xe0]
631d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x25,0xe0]
632d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
633d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner
634d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: eor	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x25,0xe2]
635196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r4, r4, r5              @ encoding: [0x05,0x40,0x24,0xe0]
636196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x24,0xe0]
637196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x24,0xe0]
638196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x24,0xe0]
639196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x24,0xe0]
640196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x24,0xe0]
641196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x26,0xe0]
642196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x26,0xe0]
643196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x26,0xe0]
644196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x26,0xe0]
645196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: eor	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x24,0xe0]
646196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner
647196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner
648196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@------------------------------------------------------------------------------
649196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ ISB
650196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@------------------------------------------------------------------------------
651196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        isb sy
652196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        isb
653196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner
654196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: isb sy                         @ encoding: [0x6f,0xf0,0x7f,0xf5]
655196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ CHECK: isb sy                         @ encoding: [0x6f,0xf0,0x7f,0xf5]
656196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner
657196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner
658196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@------------------------------------------------------------------------------
659196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@ LDC{L}/LDC2{L}
660196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner@------------------------------------------------------------------------------
661196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2 p0, c8, [r1, #4]
662196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2 p1, c7, [r2]
663196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2 p2, c6, [r3, #-224]
664196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2 p3, c5, [r4, #-120]!
665196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2 p4, c4, [r5], #16
666196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2 p5, c3, [r6], #-72
667196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2l p6, c2, [r7, #4]
668196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2l p7, c1, [r8]
669196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2l p8, c0, [r9, #-224]
670196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2l p9, c1, [r10, #-120]!
671196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2l p10, c2, [r11], #16
672196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc2l p11, c3, [r12], #-72
673196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner
674196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc p12, c4, [r0, #4]
675196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc p13, c5, [r1]
676196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc p14, c6, [r2, #-224]
677196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc p15, c7, [r3, #-120]!
678196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc p5, c8, [r4], #16
679196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldc p4, c9, [r5], #-72
680196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcl p3, c10, [r6, #4]
681196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcl p2, c11, [r7]
682196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcl p1, c12, [r8, #-224]
683196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcl p0, c13, [r9, #-120]!
684196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcl p6, c14, [r10], #16
685196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcl p7, c15, [r11], #-72
686196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner
687196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldclo p12, c4, [r0, #4]
688196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldchi p13, c5, [r1]
689196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldccs p14, c6, [r2, #-224]
690196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldccc p15, c7, [r3, #-120]!
691196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldceq p5, c8, [r4], #16
692196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcgt p4, c9, [r5], #-72
693196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldcllt p3, c10, [r6, #4]
694196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldclge p2, c11, [r7]
695196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldclle p1, c12, [r8, #-224]
696196d0d29588867bed50cd28b8f03cbbb5e0e6608Ben Gardiner        ldclne p0, c13, [r9, #-120]!
697a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        ldcleq p6, c14, [r10], #16
698a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        ldclhi p7, c15, [r11], #-72
699a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
700a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM        ldc2 p2, c8, [r1], { 25 }
701a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
702a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldc2	p0, c8, [r1, #4]        @ encoding: [0x01,0x80,0x91,0xfd]
703a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2	p1, c7, [r2]            @ encoding: [0x00,0x71,0x92,0xfd]
7048ba4466a4ad458618282f8bdcc2706025856a9f2Chris Ball@ CHECK: ldc2	p2, c6, [r3, #-224]     @ encoding: [0x38,0x62,0x13,0xfd]
7058ba4466a4ad458618282f8bdcc2706025856a9f2Chris Ball@ CHECK: ldc2	p3, c5, [r4, #-120]!    @ encoding: [0x1e,0x53,0x34,0xfd]
706a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2	p4, c4, [r5], #16       @ encoding: [0x04,0x44,0xb5,0xfc]
707a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2	p5, c3, [r6], #-72      @ encoding: [0x12,0x35,0x36,0xfc]
708a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2l	p6, c2, [r7, #4]        @ encoding: [0x01,0x26,0xd7,0xfd]
709a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2l	p7, c1, [r8]            @ encoding: [0x00,0x17,0xd8,0xfd]
710a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2l	p8, c0, [r9, #-224]     @ encoding: [0x38,0x08,0x59,0xfd]
711a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2l	p9, c1, [r10, #-120]!   @ encoding: [0x1e,0x19,0x7a,0xfd]
712a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2l	p10, c2, [r11], #16     @ encoding: [0x04,0x2a,0xfb,0xfc]
713a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc2l	p11, c3, [r12], #-72    @ encoding: [0x12,0x3b,0x7c,0xfc]
714a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM
715a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x90,0xed]
716a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x91,0xed]
717a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x12,0xed]
718a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x33,0xed]
719a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xb4,0xec]
720a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: ldc	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x35,0xec]
721a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcl	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xd6,0xed]
722a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcl	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xd7,0xed]
723a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcl	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x58,0xed]
724a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcl	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x79,0xed]
725a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcl	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xfa,0xec]
726a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcl	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x7b,0xec]
727a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
728a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldclo	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x90,0x3d]
729a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldchi	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x91,0x8d]
730a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldchs	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x12,0x2d]
731a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldclo	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x33,0x3d]
732a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldceq	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xb4,0x0c]
733a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcgt	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x35,0xcc]
734a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcllt	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xd6,0xbd]
735a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldclge	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xd7,0xad]
736a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldclle	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x58,0xdd]
737a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldclne	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x79,0x1d]
738a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldcleq	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xfa,0x0c]
739a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldclhi	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x7b,0x8c]
740a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
741a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldc2	p2, c8, [r1], {25}      @ encoding: [0x19,0x82,0x91,0xfc]
742a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
743a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
744a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
745a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ LDM*
746a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
747a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldm       r2, {r1,r3-r6,sp}
748a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmia     r2, {r1,r3-r6,sp}
749a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmib     r2, {r1,r3-r6,sp}
750a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmda     r2, {r1,r3-r6,sp}
751a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmdb     r2, {r1,r3-r6,sp}
752a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmfd     r2, {r1,r3-r6,sp}
753a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
754a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        @ with update
755a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldm       r2!, {r1,r3-r6,sp}
756a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmib     r2!, {r1,r3-r6,sp}
757a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmda     r2!, {r1,r3-r6,sp}
758a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldmdb     r2!, {r1,r3-r6,sp}
759b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball
760a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
761a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
762a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe9]
763a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe8]
764a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe9]
765b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
766a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
767a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldm   r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe8]
768a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe9]
769a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe8]
770a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe9]
771a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
772a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
773a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
774a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ LDREX/LDREXB/LDREXH/LDREXD
775a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
776a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldrexb  r3, [r4]
777a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldrexh  r2, [r5]
778a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldrex  r1, [r7]
779a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldrexd  r6, r7, [r8]
780a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
781a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldrexb	r3, [r4]                @ encoding: [0x9f,0x3f,0xd4,0xe1]
782a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldrexh	r2, [r5]                @ encoding: [0x9f,0x2f,0xf5,0xe1]
783a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldrex	r1, [r7]                @ encoding: [0x9f,0x1f,0x97,0xe1]
784a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldrexd	r6, r7, [r8]            @ encoding: [0x9f,0x6f,0xb8,0xe1]
785a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
786a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
787a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ LDRHT
788a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
789a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldrhthi	r8, [r11], #-0
790a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        ldrhthi	r8, [r11], #0
791a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
792a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldrhthi r8, [r11], #-0         @ encoding: [0xb0,0x80,0x7b,0x80]
793a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: ldrhthi r8, [r11], #0          @ encoding: [0xb0,0x80,0xfb,0x80]
794a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
795a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
796a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ LSL
797a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
798a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsl r2, r4, #31
799a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsl r2, r4, #1
800a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsl r2, r4, #0
801a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsl r4, #1
802a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
803a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: lsl	r2, r4, #31             @ encoding: [0x84,0x2f,0xa0,0xe1]
804b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: lsl	r2, r4, #1              @ encoding: [0x84,0x20,0xa0,0xe1]
805a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
806a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: lsl	r4, r4, #1              @ encoding: [0x84,0x40,0xa0,0xe1]
807a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
808a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
809a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
810a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ LSR
811a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
812a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsr r2, r4, #32
813a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsr r2, r4, #2
814a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsr r2, r4, #0
815a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO	lsr r4, #2
816a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
817a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: lsr	r2, r4, #32             @ encoding: [0x24,0x20,0xa0,0xe1]
818a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: lsr	r2, r4, #2              @ encoding: [0x24,0x21,0xa0,0xe1]
819a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
820a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: lsr	r4, r4, #2              @ encoding: [0x24,0x41,0xa0,0xe1]
821a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
822a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
823a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
824a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MCR/MCR2
825b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@------------------------------------------------------------------------------
826a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mcr  p7, #1, r5, c1, c1, #4
827a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mcr2  p7, #1, r5, c1, c1, #4
828a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
829a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mcr  p7, #1, r5, c1, c1, #4    @ encoding: [0x91,0x57,0x21,0xee]
830a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mcr2  p7, #1, r5, c1, c1, #4   @ encoding: [0x91,0x57,0x21,0xfe]
831a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
832a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
833a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MCRR/MCRR2
834a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
835a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mcrr  p7, #15, r5, r4, c1
836a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mcrr2  p7, #15, r5, r4, c1
837a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
838a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mcrr  p7, #15, r5, r4, c1      @ encoding: [0xf1,0x57,0x44,0xec]
839a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mcrr2  p7, #15, r5, r4, c1     @ encoding: [0xf1,0x57,0x44,0xfc]
840a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
841a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
842a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
843a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MLA
844a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
845a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mla  r1,r2,r3,r4
846a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mlas r1,r2,r3,r4
847a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mlane  r1,r2,r3,r4
848a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mlasne r1,r2,r3,r4
849a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
850a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mla 	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x21,0xe0]
851f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mlas	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x31,0xe0]
852f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mlane 	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x21,0x10]
853a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mlasne	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x31,0x10]
854f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner
855f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@------------------------------------------------------------------------------
856f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ MLS
857a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
858a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mls  r2,r5,r6,r3
859a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mlsne  r2,r5,r6,r3
860a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
861f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mls	r2, r5, r6, r3          @ encoding: [0x95,0x36,0x62,0xe0]
862f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mlsne	r2, r5, r6, r3          @ encoding: [0x95,0x36,0x62,0x10]
863a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
864f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@------------------------------------------------------------------------------
865f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ MOV (immediate)
866f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@------------------------------------------------------------------------------
867a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mov r3, #7
868a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mov r4, #0xff0
869a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mov r5, #0xff0000
870a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mov r6, #0xffff
871a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        movw r9, #0xffff
8724e85023654b356511612547207a4cb643fb3db16Ben Gardiner        movs r3, #7
8734e85023654b356511612547207a4cb643fb3db16Ben Gardiner        moveq r4, #0xff0
8744e85023654b356511612547207a4cb643fb3db16Ben Gardiner        movseq r5, #0xff0000
8754e85023654b356511612547207a4cb643fb3db16Ben Gardiner
8764e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CHECK: mov	r3, #7                  @ encoding: [0x07,0x30,0xa0,0xe3]
8774e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CHECK: mov	r4, #4080               @ encoding: [0xff,0x4e,0xa0,0xe3]
8784e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CHECK: mov	r5, #16711680           @ encoding: [0xff,0x58,0xa0,0xe3]
8794e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CHECK: movw	r6, #65535              @ encoding: [0xff,0x6f,0x0f,0xe3]
880a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movw	r9, #65535              @ encoding: [0xff,0x9f,0x0f,0xe3]
881a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movs	r3, #7                  @ encoding: [0x07,0x30,0xb0,0xe3]
882a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: moveq	r4, #4080               @ encoding: [0xff,0x4e,0xa0,0x03]
883a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movseq	r5, #16711680           @ encoding: [0xff,0x58,0xb0,0x03]
884a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
885a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
886a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MOV (register)
887a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
888a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mov r2, r3
889a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        movs r2, r3
890a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        moveq r2, r3
891a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        movseq r2, r3
892a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
893a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mov	r2, r3                  @ encoding: [0x03,0x20,0xa0,0xe1]
894a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movs	r2, r3                  @ encoding: [0x03,0x20,0xb0,0xe1]
895a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: moveq	r2, r3                  @ encoding: [0x03,0x20,0xa0,0x01]
896a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movseq	r2, r3                  @ encoding: [0x03,0x20,0xb0,0x01]
897a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
898a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
899a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MOVT
900a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
901a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        movt r3, #7
902a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        movt r6, #0xffff
903a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        movteq r4, #0xff0
904a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
905a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movt	r3, #7                  @ encoding: [0x07,0x30,0x40,0xe3]
906a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movt	r6, #65535              @ encoding: [0xff,0x6f,0x4f,0xe3]
907a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: movteq	r4, #4080               @ encoding: [0xf0,0x4f,0x40,0x03]
908a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
909a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
910a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
91164f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi@ MRC/MRC2
91264f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi@------------------------------------------------------------------------------
91364f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi        mrc  p14, #0, r1, c1, c2, #4
91464f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi        mrc2  p14, #0, r1, c1, c2, #4
91564f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi
91664f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi@ CHECK: mrc  p14, #0, r1, c1, c2, #4   @ encoding: [0x92,0x1e,0x11,0xee]
91764f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi@ CHECK: mrc2  p14, #0, r1, c1, c2, #4  @ encoding: [0x92,0x1e,0x11,0xfe]
91864f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi
91964f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi@------------------------------------------------------------------------------
920a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MRRC/MRRC2
921a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
922a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mrrc  p7, #1, r5, r4, c1
923a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mrrc2  p7, #1, r5, r4, c1
924a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
925a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mrrc  p7, #1, r5, r4, c1       @ encoding: [0x11,0x57,0x54,0xec]
926a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mrrc2  p7, #1, r5, r4, c1      @ encoding: [0x11,0x57,0x54,0xfc]
927a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
928a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
929a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
930a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MRS
931a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
932a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mrs  r8, apsr
9338c0c40d477db2863e2746e6a995980113f725c0dMario Schuknecht        mrs  r8, cpsr
934a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mrs  r8, spsr
935a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mrs  r8, apsr                  @ encoding: [0x00,0x80,0x0f,0xe1]
936a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mrs  r8, apsr                  @ encoding: [0x00,0x80,0x0f,0xe1]
937a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mrs  r8, spsr                  @ encoding: [0x00,0x80,0x4f,0xe1]
938a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
939a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
940a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
941a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
942a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MSR
943a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
944a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
945a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  apsr, #5
946a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  apsr_g, #5
947a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  apsr_nzcvq, #5
948a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  APSR_nzcvq, #5
949a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  apsr_nzcvqg, #5
950a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_fc, #5
951a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_c, #5
952a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_x, #5
953a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_fc, #5
954a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_all, #5
955a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_fsx, #5
956a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  spsr_fc, #5
9578c0c40d477db2863e2746e6a995980113f725c0dMario Schuknecht        msr  SPSR_fsxc, #5
9588c0c40d477db2863e2746e6a995980113f725c0dMario Schuknecht        msr  cpsr_fsxc, #5
9598c0c40d477db2863e2746e6a995980113f725c0dMario Schuknecht
960a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
9618c0c40d477db2863e2746e6a995980113f725c0dMario Schuknecht@ CHECK: msr	APSR_g, #5              @ encoding: [0x05,0xf0,0x24,0xe3]
962a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
963a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
964a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	APSR_nzcvqg, #5         @ encoding: [0x05,0xf0,0x2c,0xe3]
965a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
966a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	CPSR_c, #5              @ encoding: [0x05,0xf0,0x21,0xe3]
967a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	CPSR_x, #5              @ encoding: [0x05,0xf0,0x22,0xe3]
968a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
969a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
970a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	CPSR_fsx, #5            @ encoding: [0x05,0xf0,0x2e,0xe3]
971d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@ CHECK: msr	SPSR_fc, #5             @ encoding: [0x05,0xf0,0x69,0xe3]
972a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr	SPSR_fsxc, #5           @ encoding: [0x05,0xf0,0x6f,0xe3]
973b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball@ CHECK: msr	CPSR_fsxc, #5           @ encoding: [0x05,0xf0,0x2f,0xe3]
974a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
975b9c7a17fce190f085bb4eb6e6535a22e2c69de68Chris Ball        msr  apsr, r0
976a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  apsr_g, r0
977a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  apsr_nzcvq, r0
978a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  APSR_nzcvq, r0
979a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  apsr_nzcvqg, r0
980a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_fc, r0
981a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        msr  cpsr_c, r0
9824da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner        msr  cpsr_x, r0
9834da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner        msr  cpsr_fc, r0
9844da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner        msr  cpsr_all, r0
9854da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner        msr  cpsr_fsx, r0
9864da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner        msr  spsr_fc, r0
9874da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner        msr  SPSR_fsxc, r0
9884da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner        msr  cpsr_fsxc, r0
989a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
9904da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  APSR_nzcvq, r0            @ encoding: [0x00,0xf0,0x28,0xe1]
9914da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  APSR_g, r0                @ encoding: [0x00,0xf0,0x24,0xe1]
9924da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  APSR_nzcvq, r0            @ encoding: [0x00,0xf0,0x28,0xe1]
9934da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  APSR_nzcvq, r0            @ encoding: [0x00,0xf0,0x28,0xe1]
9944da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  APSR_nzcvqg, r0           @ encoding: [0x00,0xf0,0x2c,0xe1]
9954da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  CPSR_fc, r0               @ encoding: [0x00,0xf0,0x29,0xe1]
9964da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  CPSR_c, r0                @ encoding: [0x00,0xf0,0x21,0xe1]
9974da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  CPSR_x, r0                @ encoding: [0x00,0xf0,0x22,0xe1]
9984da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  CPSR_fc, r0               @ encoding: [0x00,0xf0,0x29,0xe1]
9994da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  CPSR_fc, r0               @ encoding: [0x00,0xf0,0x29,0xe1]
1000a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: msr  CPSR_fsx, r0              @ encoding: [0x00,0xf0,0x2e,0xe1]
10014da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  SPSR_fc, r0               @ encoding: [0x00,0xf0,0x69,0xe1]
10024da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  SPSR_fsxc, r0             @ encoding: [0x00,0xf0,0x6f,0xe1]
10034da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ CHECK: msr  CPSR_fsxc, r0             @ encoding: [0x00,0xf0,0x2f,0xe1]
10044da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner
10054da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@------------------------------------------------------------------------------
10064da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@ MUL
10074da1c0dc8bb295993d05beebc0a6132af9713322Ben Gardiner@------------------------------------------------------------------------------
1008a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mul r5, r6, r7
1009a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        muls r5, r6, r7
1010a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mulgt r5, r6, r7
1011a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mulsle r5, r6, r7
1012a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mul r11, r5
1013a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1014a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mul	r5, r6, r7              @ encoding: [0x96,0x07,0x05,0xe0]
101582bd9504b12160992309d6508dc5654b3db93c2bBen Gardiner@ CHECK: muls	r5, r6, r7              @ encoding: [0x96,0x07,0x15,0xe0]
1016a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mulgt	r5, r6, r7              @ encoding: [0x96,0x07,0x05,0xc0]
1017a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mulsle	r5, r6, r7              @ encoding: [0x96,0x07,0x15,0xd0]
101882bd9504b12160992309d6508dc5654b3db93c2bBen Gardiner
1019a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1020a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
1021a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ MVN (immediate)
102282bd9504b12160992309d6508dc5654b3db93c2bBen Gardiner@------------------------------------------------------------------------------
1023a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mvn r3, #7
1024a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mvn r4, #0xff0
1025a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mvn r5, #0xff0000
1026a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mvns r3, #7
102722f2641fe6155fe9fb8b38a8ebe2093ec3e2ec11Oliver Metz        mvneq r4, #0xff0
102822f2641fe6155fe9fb8b38a8ebe2093ec3e2ec11Oliver Metz        mvnseq r5, #0xff0000
102922f2641fe6155fe9fb8b38a8ebe2093ec3e2ec11Oliver Metz
103022f2641fe6155fe9fb8b38a8ebe2093ec3e2ec11Oliver Metz@ CHECK: mvn	r3, #7                  @ encoding: [0x07,0x30,0xe0,0xe3]
1031a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvn	r4, #4080               @ encoding: [0xff,0x4e,0xe0,0xe3]
1032f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mvn	r5, #16711680           @ encoding: [0xff,0x58,0xe0,0xe3]
1033f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mvns	r3, #7                  @ encoding: [0x07,0x30,0xf0,0xe3]
1034f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mvneq	r4, #4080               @ encoding: [0xff,0x4e,0xe0,0x03]
1035f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mvnseq	r5, #16711680           @ encoding: [0xff,0x58,0xf0,0x03]
1036f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner
1037a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1038d91d3698c6464a83b7c301eb84da109f9f94b54cBen Gardiner@------------------------------------------------------------------------------
1039a6cd98de8b158029ca6b9c1e961729dc83a7144cBen Gardiner@ MVN (register)
1040a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
1041a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mvn r2, r3
1042a6cd98de8b158029ca6b9c1e961729dc83a7144cBen Gardiner        mvns r2, r3
1043a6cd98de8b158029ca6b9c1e961729dc83a7144cBen Gardiner        mvn r5, r6, lsl #19
1044a6cd98de8b158029ca6b9c1e961729dc83a7144cBen Gardiner        mvn r5, r6, lsr #9
1045a6cd98de8b158029ca6b9c1e961729dc83a7144cBen Gardiner        mvn r5, r6, asr #4
1046a6cd98de8b158029ca6b9c1e961729dc83a7144cBen Gardiner        mvn r5, r6, ror #6
1047a6cd98de8b158029ca6b9c1e961729dc83a7144cBen Gardiner        mvn r5, r6, rrx
1048a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mvneq r2, r3
1049a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        mvnseq r2, r3, lsl #10
1050a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1051a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvn	r2, r3                  @ encoding: [0x03,0x20,0xe0,0xe1]
1052a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvns	r2, r3                  @ encoding: [0x03,0x20,0xf0,0xe1]
1053a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvn	r5, r6, lsl #19         @ encoding: [0x86,0x59,0xe0,0xe1]
1054a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvn	r5, r6, lsr #9          @ encoding: [0xa6,0x54,0xe0,0xe1]
1055a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvn	r5, r6, asr #4          @ encoding: [0x46,0x52,0xe0,0xe1]
1056a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvn	r5, r6, ror #6          @ encoding: [0x66,0x53,0xe0,0xe1]
1057a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvn	r5, r6, rrx             @ encoding: [0x66,0x50,0xe0,0xe1]
1058f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mvneq	r2, r3                  @ encoding: [0x03,0x20,0xe0,0x01]
1059f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ CHECK: mvnseq	r2, r3, lsl #10         @ encoding: [0x03,0x25,0xf0,0x01]
1060f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner
1061a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1062f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@------------------------------------------------------------------------------
1063f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@ MVN (shifted register)
1064f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner@------------------------------------------------------------------------------
1065f82e27a1b11e6fb52565b61827563316dcbb2cc4Ben Gardiner        mvn r5, r6, lsl r7
106668f490b54b53c715db06e55f9595a672d1c0690eBen Gardiner        mvns r5, r6, lsr r7
106768f490b54b53c715db06e55f9595a672d1c0690eBen Gardiner        mvngt r5, r6, asr r7
106868f490b54b53c715db06e55f9595a672d1c0690eBen Gardiner        mvnslt r5, r6, ror r7
106968f490b54b53c715db06e55f9595a672d1c0690eBen Gardiner
107068f490b54b53c715db06e55f9595a672d1c0690eBen Gardiner@ CHECK: mvn	r5, r6, lsl r7          @ encoding: [0x16,0x57,0xe0,0xe1]
1071a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: mvns	r5, r6, lsr r7          @ encoding: [0x36,0x57,0xf0,0xe1]
107268f490b54b53c715db06e55f9595a672d1c0690eBen Gardiner@ CHECK: mvngt	r5, r6, asr r7          @ encoding: [0x56,0x57,0xe0,0xc1]
10734e85023654b356511612547207a4cb643fb3db16Ben Gardiner@ CHECK: mvnslt	r5, r6, ror r7          @ encoding: [0x76,0x57,0xf0,0xb1]
10744e85023654b356511612547207a4cb643fb3db16Ben Gardiner
1075a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
1076a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ NOP
1077a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
1078a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        nop
1079a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        nopgt
1080a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1081a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3]
1082a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: nopgt @ encoding: [0x00,0xf0,0x20,0xc3]
1083a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1084a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1085a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
1086a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ ORR
1087a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@------------------------------------------------------------------------------
1088a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, #0xf000
1089a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, r6
1090a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, r6, lsl #5
1091a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, r6, lsr #5
1092a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, r6, lsr #5
1093a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, r6, asr #5
1094a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, r6, ror #5
1095a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, r8, lsl r9
1096a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, r8, lsr r9
1097a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, r8, asr r9
1098a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, r8, ror r9
1099a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, r6, rrx
1100a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1101a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        @ destination register is optional
1102a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r5, #0xf000
1103a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5
1104a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, lsl #5
1105a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, lsr #5
1106a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, lsr #5
1107a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, asr #5
1108a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, ror #5
1109a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, lsl r9
1110a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, lsr r9
1111a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, asr r9
1112a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r6, r7, ror r9
1113a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO        orr r4, r5, rrx
1114a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
1115a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe3]
1116a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0xe1]
1117a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x85,0xe1]
1118a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe1]
1119a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe1]
1120a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x85,0xe1]
1121a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x85,0xe1]
1122a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x87,0xe1]
1123a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x87,0xe1]
1124a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x87,0xe1]
1125a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0xe1]
1126a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x85,0xe1]
1127a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO
112864f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi@ CHECK: orr	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe3]
112964f63a3d2693e95b45c6ba743570b3374a45043bOleg Matcovschi@ CHECK: orr	r4, r4, r5              @ encoding: [0x05,0x40,0x84,0xe1]
1130a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x84,0xe1]
1131a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe1]
1132a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe1]
1133a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x84,0xe1]
1134a5bf4a2030a9dcfbcebf1b647e65c1e936a56e14Giuseppe CAVALLARO@ CHECK: orr	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x84,0xe1]
1135a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: orr	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x86,0xe1]
1136a8bfde77e0e275070791138d60b75d1cc293daf0Johan RUDHOLM@ CHECK: orr	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x86,0xe1]
113721bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orr	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0xe1]
113821bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orr	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x86,0xe1]
113921bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orr	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x84,0xe1]
114021bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi
114121bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrseq r4, r5, #0xf000
114221bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrne r4, r5, r6
114321bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrseq r4, r5, r6, lsl #5
114421bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrlo r6, r7, r8, ror r9
114521bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrshi r4, r5, r6, rrx
114621bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrcs r5, #0xf000
114721bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrseq r4, r5
114821bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrne r6, r7, asr r9
114921bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrslt r6, r7, ror r9
115021bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi        orrsgt r4, r5, rrx
115121bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi
115221bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrseq	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x95,0x03]
115321bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrne	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0x11]
115421bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrseq	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x95,0x01]
115521bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrlo	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0x31]
115621bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrshi	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x95,0x81]
115721bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrhs	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0x23]
115821bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrseq	r4, r4, r5              @ encoding: [0x05,0x40,0x94,0x01]
115921bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrne	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0x11]
116021bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrslt	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x96,0xb1]
116121bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ CHECK: orrsgt	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x94,0xc1]
116221bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi
116321bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@------------------------------------------------------------------------------
116421bb473fc58366b872efe31e1da7831cad4b92faYaniv Gardi@ PKH
1165@------------------------------------------------------------------------------
1166        pkhbt r2, r2, r3
1167        pkhbt r2, r2, r3, lsl #31
1168        pkhbt r2, r2, r3, lsl #0
1169        pkhbt r2, r2, r3, lsl #15
1170
1171        pkhtb r2, r2, r3
1172        pkhtb r2, r2, r3, asr #31
1173        pkhtb r2, r2, r3, asr #15
1174
1175@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
1176@ CHECK: pkhbt	r2, r2, r3, lsl #31     @ encoding: [0x93,0x2f,0x82,0xe6]
1177@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
1178@ CHECK: pkhbt	r2, r2, r3, lsl #15     @ encoding: [0x93,0x27,0x82,0xe6]
1179
1180@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
1181@ CHECK: pkhtb	r2, r2, r3, asr #31     @ encoding: [0xd3,0x2f,0x82,0xe6]
1182@ CHECK: pkhtb	r2, r2, r3, asr #15     @ encoding: [0xd3,0x27,0x82,0xe6]
1183
1184@------------------------------------------------------------------------------
1185@ FIXME: PLD
1186@------------------------------------------------------------------------------
1187@------------------------------------------------------------------------------
1188@ FIXME: PLI
1189@------------------------------------------------------------------------------
1190
1191
1192@------------------------------------------------------------------------------
1193@ POP
1194@------------------------------------------------------------------------------
1195        pop {r7}
1196        pop {r7, r8, r9, r10}
1197
1198@ CHECK: pop	{r7}                    @ encoding: [0x04,0x70,0x9d,0xe4]
1199@ CHECK: pop	{r7, r8, r9, r10}       @ encoding: [0x80,0x07,0xbd,0xe8]
1200
1201
1202@------------------------------------------------------------------------------
1203@ PUSH
1204@------------------------------------------------------------------------------
1205        push {r7}
1206        push {r7, r8, r9, r10}
1207
1208@ CHECK: push	{r7}                    @ encoding: [0x04,0x70,0x2d,0xe5]
1209@ CHECK: push	{r7, r8, r9, r10}       @ encoding: [0x80,0x07,0x2d,0xe9]
1210
1211
1212@------------------------------------------------------------------------------
1213@ QADD/QADD16/QADD8
1214@------------------------------------------------------------------------------
1215        qadd r1, r2, r3
1216        qaddne r1, r2, r3
1217        qadd16 r1, r2, r3
1218        qadd16gt r1, r2, r3
1219        qadd8 r1, r2, r3
1220        qadd8le r1, r2, r3
1221
1222@ CHECK: qadd	r1, r2, r3              @ encoding: [0x52,0x10,0x03,0xe1]
1223@ CHECK: qaddne	r1, r2, r3              @ encoding: [0x52,0x10,0x03,0x11]
1224@ CHECK: qadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x22,0xe6]
1225@ CHECK: qadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x22,0xc6]
1226@ CHECK: qadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x22,0xe6]
1227@ CHECK: qadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x22,0xd6]
1228
1229
1230@------------------------------------------------------------------------------
1231@ QDADD/QDSUB
1232@------------------------------------------------------------------------------
1233        qdadd r6, r7, r8
1234        qdaddhi r6, r7, r8
1235        qdsub r6, r7, r8
1236        qdsubhi r6, r7, r8
1237
1238@ CHECK: qdadd	r6, r7, r8              @ encoding: [0x57,0x60,0x48,0xe1]
1239@ CHECK: qdaddhi r6, r7, r8             @ encoding: [0x57,0x60,0x48,0x81]
1240@ CHECK: qdsub	r6, r7, r8              @ encoding: [0x57,0x60,0x68,0xe1]
1241@ CHECK: qdsubhi r6, r7, r8             @ encoding: [0x57,0x60,0x68,0x81]
1242
1243
1244@------------------------------------------------------------------------------
1245@ QSAX
1246@------------------------------------------------------------------------------
1247        qsax r9, r12, r0
1248        qsaxeq r9, r12, r0
1249
1250@ CHECK: qsax	r9, r12, r0             @ encoding: [0x50,0x9f,0x2c,0xe6]
1251@ CHECK: qsaxeq	r9, r12, r0             @ encoding: [0x50,0x9f,0x2c,0x06]
1252
1253
1254@------------------------------------------------------------------------------
1255@ QSUB/QSUB16/QSUB8
1256@------------------------------------------------------------------------------
1257        qsub r1, r2, r3
1258        qsubne r1, r2, r3
1259        qsub16 r1, r2, r3
1260        qsub16gt r1, r2, r3
1261        qsub8 r1, r2, r3
1262        qsub8le r1, r2, r3
1263
1264@ CHECK: qsub	r1, r2, r3              @ encoding: [0x52,0x10,0x23,0xe1]
1265@ CHECK: qsubne	r1, r2, r3              @ encoding: [0x52,0x10,0x23,0x11]
1266@ CHECK: qsub16	r1, r2, r3              @ encoding: [0x73,0x1f,0x22,0xe6]
1267@ CHECK: qsub16gt	r1, r2, r3      @ encoding: [0x73,0x1f,0x22,0xc6]
1268@ CHECK: qsub8	r1, r2, r3              @ encoding: [0xf3,0x1f,0x22,0xe6]
1269@ CHECK: qsub8le r1, r2, r3             @ encoding: [0xf3,0x1f,0x22,0xd6]
1270
1271
1272@------------------------------------------------------------------------------
1273@ RBIT
1274@------------------------------------------------------------------------------
1275        rbit r1, r2
1276        rbitne r1, r2
1277
1278@ CHECK: rbit	r1, r2                  @ encoding: [0x32,0x1f,0xff,0xe6]
1279@ CHECK: rbitne	r1, r2                  @ encoding: [0x32,0x1f,0xff,0x16]
1280
1281
1282@------------------------------------------------------------------------------
1283@ REV/REV16/REVSH
1284@------------------------------------------------------------------------------
1285        rev r1, r9
1286        revne r1, r5
1287        rev16 r8, r3
1288        rev16ne r12, r4
1289        revsh r4, r9
1290        revshne r9, r1
1291
1292@ CHECK: rev	r1, r9                  @ encoding: [0x39,0x1f,0xbf,0xe6]
1293@ CHECK: revne	r1, r5                  @ encoding: [0x35,0x1f,0xbf,0x16]
1294@ CHECK: rev16	r8, r3                  @ encoding: [0xb3,0x8f,0xbf,0xe6]
1295@ CHECK: rev16ne r12, r4                @ encoding: [0xb4,0xcf,0xbf,0x16]
1296@ CHECK: revsh	r4, r9                  @ encoding: [0xb9,0x4f,0xff,0xe6]
1297@ CHECK: revshne r9, r1                 @ encoding: [0xb1,0x9f,0xff,0x16]
1298
1299
1300@------------------------------------------------------------------------------
1301@ RFE
1302@------------------------------------------------------------------------------
1303        rfeda r2
1304        rfedb r3
1305        rfeia r5
1306        rfeib r6
1307
1308        rfeda r4!
1309        rfedb r7!
1310        rfeia r9!
1311        rfeib r8!
1312
1313        rfefa r2
1314        rfeea r3
1315        rfefd r5
1316        rfeed r6
1317
1318        rfefa r4!
1319        rfeea r7!
1320        rfefd r9!
1321        rfeed r8!
1322
1323        rfe r1
1324        rfe r1!
1325
1326@ CHECK: rfeda	r2                      @ encoding: [0x00,0x0a,0x12,0xf8]
1327@ CHECK: rfedb	r3                      @ encoding: [0x00,0x0a,0x13,0xf9]
1328@ CHECK: rfeia	r5                      @ encoding: [0x00,0x0a,0x95,0xf8]
1329@ CHECK: rfeib	r6                      @ encoding: [0x00,0x0a,0x96,0xf9]
1330
1331@ CHECK: rfeda	r4!                     @ encoding: [0x00,0x0a,0x34,0xf8]
1332@ CHECK: rfedb	r7!                     @ encoding: [0x00,0x0a,0x37,0xf9]
1333@ CHECK: rfeia	r9!                     @ encoding: [0x00,0x0a,0xb9,0xf8]
1334@ CHECK: rfeib	r8!                     @ encoding: [0x00,0x0a,0xb8,0xf9]
1335
1336@ CHECK: rfeda	r2                      @ encoding: [0x00,0x0a,0x12,0xf8]
1337@ CHECK: rfedb	r3                      @ encoding: [0x00,0x0a,0x13,0xf9]
1338@ CHECK: rfeia	r5                      @ encoding: [0x00,0x0a,0x95,0xf8]
1339@ CHECK: rfeib	r6                      @ encoding: [0x00,0x0a,0x96,0xf9]
1340
1341@ CHECK: rfeda	r4!                     @ encoding: [0x00,0x0a,0x34,0xf8]
1342@ CHECK: rfedb	r7!                     @ encoding: [0x00,0x0a,0x37,0xf9]
1343@ CHECK: rfeia	r9!                     @ encoding: [0x00,0x0a,0xb9,0xf8]
1344@ CHECK: rfeib	r8!                     @ encoding: [0x00,0x0a,0xb8,0xf9]
1345
1346@ CHECK: rfeia	r1                      @ encoding: [0x00,0x0a,0x91,0xf8]
1347@ CHECK: rfeia	r1!                     @ encoding: [0x00,0x0a,0xb1,0xf8]
1348
1349
1350@------------------------------------------------------------------------------
1351@ ROR
1352@------------------------------------------------------------------------------
1353	ror r2, r4, #31
1354	ror r2, r4, #1
1355	ror r2, r4, #0
1356	ror r4, #1
1357
1358@ CHECK: ror	r2, r4, #31             @ encoding: [0xe4,0x2f,0xa0,0xe1]
1359@ CHECK: ror	r2, r4, #1              @ encoding: [0xe4,0x20,0xa0,0xe1]
1360@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
1361@ CHECK: ror	r4, r4, #1              @ encoding: [0xe4,0x40,0xa0,0xe1]
1362
1363
1364@------------------------------------------------------------------------------
1365@ RSB
1366@------------------------------------------------------------------------------
1367        rsb r4, r5, #0xf000
1368        rsb r4, r5, r6
1369        rsb r4, r5, r6, lsl #5
1370        rsblo r4, r5, r6, lsr #5
1371        rsb r4, r5, r6, lsr #5
1372        rsb r4, r5, r6, asr #5
1373        rsb r4, r5, r6, ror #5
1374        rsb r6, r7, r8, lsl r9
1375        rsb r6, r7, r8, lsr r9
1376        rsb r6, r7, r8, asr r9
1377        rsble r6, r7, r8, ror r9
1378        rsb r4, r5, r6, rrx
1379
1380        @ destination register is optional
1381        rsb r5, #0xf000
1382        rsb r4, r5
1383        rsb r4, r5, lsl #5
1384        rsb r4, r5, lsr #5
1385        rsbne r4, r5, lsr #5
1386        rsb r4, r5, asr #5
1387        rsb r4, r5, ror #5
1388        rsbgt r6, r7, lsl r9
1389        rsb r6, r7, lsr r9
1390        rsb r6, r7, asr r9
1391        rsb r6, r7, ror r9
1392        rsb r4, r5, rrx
1393
1394@ CHECK: rsb	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x65,0xe2]
1395@ CHECK: rsb	r4, r5, r6              @ encoding: [0x06,0x40,0x65,0xe0]
1396@ CHECK: rsb	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x65,0xe0]
1397@ CHECK: rsblo	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x65,0x30]
1398@ CHECK: rsb	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x65,0xe0]
1399@ CHECK: rsb	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x65,0xe0]
1400@ CHECK: rsb	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x65,0xe0]
1401@ CHECK: rsb	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x67,0xe0]
1402@ CHECK: rsb	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x67,0xe0]
1403@ CHECK: rsb	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x67,0xe0]
1404@ CHECK: rsble	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x67,0xd0]
1405@ CHECK: rsb	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x65,0xe0]
1406
1407@ CHECK: rsb	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x65,0xe2]
1408@ CHECK: rsb	r4, r4, r5              @ encoding: [0x05,0x40,0x64,0xe0]
1409@ CHECK: rsb	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x64,0xe0]
1410@ CHECK: rsb	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x64,0xe0]
1411@ CHECK: rsbne	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x64,0x10]
1412@ CHECK: rsb	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x64,0xe0]
1413@ CHECK: rsb	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x64,0xe0]
1414@ CHECK: rsbgt	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x66,0xc0]
1415@ CHECK: rsb	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x66,0xe0]
1416@ CHECK: rsb	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x66,0xe0]
1417@ CHECK: rsb	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x66,0xe0]
1418@ CHECK: rsb	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x64,0xe0]
1419
1420@------------------------------------------------------------------------------
1421@ RSC
1422@------------------------------------------------------------------------------
1423        rsc r4, r5, #0xf000
1424        rsc r4, r5, r6
1425        rsc r4, r5, r6, lsl #5
1426        rsclo r4, r5, r6, lsr #5
1427        rsc r4, r5, r6, lsr #5
1428        rsc r4, r5, r6, asr #5
1429        rsc r4, r5, r6, ror #5
1430        rsc r6, r7, r8, lsl r9
1431        rsc r6, r7, r8, lsr r9
1432        rsc r6, r7, r8, asr r9
1433        rscle r6, r7, r8, ror r9
1434        rscs r1, r8, #4064
1435
1436        @ destination register is optional
1437        rsc r5, #0xf000
1438        rsc r4, r5
1439        rsc r4, r5, lsl #5
1440        rsc r4, r5, lsr #5
1441        rscne r4, r5, lsr #5
1442        rsc r4, r5, asr #5
1443        rsc r4, r5, ror #5
1444        rscgt r6, r7, lsl r9
1445        rsc r6, r7, lsr r9
1446        rsc r6, r7, asr r9
1447        rsc r6, r7, ror r9
1448
1449@ CHECK: rsc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xe5,0xe2]
1450@ CHECK: rsc	r4, r5, r6              @ encoding: [0x06,0x40,0xe5,0xe0]
1451@ CHECK: rsc	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0xe5,0xe0]
1452@ CHECK: rsclo	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xe5,0x30]
1453@ CHECK: rsc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xe5,0xe0]
1454@ CHECK: rsc	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0xe5,0xe0]
1455@ CHECK: rsc	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0xe5,0xe0]
1456@ CHECK: rsc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xe7,0xe0]
1457@ CHECK: rsc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xe7,0xe0]
1458@ CHECK: rsc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xe7,0xe0]
1459@ CHECK: rscle	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xe7,0xd0]
1460@ CHECK: rscs	r1, r8, #4064           @ encoding: [0xfe,0x1e,0xf8,0xe2]
1461
1462@ CHECK: rsc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xe5,0xe2]
1463@ CHECK: rsc	r4, r4, r5              @ encoding: [0x05,0x40,0xe4,0xe0]
1464@ CHECK: rsc	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0xe4,0xe0]
1465@ CHECK: rsc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xe4,0xe0]
1466@ CHECK: rscne	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xe4,0x10]
1467@ CHECK: rsc	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0xe4,0xe0]
1468@ CHECK: rsc	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0xe4,0xe0]
1469@ CHECK: rscgt	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xe6,0xc0]
1470@ CHECK: rsc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xe6,0xe0]
1471@ CHECK: rsc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xe6,0xe0]
1472@ CHECK: rsc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xe6,0xe0]
1473
1474@------------------------------------------------------------------------------
1475@ SADD16/SADD8
1476@------------------------------------------------------------------------------
1477        sadd16 r1, r2, r3
1478        sadd16gt r1, r2, r3
1479        sadd8 r1, r2, r3
1480        sadd8le r1, r2, r3
1481
1482@ CHECK: sadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x12,0xe6]
1483@ CHECK: sadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x12,0xc6]
1484@ CHECK: sadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x12,0xe6]
1485@ CHECK: sadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x12,0xd6]
1486
1487
1488@------------------------------------------------------------------------------
1489@ SASX
1490@------------------------------------------------------------------------------
1491        sasx r9, r12, r0
1492        sasxeq r9, r12, r0
1493
1494@ CHECK: sasx	r9, r12, r0             @ encoding: [0x30,0x9f,0x1c,0xe6]
1495@ CHECK: sasxeq	r9, r12, r0             @ encoding: [0x30,0x9f,0x1c,0x06]
1496
1497
1498@------------------------------------------------------------------------------
1499@ SBC
1500@------------------------------------------------------------------------------
1501        sbc r4, r5, #0xf000
1502        sbc r4, r5, r6
1503        sbc r4, r5, r6, lsl #5
1504        sbc r4, r5, r6, lsr #5
1505        sbc r4, r5, r6, lsr #5
1506        sbc r4, r5, r6, asr #5
1507        sbc r4, r5, r6, ror #5
1508        sbc r6, r7, r8, lsl r9
1509        sbc r6, r7, r8, lsr r9
1510        sbc r6, r7, r8, asr r9
1511        sbc r6, r7, r8, ror r9
1512
1513        @ destination register is optional
1514        sbc r5, #0xf000
1515        sbc r4, r5
1516        sbc r4, r5, lsl #5
1517        sbc r4, r5, lsr #5
1518        sbc r4, r5, lsr #5
1519        sbc r4, r5, asr #5
1520        sbc r4, r5, ror #5
1521        sbc r6, r7, lsl r9
1522        sbc r6, r7, lsr r9
1523        sbc r6, r7, asr r9
1524        sbc r6, r7, ror r9
1525
1526@ CHECK: sbc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xc5,0xe2]
1527@ CHECK: sbc	r4, r5, r6              @ encoding: [0x06,0x40,0xc5,0xe0]
1528@ CHECK: sbc	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0xc5,0xe0]
1529@ CHECK: sbc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xc5,0xe0]
1530@ CHECK: sbc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xc5,0xe0]
1531@ CHECK: sbc	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0xc5,0xe0]
1532@ CHECK: sbc	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0xc5,0xe0]
1533@ CHECK: sbc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xc7,0xe0]
1534@ CHECK: sbc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xc7,0xe0]
1535@ CHECK: sbc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xc7,0xe0]
1536@ CHECK: sbc	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xc7,0xe0]
1537
1538@ CHECK: sbc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xc5,0xe2]
1539@ CHECK: sbc	r4, r4, r5              @ encoding: [0x05,0x40,0xc4,0xe0]
1540@ CHECK: sbc	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0xc4,0xe0]
1541@ CHECK: sbc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xc4,0xe0]
1542@ CHECK: sbc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xc4,0xe0]
1543@ CHECK: sbc	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0xc4,0xe0]
1544@ CHECK: sbc	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0xc4,0xe0]
1545@ CHECK: sbc	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xc6,0xe0]
1546@ CHECK: sbc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xc6,0xe0]
1547@ CHECK: sbc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xc6,0xe0]
1548@ CHECK: sbc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xc6,0xe0]
1549
1550
1551@------------------------------------------------------------------------------
1552@ SBFX
1553@------------------------------------------------------------------------------
1554        sbfx r4, r5, #16, #1
1555        sbfxgt r4, r5, #16, #16
1556
1557@ CHECK: sbfx	r4, r5, #16, #1         @ encoding: [0x55,0x48,0xa0,0xe7]
1558@ CHECK: sbfxgt	r4, r5, #16, #16        @ encoding: [0x55,0x48,0xaf,0xc7]
1559
1560
1561@------------------------------------------------------------------------------
1562@ SEL
1563@------------------------------------------------------------------------------
1564        sel r9, r2, r1
1565        selne r9, r2, r1
1566
1567@ CHECK: sel	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0xe6]
1568@ CHECK: selne	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0x16]
1569
1570
1571@------------------------------------------------------------------------------
1572@ SETEND
1573@------------------------------------------------------------------------------
1574        setend be
1575        setend le
1576
1577@ CHECK: setend	be                      @ encoding: [0x00,0x02,0x01,0xf1]
1578@ CHECK: setend	le                      @ encoding: [0x00,0x00,0x01,0xf1]
1579
1580
1581@------------------------------------------------------------------------------
1582@ SEV
1583@------------------------------------------------------------------------------
1584        sev
1585        seveq
1586
1587@ CHECK: sev                            @ encoding: [0x04,0xf0,0x20,0xe3]
1588@ CHECK: seveq                          @ encoding: [0x04,0xf0,0x20,0x03]
1589
1590
1591@------------------------------------------------------------------------------
1592@ SHADD16/SHADD8
1593@------------------------------------------------------------------------------
1594        shadd16 r4, r8, r2
1595        shadd16gt r4, r8, r2
1596        shadd8 r4, r8, r2
1597        shadd8gt r4, r8, r2
1598
1599@ CHECK: shadd16	r4, r8, r2      @ encoding: [0x12,0x4f,0x38,0xe6]
1600@ CHECK: shadd16gt	r4, r8, r2      @ encoding: [0x12,0x4f,0x38,0xc6]
1601@ CHECK: shadd8	r4, r8, r2              @ encoding: [0x92,0x4f,0x38,0xe6]
1602@ CHECK: shadd8gt	r4, r8, r2      @ encoding: [0x92,0x4f,0x38,0xc6]
1603
1604
1605@------------------------------------------------------------------------------
1606@ SHASX
1607@------------------------------------------------------------------------------
1608        shasx r4, r8, r2
1609        shasxgt r4, r8, r2
1610
1611@ CHECK: shasx	r4, r8, r2              @ encoding: [0x32,0x4f,0x38,0xe6]
1612@ CHECK: shasxgt r4, r8, r2             @ encoding: [0x32,0x4f,0x38,0xc6]
1613
1614
1615@------------------------------------------------------------------------------
1616@ SHSUB16/SHSUB8
1617@------------------------------------------------------------------------------
1618        shsub16 r4, r8, r2
1619        shsub16gt r4, r8, r2
1620        shsub8 r4, r8, r2
1621        shsub8gt r4, r8, r2
1622
1623@ CHECK: shsub16	r4, r8, r2      @ encoding: [0x72,0x4f,0x38,0xe6]
1624@ CHECK: shsub16gt	r4, r8, r2      @ encoding: [0x72,0x4f,0x38,0xc6]
1625@ CHECK: shsub8	r4, r8, r2              @ encoding: [0xf2,0x4f,0x38,0xe6]
1626@ CHECK: shsub8gt	r4, r8, r2      @ encoding: [0xf2,0x4f,0x38,0xc6]
1627
1628@------------------------------------------------------------------------------
1629@ SMC
1630@------------------------------------------------------------------------------
1631        smc #0xf
1632        smceq #0
1633
1634@ CHECK: smc	#15                     @ encoding: [0x7f,0x00,0x60,0xe1]
1635@ CHECK: smceq	#0                      @ encoding: [0x70,0x00,0x60,0x01]
1636
1637@------------------------------------------------------------------------------
1638@ SMLABB/SMLABT/SMLATB/SMLATT
1639@------------------------------------------------------------------------------
1640        smlabb r3, r1, r9, r0
1641        smlabt r5, r6, r4, r1
1642        smlatb r4, r2, r3, r2
1643        smlatt r8, r3, r8, r4
1644        smlabbge r3, r1, r9, r0
1645        smlabtle r5, r6, r4, r1
1646        smlatbne r4, r2, r3, r2
1647        smlatteq r8, r3, r8, r4
1648
1649@ CHECK: smlabb	r3, r1, r9, r0          @ encoding: [0x81,0x09,0x03,0xe1]
1650@ CHECK: smlabt	r5, r6, r4, r1          @ encoding: [0xc6,0x14,0x05,0xe1]
1651@ CHECK: smlatb	r4, r2, r3, r2          @ encoding: [0xa2,0x23,0x04,0xe1]
1652@ CHECK: smlatt	r8, r3, r8, r4          @ encoding: [0xe3,0x48,0x08,0xe1]
1653@ CHECK: smlabbge	r3, r1, r9, r0  @ encoding: [0x81,0x09,0x03,0xa1]
1654@ CHECK: smlabtle	r5, r6, r4, r1  @ encoding: [0xc6,0x14,0x05,0xd1]
1655@ CHECK: smlatbne	r4, r2, r3, r2  @ encoding: [0xa2,0x23,0x04,0x11]
1656@ CHECK: smlatteq	r8, r3, r8, r4  @ encoding: [0xe3,0x48,0x08,0x01]
1657
1658@------------------------------------------------------------------------------
1659@ SMLAD/SMLADX
1660@------------------------------------------------------------------------------
1661        smlad r2, r3, r5, r8
1662        smladx r2, r3, r5, r8
1663        smladeq r2, r3, r5, r8
1664        smladxhi r2, r3, r5, r8
1665
1666@ CHECK: smlad	r2, r3, r5, r8          @ encoding: [0x13,0x85,0x02,0xe7]
1667@ CHECK: smladx	r2, r3, r5, r8          @ encoding: [0x33,0x85,0x02,0xe7]
1668@ CHECK: smladeq	r2, r3, r5, r8  @ encoding: [0x13,0x85,0x02,0x07]
1669@ CHECK: smladxhi	r2, r3, r5, r8  @ encoding: [0x33,0x85,0x02,0x87]
1670
1671
1672@------------------------------------------------------------------------------
1673@ SMLAL
1674@------------------------------------------------------------------------------
1675        smlal r2, r3, r5, r8
1676        smlals r2, r3, r5, r8
1677        smlaleq r2, r3, r5, r8
1678        smlalshi r2, r3, r5, r8
1679
1680@ CHECK: smlal	r2, r3, r5, r8          @ encoding: [0x95,0x28,0xe3,0xe0]
1681@ CHECK: smlals	r2, r3, r5, r8          @ encoding: [0x95,0x28,0xf3,0xe0]
1682@ CHECK: smlaleq	r2, r3, r5, r8  @ encoding: [0x95,0x28,0xe3,0x00]
1683@ CHECK: smlalshi	r2, r3, r5, r8  @ encoding: [0x95,0x28,0xf3,0x80]
1684
1685
1686@------------------------------------------------------------------------------
1687@ SMLALBB/SMLALBT/SMLALTB/SMLALTT
1688@------------------------------------------------------------------------------
1689        smlalbb r3, r1, r9, r0
1690        smlalbt r5, r6, r4, r1
1691        smlaltb r4, r2, r3, r2
1692        smlaltt r8, r3, r8, r4
1693        smlalbbge r3, r1, r9, r0
1694        smlalbtle r5, r6, r4, r1
1695        smlaltbne r4, r2, r3, r2
1696        smlaltteq r8, r3, r8, r4
1697
1698@ CHECK: smlalbb	r3, r1, r9, r0  @ encoding: [0x89,0x30,0x41,0xe1]
1699@ CHECK: smlalbt	r5, r6, r4, r1  @ encoding: [0xc4,0x51,0x46,0xe1]
1700@ CHECK: smlaltb	r4, r2, r3, r2  @ encoding: [0xa3,0x42,0x42,0xe1]
1701@ CHECK: smlaltt	r8, r3, r8, r4  @ encoding: [0xe8,0x84,0x43,0xe1]
1702@ CHECK: smlalbbge	r3, r1, r9, r0  @ encoding: [0x89,0x30,0x41,0xa1]
1703@ CHECK: smlalbtle	r5, r6, r4, r1  @ encoding: [0xc4,0x51,0x46,0xd1]
1704@ CHECK: smlaltbne	r4, r2, r3, r2  @ encoding: [0xa3,0x42,0x42,0x11]
1705@ CHECK: smlaltteq	r8, r3, r8, r4  @ encoding: [0xe8,0x84,0x43,0x01]
1706
1707
1708@------------------------------------------------------------------------------
1709@ SMLALD/SMLALDX
1710@------------------------------------------------------------------------------
1711        smlald r2, r3, r5, r8
1712        smlaldx r2, r3, r5, r8
1713        smlaldeq r2, r3, r5, r8
1714        smlaldxhi r2, r3, r5, r8
1715
1716@ CHECK: smlald	r2, r3, r5, r8          @ encoding: [0x15,0x28,0x43,0xe7]
1717@ CHECK: smlaldx	r2, r3, r5, r8  @ encoding: [0x35,0x28,0x43,0xe7]
1718@ CHECK: smlaldeq	r2, r3, r5, r8  @ encoding: [0x15,0x28,0x43,0x07]
1719@ CHECK: smlaldxhi	r2, r3, r5, r8  @ encoding: [0x35,0x28,0x43,0x87]
1720
1721
1722@------------------------------------------------------------------------------
1723@ SMLAWB/SMLAWT
1724@------------------------------------------------------------------------------
1725        smlawb r2, r3, r10, r8
1726        smlawt r8, r3, r5, r9
1727        smlawbeq r2, r7, r5, r8
1728        smlawthi r1, r3, r0, r8
1729
1730@ CHECK: smlawb	r2, r3, r10, r8         @ encoding: [0x83,0x8a,0x22,0xe1]
1731@ CHECK: smlawt	r8, r3, r5, r9          @ encoding: [0xc3,0x95,0x28,0xe1]
1732@ CHECK: smlawbeq	r2, r7, r5, r8  @ encoding: [0x87,0x85,0x22,0x01]
1733@ CHECK: smlawthi	r1, r3, r0, r8  @ encoding: [0xc3,0x80,0x21,0x81]
1734
1735
1736@------------------------------------------------------------------------------
1737@ SMLSD/SMLSDX
1738@------------------------------------------------------------------------------
1739        smlsd r2, r3, r5, r8
1740        smlsdx r2, r3, r5, r8
1741        smlsdeq r2, r3, r5, r8
1742        smlsdxhi r2, r3, r5, r8
1743
1744@ CHECK: smlsd	r2, r3, r5, r8          @ encoding: [0x53,0x85,0x02,0xe7]
1745@ CHECK: smlsdx	r2, r3, r5, r8          @ encoding: [0x73,0x85,0x02,0xe7]
1746@ CHECK: smlsdeq	r2, r3, r5, r8  @ encoding: [0x53,0x85,0x02,0x07]
1747@ CHECK: smlsdxhi	r2, r3, r5, r8  @ encoding: [0x73,0x85,0x02,0x87]
1748
1749
1750@------------------------------------------------------------------------------
1751@ SMLSLD/SMLSLDX
1752@------------------------------------------------------------------------------
1753        smlsld r2, r9, r5, r1
1754        smlsldx r4, r11, r2, r8
1755        smlsldeq r8, r2, r5, r6
1756        smlsldxhi r1, r0, r3, r8
1757
1758@ CHECK: smlsld	r2, r9, r5, r1          @ encoding: [0x55,0x21,0x49,0xe7]
1759@ CHECK: smlsldx	r4, r11, r2, r8 @ encoding: [0x72,0x48,0x4b,0xe7]
1760@ CHECK: smlsldeq	r8, r2, r5, r6  @ encoding: [0x55,0x86,0x42,0x07]
1761@ CHECK: smlsldxhi	r1, r0, r3, r8  @ encoding: [0x73,0x18,0x40,0x87]
1762
1763
1764@------------------------------------------------------------------------------
1765@ SMMLA/SMMLAR
1766@------------------------------------------------------------------------------
1767        smmla r1, r2, r3, r4
1768        smmlar r4, r3, r2, r1
1769        smmlalo r1, r2, r3, r4
1770        smmlarcs r4, r3, r2, r1
1771
1772@ CHECK: smmla	r1, r2, r3, r4          @ encoding: [0x12,0x43,0x51,0xe7]
1773@ CHECK: smmlar	r4, r3, r2, r1          @ encoding: [0x33,0x12,0x54,0xe7]
1774@ CHECK: smmlalo	r1, r2, r3, r4  @ encoding: [0x12,0x43,0x51,0x37]
1775@ CHECK: smmlarhs	r4, r3, r2, r1  @ encoding: [0x33,0x12,0x54,0x27]
1776
1777
1778@------------------------------------------------------------------------------
1779@ SMMLS/SMMLSR
1780@------------------------------------------------------------------------------
1781        smmls r1, r2, r3, r4
1782        smmlsr r4, r3, r2, r1
1783        smmlslo r1, r2, r3, r4
1784        smmlsrcs r4, r3, r2, r1
1785
1786@ CHECK: smmls	r1, r2, r3, r4          @ encoding: [0xd2,0x43,0x51,0xe7]
1787@ CHECK: smmlsr	r4, r3, r2, r1          @ encoding: [0xf3,0x12,0x54,0xe7]
1788@ CHECK: smmlslo	r1, r2, r3, r4  @ encoding: [0xd2,0x43,0x51,0x37]
1789@ CHECK: smmlsrhs	r4, r3, r2, r1  @ encoding: [0xf3,0x12,0x54,0x27]
1790
1791
1792@------------------------------------------------------------------------------
1793@ SMMUL/SMMULR
1794@------------------------------------------------------------------------------
1795        smmul r2, r3, r4
1796        smmulr r3, r2, r1
1797        smmulcc r2, r3, r4
1798        smmulrhs r3, r2, r1
1799
1800@ CHECK: smmul	r2, r3, r4              @ encoding: [0x13,0xf4,0x52,0xe7]
1801@ CHECK: smmulr	r3, r2, r1              @ encoding: [0x32,0xf1,0x53,0xe7]
1802@ CHECK: smmullo	r2, r3, r4      @ encoding: [0x13,0xf4,0x52,0x37]
1803@ CHECK: smmulrhs	r3, r2, r1      @ encoding: [0x32,0xf1,0x53,0x27]
1804
1805
1806@------------------------------------------------------------------------------
1807@ SMUAD/SMUADX
1808@------------------------------------------------------------------------------
1809        smuad r2, r3, r4
1810        smuadx r3, r2, r1
1811        smuadlt r2, r3, r4
1812        smuadxge r3, r2, r1
1813
1814@ CHECK: smuad	r2, r3, r4              @ encoding: [0x13,0xf4,0x02,0xe7]
1815@ CHECK: smuadx	r3, r2, r1              @ encoding: [0x32,0xf1,0x03,0xe7]
1816@ CHECK: smuadlt	r2, r3, r4      @ encoding: [0x13,0xf4,0x02,0xb7]
1817@ CHECK: smuadxge	r3, r2, r1      @ encoding: [0x32,0xf1,0x03,0xa7]
1818
1819
1820@------------------------------------------------------------------------------
1821@ SMULBB/SMULBT/SMULTB/SMULTT
1822@------------------------------------------------------------------------------
1823        smulbb r3, r9, r0
1824        smulbt r5, r4, r1
1825        smultb r4, r2, r2
1826        smultt r8, r3, r4
1827        smulbbge r1, r9, r0
1828        smulbtle r5, r6, r4
1829        smultbne r2, r3, r2
1830        smultteq r8, r3, r4
1831
1832@ CHECK: smulbb	r3, r9, r0              @ encoding: [0x89,0x00,0x63,0xe1]
1833@ CHECK: smulbt	r5, r4, r1              @ encoding: [0xc4,0x01,0x65,0xe1]
1834@ CHECK: smultb	r4, r2, r2              @ encoding: [0xa2,0x02,0x64,0xe1]
1835@ CHECK: smultt	r8, r3, r4              @ encoding: [0xe3,0x04,0x68,0xe1]
1836@ CHECK: smulbbge	r1, r9, r0      @ encoding: [0x89,0x00,0x61,0xa1]
1837@ CHECK: smulbtle	r5, r6, r4      @ encoding: [0xc6,0x04,0x65,0xd1]
1838@ CHECK: smultbne	r2, r3, r2      @ encoding: [0xa3,0x02,0x62,0x11]
1839@ CHECK: smultteq	r8, r3, r4      @ encoding: [0xe3,0x04,0x68,0x01]
1840
1841
1842@------------------------------------------------------------------------------
1843@ SMULL
1844@------------------------------------------------------------------------------
1845        smull r3, r9, r0, r1
1846        smulls r3, r9, r0, r2
1847        smulleq r8, r3, r4, r5
1848        smullseq r8, r3, r4, r3
1849
1850@ CHECK: smull	r3, r9, r0, r1          @ encoding: [0x90,0x31,0xc9,0xe0]
1851@ CHECK: smulls	r3, r9, r0, r2          @ encoding: [0x90,0x32,0xd9,0xe0]
1852@ CHECK: smulleq	r8, r3, r4, r5  @ encoding: [0x94,0x85,0xc3,0x00]
1853@ CHECK: smullseq	r8, r3, r4, r3  @ encoding: [0x94,0x83,0xd3,0x00]
1854
1855
1856@------------------------------------------------------------------------------
1857@ SMULWB/SMULWT
1858@------------------------------------------------------------------------------
1859        smulwb r3, r9, r0
1860        smulwt r3, r9, r2
1861
1862@ CHECK: smulwb	r3, r9, r0              @ encoding: [0xa9,0x00,0x23,0xe1]
1863@ CHECK: smulwt	r3, r9, r2              @ encoding: [0xe9,0x02,0x23,0xe1]
1864
1865
1866@------------------------------------------------------------------------------
1867@ SMUSD/SMUSDX
1868@------------------------------------------------------------------------------
1869        smusd r3, r0, r1
1870        smusdx r3, r9, r2
1871        smusdeq r8, r3, r2
1872        smusdxne r7, r4, r3
1873
1874@ CHECK: smusd	r3, r0, r1              @ encoding: [0x50,0xf1,0x03,0xe7]
1875@ CHECK: smusdx	r3, r9, r2              @ encoding: [0x79,0xf2,0x03,0xe7]
1876@ CHECK: smusdeq	r8, r3, r2      @ encoding: [0x53,0xf2,0x08,0x07]
1877@ CHECK: smusdxne	r7, r4, r3      @ encoding: [0x74,0xf3,0x07,0x17]
1878
1879
1880@------------------------------------------------------------------------------
1881@ SRS
1882@------------------------------------------------------------------------------
1883        srsda sp, #5
1884        srsdb sp, #1
1885        srsia sp, #0
1886        srsib sp, #15
1887
1888        srsda sp!, #31
1889        srsdb sp!, #19
1890        srsia sp!, #2
1891        srsib sp!, #14
1892
1893        srsfa sp, #11
1894        srsea sp, #10
1895        srsfd sp, #9
1896        srsed sp, #5
1897
1898        srsfa sp!, #5
1899        srsea sp!, #5
1900        srsfd sp!, #5
1901        srsed sp!, #5
1902
1903        srs sp, #5
1904        srs sp!, #5
1905
1906@ CHECK: srsda	sp, #5                  @ encoding: [0x05,0x05,0x4d,0xf8]
1907@ CHECK: srsdb	sp, #1                  @ encoding: [0x01,0x05,0x4d,0xf9]
1908@ CHECK: srsia	sp, #0                  @ encoding: [0x00,0x05,0xcd,0xf8]
1909@ CHECK: srsib	sp, #15                 @ encoding: [0x0f,0x05,0xcd,0xf9]
1910
1911@ CHECK: srsda	sp!, #31                @ encoding: [0x1f,0x05,0x6d,0xf8]
1912@ CHECK: srsdb	sp!, #19                @ encoding: [0x13,0x05,0x6d,0xf9]
1913@ CHECK: srsia	sp!, #2                 @ encoding: [0x02,0x05,0xed,0xf8]
1914@ CHECK: srsib	sp!, #14                @ encoding: [0x0e,0x05,0xed,0xf9]
1915
1916@ CHECK: srsda	sp, #11                 @ encoding: [0x0b,0x05,0x4d,0xf8]
1917@ CHECK: srsdb	sp, #10                 @ encoding: [0x0a,0x05,0x4d,0xf9]
1918@ CHECK: srsia	sp, #9                  @ encoding: [0x09,0x05,0xcd,0xf8]
1919@ CHECK: srsib	sp, #5                  @ encoding: [0x05,0x05,0xcd,0xf9]
1920
1921@ CHECK: srsda	sp!, #5                 @ encoding: [0x05,0x05,0x6d,0xf8]
1922@ CHECK: srsdb	sp!, #5                 @ encoding: [0x05,0x05,0x6d,0xf9]
1923@ CHECK: srsia	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf8]
1924@ CHECK: srsib	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf9]
1925
1926@ CHECK: srsia	sp, #5                  @ encoding: [0x05,0x05,0xcd,0xf8]
1927@ CHECK: srsia	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf8]
1928
1929
1930@------------------------------------------------------------------------------
1931@ SSAT
1932@------------------------------------------------------------------------------
1933        ssat	r8, #1, r10
1934        ssat	r8, #1, r10, lsl #0
1935        ssat	r8, #1, r10, lsl #31
1936        ssat	r8, #1, r10, asr #32
1937        ssat	r8, #1, r10, asr #1
1938
1939@ CHECK: ssat	r8, #1, r10             @ encoding: [0x1a,0x80,0xa0,0xe6]
1940@ CHECK: ssat	r8, #1, r10             @ encoding: [0x1a,0x80,0xa0,0xe6]
1941@ CHECK: ssat	r8, #1, r10, lsl #31    @ encoding: [0x9a,0x8f,0xa0,0xe6]
1942@ CHECK: ssat	r8, #1, r10, asr #32    @ encoding: [0x5a,0x80,0xa0,0xe6]
1943@ CHECK: ssat	r8, #1, r10, asr #1     @ encoding: [0xda,0x80,0xa0,0xe6]
1944
1945
1946@------------------------------------------------------------------------------
1947@ SSAT16
1948@------------------------------------------------------------------------------
1949        ssat16	r2, #1, r7
1950        ssat16	r3, #16, r5
1951
1952@ CHECK: ssat16	r2, #1, r7              @ encoding: [0x37,0x2f,0xa0,0xe6]
1953@ CHECK: ssat16	r3, #16, r5             @ encoding: [0x35,0x3f,0xaf,0xe6]
1954
1955
1956@------------------------------------------------------------------------------
1957@ SSAX
1958@------------------------------------------------------------------------------
1959        ssax r2, r3, r4
1960        ssaxlt r2, r3, r4
1961
1962@ CHECK: ssax	r2, r3, r4              @ encoding: [0x54,0x2f,0x13,0xe6]
1963@ CHECK: ssaxlt	r2, r3, r4              @ encoding: [0x54,0x2f,0x13,0xb6]
1964
1965@------------------------------------------------------------------------------
1966@ SSUB16/SSUB8
1967@------------------------------------------------------------------------------
1968        ssub16 r1, r0, r6
1969        ssub16ne r5, r3, r2
1970        ssub8 r9, r2, r4
1971        ssub8eq r5, r1, r2
1972
1973@ CHECK: ssub16	r1, r0, r6              @ encoding: [0x76,0x1f,0x10,0xe6]
1974@ CHECK: ssub16ne	r5, r3, r2      @ encoding: [0x72,0x5f,0x13,0x16]
1975@ CHECK: ssub8	r9, r2, r4              @ encoding: [0xf4,0x9f,0x12,0xe6]
1976@ CHECK: ssub8eq	r5, r1, r2      @ encoding: [0xf2,0x5f,0x11,0x06]
1977
1978@------------------------------------------------------------------------------
1979@ STC{L}/STC2{L}
1980@------------------------------------------------------------------------------
1981        stc2 p0, c8, [r1, #4]
1982        stc2 p1, c7, [r2]
1983        stc2 p2, c6, [r3, #-224]
1984        stc2 p3, c5, [r4, #-120]!
1985        stc2 p4, c4, [r5], #16
1986        stc2 p5, c3, [r6], #-72
1987        stc2l p6, c2, [r7, #4]
1988        stc2l p7, c1, [r8]
1989        stc2l p8, c0, [r9, #-224]
1990        stc2l p9, c1, [r10, #-120]!
1991        stc2l p10, c2, [r11], #16
1992        stc2l p11, c3, [r12], #-72
1993
1994        stc p12, c4, [r0, #4]
1995        stc p13, c5, [r1]
1996        stc p14, c6, [r2, #-224]
1997        stc p15, c7, [r3, #-120]!
1998        stc p5, c8, [r4], #16
1999        stc p4, c9, [r5], #-72
2000        stcl p3, c10, [r6, #4]
2001        stcl p2, c11, [r7]
2002        stcl p1, c12, [r8, #-224]
2003        stcl p0, c13, [r9, #-120]!
2004        stcl p6, c14, [r10], #16
2005        stcl p7, c15, [r11], #-72
2006
2007        stclo p12, c4, [r0, #4]
2008        stchi p13, c5, [r1]
2009        stccs p14, c6, [r2, #-224]
2010        stccc p15, c7, [r3, #-120]!
2011        stceq p5, c8, [r4], #16
2012        stcgt p4, c9, [r5], #-72
2013        stcllt p3, c10, [r6, #4]
2014        stclge p2, c11, [r7]
2015        stclle p1, c12, [r8, #-224]
2016        stclne p0, c13, [r9, #-120]!
2017        stcleq p6, c14, [r10], #16
2018        stclhi p7, c15, [r11], #-72
2019
2020        stc2 p2, c8, [r1], { 25 }
2021
2022@ CHECK: stc2	p0, c8, [r1, #4]        @ encoding: [0x01,0x80,0x81,0xfd]
2023@ CHECK: stc2	p1, c7, [r2]            @ encoding: [0x00,0x71,0x82,0xfd]
2024@ CHECK: stc2	p2, c6, [r3, #-224]     @ encoding: [0x38,0x62,0x03,0xfd]
2025@ CHECK: stc2	p3, c5, [r4, #-120]!    @ encoding: [0x1e,0x53,0x24,0xfd]
2026@ CHECK: stc2	p4, c4, [r5], #16       @ encoding: [0x04,0x44,0xa5,0xfc]
2027@ CHECK: stc2	p5, c3, [r6], #-72      @ encoding: [0x12,0x35,0x26,0xfc]
2028@ CHECK: stc2l	p6, c2, [r7, #4]        @ encoding: [0x01,0x26,0xc7,0xfd]
2029@ CHECK: stc2l	p7, c1, [r8]            @ encoding: [0x00,0x17,0xc8,0xfd]
2030@ CHECK: stc2l	p8, c0, [r9, #-224]     @ encoding: [0x38,0x08,0x49,0xfd]
2031@ CHECK: stc2l	p9, c1, [r10, #-120]!   @ encoding: [0x1e,0x19,0x6a,0xfd]
2032@ CHECK: stc2l	p10, c2, [r11], #16     @ encoding: [0x04,0x2a,0xeb,0xfc]
2033@ CHECK: stc2l	p11, c3, [r12], #-72    @ encoding: [0x12,0x3b,0x6c,0xfc]
2034
2035@ CHECK: stc	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x80,0xed]
2036@ CHECK: stc	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x81,0xed]
2037@ CHECK: stc	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x02,0xed]
2038@ CHECK: stc	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x23,0xed]
2039@ CHECK: stc	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xa4,0xec]
2040@ CHECK: stc	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x25,0xec]
2041@ CHECK: stcl	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xc6,0xed]
2042@ CHECK: stcl	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xc7,0xed]
2043@ CHECK: stcl	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x48,0xed]
2044@ CHECK: stcl	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x69,0xed]
2045@ CHECK: stcl	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xea,0xec]
2046@ CHECK: stcl	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x6b,0xec]
2047
2048@ CHECK: stclo	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x80,0x3d]
2049@ CHECK: stchi	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x81,0x8d]
2050@ CHECK: stchs	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x02,0x2d]
2051@ CHECK: stclo	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x23,0x3d]
2052@ CHECK: stceq	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xa4,0x0c]
2053@ CHECK: stcgt	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x25,0xcc]
2054@ CHECK: stcllt	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xc6,0xbd]
2055@ CHECK: stclge	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xc7,0xad]
2056@ CHECK: stclle	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x48,0xdd]
2057@ CHECK: stclne	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x69,0x1d]
2058@ CHECK: stcleq	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xea,0x0c]
2059@ CHECK: stclhi	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x6b,0x8c]
2060
2061@ CHECK: stc2	p2, c8, [r1], {25}      @ encoding: [0x19,0x82,0x81,0xfc]
2062
2063
2064@------------------------------------------------------------------------------
2065@ STM*
2066@------------------------------------------------------------------------------
2067        stm       r2, {r1,r3-r6,sp}
2068        stmia     r3, {r1,r3-r6,lr}
2069        stmib     r4, {r1,r3-r6,sp}
2070        stmda     r5, {r1,r3-r6,sp}
2071        stmdb     r6, {r1,r3-r6,r8}
2072        stmfd     sp, {r1,r3-r6,sp}
2073
2074        @ with update
2075        stm       r8!, {r1,r3-r6,sp}
2076        stmib     r9!, {r1,r3-r6,sp}
2077        stmda     sp!, {r1,r3-r6}
2078        stmdb     r0!, {r1,r5,r7,sp}
2079
2080@ CHECK: stm	r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8]
2081@ CHECK: stm	r3, {lr, r1, r3, r4, r5, r6} @ encoding: [0x7a,0x40,0x83,0xe8]
2082@ CHECK: stmib	r4, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x84,0xe9]
2083@ CHECK: stmda	r5, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x05,0xe8]
2084@ CHECK: stmdb	r6, {r1, r3, r4, r5, r6, r8} @ encoding: [0x7a,0x01,0x06,0xe9]
2085@ CHECK: stmdb	sp, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x0d,0xe9]
2086
2087@ CHECK: stm	r8!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa8,0xe8]
2088@ CHECK: stmib	r9!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa9,0xe9]
2089@ CHECK: stmda	sp!, {r1, r3, r4, r5, r6}     @ encoding: [0x7a,0x00,0x2d,0xe8]
2090@ CHECK: stmdb	r0!, {r1, r5, r7, sp}         @ encoding: [0xa2,0x20,0x20,0xe9]
2091
2092
2093@------------------------------------------------------------------------------
2094@ STREX/STREXB/STREXH/STREXD
2095@------------------------------------------------------------------------------
2096        strexb  r1, r3, [r4]
2097        strexh  r4, r2, [r5]
2098        strex  r2, r1, [r7]
2099        strexd  r6, r2, r3, [r8]
2100
2101@ CHECK: strexb	r1, r3, [r4]            @ encoding: [0x93,0x1f,0xc4,0xe1]
2102@ CHECK: strexh	r4, r2, [r5]            @ encoding: [0x92,0x4f,0xe5,0xe1]
2103@ CHECK: strex	r2, r1, [r7]            @ encoding: [0x91,0x2f,0x87,0xe1]
2104@ CHECK: strexd	r6, r2, r3, [r8]        @ encoding: [0x92,0x6f,0xa8,0xe1]
2105
2106@------------------------------------------------------------------------------
2107@ STR
2108@------------------------------------------------------------------------------
2109        strpl	r3, [r10, #-0]!
2110        strpl	r3, [r10, #0]!
2111
2112@ CHECK: strpl	r3, [r10, #-0]!         @ encoding: [0x00,0x30,0x2a,0x55]
2113@ CHECK: strpl	r3, [r10]!              @ encoding: [0x00,0x30,0xaa,0x55]
2114
2115@------------------------------------------------------------------------------
2116@ SUB
2117@------------------------------------------------------------------------------
2118        sub r4, r5, #0xf000
2119        sub r4, r5, r6
2120        sub r4, r5, r6, lsl #5
2121        sub r4, r5, r6, lsr #5
2122        sub r4, r5, r6, lsr #5
2123        sub r4, r5, r6, asr #5
2124        sub r4, r5, r6, ror #5
2125        sub r6, r7, r8, lsl r9
2126        sub r6, r7, r8, lsr r9
2127        sub r6, r7, r8, asr r9
2128        sub r6, r7, r8, ror r9
2129
2130        @ destination register is optional
2131        sub r5, #0xf000
2132        sub r4, r5
2133        sub r4, r5, lsl #5
2134        sub r4, r5, lsr #5
2135        sub r4, r5, lsr #5
2136        sub r4, r5, asr #5
2137        sub r4, r5, ror #5
2138        sub r6, r7, lsl r9
2139        sub r6, r7, lsr r9
2140        sub r6, r7, asr r9
2141        sub r6, r7, ror r9
2142
2143@ CHECK: sub	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x45,0xe2]
2144@ CHECK: sub	r4, r5, r6              @ encoding: [0x06,0x40,0x45,0xe0]
2145@ CHECK: sub	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x45,0xe0]
2146@ CHECK: sub	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x45,0xe0]
2147@ CHECK: sub	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x45,0xe0]
2148@ CHECK: sub	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x45,0xe0]
2149@ CHECK: sub	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x45,0xe0]
2150@ CHECK: sub	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x47,0xe0]
2151@ CHECK: sub	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x47,0xe0]
2152@ CHECK: sub	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x47,0xe0]
2153@ CHECK: sub	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x47,0xe0]
2154
2155
2156@ CHECK: sub	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x45,0xe2]
2157@ CHECK: sub	r4, r4, r5              @ encoding: [0x05,0x40,0x44,0xe0]
2158@ CHECK: sub	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x44,0xe0]
2159@ CHECK: sub	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x44,0xe0]
2160@ CHECK: sub	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x44,0xe0]
2161@ CHECK: sub	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x44,0xe0]
2162@ CHECK: sub	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x44,0xe0]
2163@ CHECK: sub	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x46,0xe0]
2164@ CHECK: sub	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x46,0xe0]
2165@ CHECK: sub	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x46,0xe0]
2166@ CHECK: sub	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x46,0xe0]
2167
2168
2169@------------------------------------------------------------------------------
2170@ SVC
2171@------------------------------------------------------------------------------
2172        svc #16
2173        svc #0
2174        svc #0xffffff
2175
2176@ CHECK: svc	#16                     @ encoding: [0x10,0x00,0x00,0xef]
2177@ CHECK: svc	#0                      @ encoding: [0x00,0x00,0x00,0xef]
2178@ CHECK: svc	#16777215               @ encoding: [0xff,0xff,0xff,0xef]
2179
2180
2181@------------------------------------------------------------------------------
2182@ SWP/SWPB
2183@------------------------------------------------------------------------------
2184        swp r1, r2, [r3]
2185        swp r4, r4, [r6]
2186        swpb r5, r1, [r9]
2187
2188@ CHECK: swp	r1, r2, [r3]            @ encoding: [0x92,0x10,0x03,0xe1]
2189@ CHECK: swp	r4, r4, [r6]            @ encoding: [0x94,0x40,0x06,0xe1]
2190@ CHECK: swpb	r5, r1, [r9]            @ encoding: [0x91,0x50,0x49,0xe1]
2191
2192
2193@------------------------------------------------------------------------------
2194@ SXTAB
2195@------------------------------------------------------------------------------
2196        sxtab r2, r3, r4
2197        sxtab r4, r5, r6, ror #0
2198        sxtablt r6, r2, r9, ror #8
2199        sxtab r5, r1, r4, ror #16
2200        sxtab r7, r8, r3, ror #24
2201
2202@ CHECK: sxtab	r2, r3, r4              @ encoding: [0x74,0x20,0xa3,0xe6]
2203@ CHECK: sxtab	r4, r5, r6              @ encoding: [0x76,0x40,0xa5,0xe6]
2204@ CHECK: sxtablt r6, r2, r9, ror #8     @ encoding: [0x79,0x64,0xa2,0xb6]
2205@ CHECK: sxtab	r5, r1, r4, ror #16     @ encoding: [0x74,0x58,0xa1,0xe6]
2206@ CHECK: sxtab	r7, r8, r3, ror #24     @ encoding: [0x73,0x7c,0xa8,0xe6]
2207
2208
2209@------------------------------------------------------------------------------
2210@ SXTAB16
2211@------------------------------------------------------------------------------
2212        sxtab16ge r0, r1, r4
2213        sxtab16 r6, r2, r7, ror #0
2214        sxtab16 r3, r5, r8, ror #8
2215        sxtab16 r3, r2, r1, ror #16
2216        sxtab16eq r1, r2, r3, ror #24
2217
2218@ CHECK: sxtab16ge	r0, r1, r4      @ encoding: [0x74,0x00,0x81,0xa6]
2219@ CHECK: sxtab16	r6, r2, r7      @ encoding: [0x77,0x60,0x82,0xe6]
2220@ CHECK: sxtab16 r3, r5, r8, ror #8     @ encoding: [0x78,0x34,0x85,0xe6]
2221@ CHECK: sxtab16 r3, r2, r1, ror #16    @ encoding: [0x71,0x38,0x82,0xe6]
2222@ CHECK: sxtab16eq r1, r2, r3, ror #24  @ encoding: [0x73,0x1c,0x82,0x06]
2223
2224@------------------------------------------------------------------------------
2225@ SXTAH
2226@------------------------------------------------------------------------------
2227        sxtah r1, r3, r9
2228        sxtahhi r6, r1, r6, ror #0
2229        sxtah r3, r8, r3, ror #8
2230        sxtahlo r2, r2, r4, ror #16
2231        sxtah r9, r3, r3, ror #24
2232
2233@ CHECK: sxtah	r1, r3, r9              @ encoding: [0x79,0x10,0xb3,0xe6]
2234@ CHECK: sxtahhi	r6, r1, r6      @ encoding: [0x76,0x60,0xb1,0x86]
2235@ CHECK: sxtah	r3, r8, r3, ror #8      @ encoding: [0x73,0x34,0xb8,0xe6]
2236@ CHECK: sxtahlo r2, r2, r4, ror #16    @ encoding: [0x74,0x28,0xb2,0x36]
2237@ CHECK: sxtah	r9, r3, r3, ror #24     @ encoding: [0x73,0x9c,0xb3,0xe6]
2238
2239@------------------------------------------------------------------------------
2240@ SXTB
2241@------------------------------------------------------------------------------
2242        sxtbge r2, r4
2243        sxtb r5, r6, ror #0
2244        sxtb r6, r9, ror #8
2245        sxtbcc r5, r1, ror #16
2246        sxtb r8, r3, ror #24
2247
2248@ CHECK: sxtbge	r2, r4                  @ encoding: [0x74,0x20,0xaf,0xa6]
2249@ CHECK: sxtb	r5, r6                  @ encoding: [0x76,0x50,0xaf,0xe6]
2250@ CHECK: sxtb	r6, r9, ror #8          @ encoding: [0x79,0x64,0xaf,0xe6]
2251@ CHECK: sxtblo	r5, r1, ror #16         @ encoding: [0x71,0x58,0xaf,0x36]
2252@ CHECK: sxtb	r8, r3, ror #24         @ encoding: [0x73,0x8c,0xaf,0xe6]
2253
2254
2255@------------------------------------------------------------------------------
2256@ SXTB16
2257@------------------------------------------------------------------------------
2258        sxtb16 r1, r4
2259        sxtb16 r6, r7, ror #0
2260        sxtb16cs r3, r5, ror #8
2261        sxtb16 r3, r1, ror #16
2262        sxtb16ge r2, r3, ror #24
2263
2264@ CHECK: sxtb16	r1, r4                  @ encoding: [0x74,0x10,0x8f,0xe6]
2265@ CHECK: sxtb16	r6, r7                  @ encoding: [0x77,0x60,0x8f,0xe6]
2266@ CHECK: sxtb16hs	r3, r5, ror #8  @ encoding: [0x75,0x34,0x8f,0x26]
2267@ CHECK: sxtb16	r3, r1, ror #16         @ encoding: [0x71,0x38,0x8f,0xe6]
2268@ CHECK: sxtb16ge	r2, r3, ror #24 @ encoding: [0x73,0x2c,0x8f,0xa6]
2269
2270
2271@------------------------------------------------------------------------------
2272@ SXTH
2273@------------------------------------------------------------------------------
2274        sxthne r3, r9
2275        sxth r1, r6, ror #0
2276        sxth r3, r8, ror #8
2277        sxthle r2, r2, ror #16
2278        sxth r9, r3, ror #24
2279
2280@ CHECK: sxthne	r3, r9                  @ encoding: [0x79,0x30,0xbf,0x16]
2281@ CHECK: sxth	r1, r6                  @ encoding: [0x76,0x10,0xbf,0xe6]
2282@ CHECK: sxth	r3, r8, ror #8          @ encoding: [0x78,0x34,0xbf,0xe6]
2283@ CHECK: sxthle	r2, r2, ror #16         @ encoding: [0x72,0x28,0xbf,0xd6]
2284@ CHECK: sxth	r9, r3, ror #24         @ encoding: [0x73,0x9c,0xbf,0xe6]
2285
2286
2287@------------------------------------------------------------------------------
2288@ TEQ
2289@------------------------------------------------------------------------------
2290        teq r5, #0xf000
2291        teq r4, r5
2292        teq r4, r5, lsl #5
2293        teq r4, r5, lsr #5
2294        teq r4, r5, lsr #5
2295        teq r4, r5, asr #5
2296        teq r4, r5, ror #5
2297        teq r6, r7, lsl r9
2298        teq r6, r7, lsr r9
2299        teq r6, r7, asr r9
2300        teq r6, r7, ror r9
2301
2302@ CHECK: teq	r5, #61440              @ encoding: [0x0f,0x0a,0x35,0xe3]
2303@ CHECK: teq	r4, r5                  @ encoding: [0x05,0x00,0x34,0xe1]
2304@ CHECK: teq	r4, r5, lsl #5          @ encoding: [0x85,0x02,0x34,0xe1]
2305@ CHECK: teq	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x34,0xe1]
2306@ CHECK: teq	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x34,0xe1]
2307@ CHECK: teq	r4, r5, asr #5          @ encoding: [0xc5,0x02,0x34,0xe1]
2308@ CHECK: teq	r4, r5, ror #5          @ encoding: [0xe5,0x02,0x34,0xe1]
2309@ CHECK: teq	r6, r7, lsl r9          @ encoding: [0x17,0x09,0x36,0xe1]
2310@ CHECK: teq	r6, r7, lsr r9          @ encoding: [0x37,0x09,0x36,0xe1]
2311@ CHECK: teq	r6, r7, asr r9          @ encoding: [0x57,0x09,0x36,0xe1]
2312@ CHECK: teq	r6, r7, ror r9          @ encoding: [0x77,0x09,0x36,0xe1]
2313
2314
2315@------------------------------------------------------------------------------
2316@ TST
2317@------------------------------------------------------------------------------
2318        tst r5, #0xf000
2319        tst r4, r5
2320        tst r4, r5, lsl #5
2321        tst r4, r5, lsr #5
2322        tst r4, r5, lsr #5
2323        tst r4, r5, asr #5
2324        tst r4, r5, ror #5
2325        tst r6, r7, lsl r9
2326        tst r6, r7, lsr r9
2327        tst r6, r7, asr r9
2328        tst r6, r7, ror r9
2329
2330@ CHECK: tst	r5, #61440              @ encoding: [0x0f,0x0a,0x15,0xe3]
2331@ CHECK: tst	r4, r5                  @ encoding: [0x05,0x00,0x14,0xe1]
2332@ CHECK: tst	r4, r5, lsl #5          @ encoding: [0x85,0x02,0x14,0xe1]
2333@ CHECK: tst	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x14,0xe1]
2334@ CHECK: tst	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x14,0xe1]
2335@ CHECK: tst	r4, r5, asr #5          @ encoding: [0xc5,0x02,0x14,0xe1]
2336@ CHECK: tst	r4, r5, ror #5          @ encoding: [0xe5,0x02,0x14,0xe1]
2337@ CHECK: tst	r6, r7, lsl r9          @ encoding: [0x17,0x09,0x16,0xe1]
2338@ CHECK: tst	r6, r7, lsr r9          @ encoding: [0x37,0x09,0x16,0xe1]
2339@ CHECK: tst	r6, r7, asr r9          @ encoding: [0x57,0x09,0x16,0xe1]
2340@ CHECK: tst	r6, r7, ror r9          @ encoding: [0x77,0x09,0x16,0xe1]
2341
2342
2343@------------------------------------------------------------------------------
2344@ UADD16/UADD8
2345@------------------------------------------------------------------------------
2346        uadd16 r1, r2, r3
2347        uadd16gt r1, r2, r3
2348        uadd8 r1, r2, r3
2349        uadd8le r1, r2, r3
2350
2351@ CHECK: uadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x52,0xe6]
2352@ CHECK: uadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x52,0xc6]
2353@ CHECK: uadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x52,0xe6]
2354@ CHECK: uadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x52,0xd6]
2355
2356
2357@------------------------------------------------------------------------------
2358@ UASX
2359@------------------------------------------------------------------------------
2360        uasx r9, r12, r0
2361        uasxeq r9, r12, r0
2362
2363@ CHECK: uasx	r9, r12, r0             @ encoding: [0x30,0x9f,0x5c,0xe6]
2364@ CHECK: uasxeq	r9, r12, r0             @ encoding: [0x30,0x9f,0x5c,0x06]
2365
2366
2367@------------------------------------------------------------------------------
2368@ UBFX
2369@------------------------------------------------------------------------------
2370        ubfx r4, r5, #16, #1
2371        ubfxgt r4, r5, #16, #16
2372
2373@ CHECK: ubfx	r4, r5, #16, #1         @ encoding: [0x55,0x48,0xe0,0xe7]
2374@ CHECK: ubfxgt	r4, r5, #16, #16        @ encoding: [0x55,0x48,0xef,0xc7]
2375
2376
2377@------------------------------------------------------------------------------
2378@ UHADD16/UHADD8
2379@------------------------------------------------------------------------------
2380        uhadd16 r4, r8, r2
2381        uhadd16gt r4, r8, r2
2382        uhadd8 r4, r8, r2
2383        uhadd8gt r4, r8, r2
2384
2385@ CHECK: uhadd16	r4, r8, r2      @ encoding: [0x12,0x4f,0x78,0xe6]
2386@ CHECK: uhadd16gt	r4, r8, r2      @ encoding: [0x12,0x4f,0x78,0xc6]
2387@ CHECK: uhadd8	r4, r8, r2              @ encoding: [0x92,0x4f,0x78,0xe6]
2388@ CHECK: uhadd8gt	r4, r8, r2      @ encoding: [0x92,0x4f,0x78,0xc6]
2389
2390
2391@------------------------------------------------------------------------------
2392@ UHASX
2393@------------------------------------------------------------------------------
2394        uhasx r4, r8, r2
2395        uhasxgt r4, r8, r2
2396
2397@ CHECK: uhasx	r4, r8, r2              @ encoding: [0x32,0x4f,0x78,0xe6]
2398@ CHECK: uhasxgt r4, r8, r2             @ encoding: [0x32,0x4f,0x78,0xc6]
2399
2400
2401@------------------------------------------------------------------------------
2402@ UHSUB16/UHSUB8
2403@------------------------------------------------------------------------------
2404        uhsub16 r4, r8, r2
2405        uhsub16gt r4, r8, r2
2406        uhsub8 r4, r8, r2
2407        uhsub8gt r4, r8, r2
2408
2409@ CHECK: uhsub16	r4, r8, r2      @ encoding: [0x72,0x4f,0x78,0xe6]
2410@ CHECK: uhsub16gt	r4, r8, r2      @ encoding: [0x72,0x4f,0x78,0xc6]
2411@ CHECK: uhsub8	r4, r8, r2              @ encoding: [0xf2,0x4f,0x78,0xe6]
2412@ CHECK: uhsub8gt	r4, r8, r2      @ encoding: [0xf2,0x4f,0x78,0xc6]
2413
2414
2415@------------------------------------------------------------------------------
2416@ UMAAL
2417@------------------------------------------------------------------------------
2418        umaal r3, r4, r5, r6
2419        umaallt r3, r4, r5, r6
2420
2421@ CHECK: umaal	r3, r4, r5, r6          @ encoding: [0x95,0x36,0x44,0xe0]
2422@ CHECK: umaallt	r3, r4, r5, r6  @ encoding: [0x95,0x36,0x44,0xb0]
2423
2424
2425@------------------------------------------------------------------------------
2426@ UMLAL
2427@------------------------------------------------------------------------------
2428        umlal r2, r4, r6, r8
2429        umlalgt r6, r1, r2, r6
2430        umlals r2, r9, r2, r3
2431        umlalseq r3, r5, r1, r2
2432
2433@ CHECK: umlal	r2, r4, r6, r8          @ encoding: [0x96,0x28,0xa4,0xe0]
2434@ CHECK: umlalgt	r6, r1, r2, r6  @ encoding: [0x92,0x66,0xa1,0xc0]
2435@ CHECK: umlals	r2, r9, r2, r3          @ encoding: [0x92,0x23,0xb9,0xe0]
2436@ CHECK: umlalseq	r3, r5, r1, r2  @ encoding: [0x91,0x32,0xb5,0x00]
2437
2438
2439@------------------------------------------------------------------------------
2440@ UMULL
2441@------------------------------------------------------------------------------
2442        umull r2, r4, r6, r8
2443        umullgt r6, r1, r2, r6
2444        umulls r2, r9, r2, r3
2445        umullseq r3, r5, r1, r2
2446
2447@ CHECK: umull	r2, r4, r6, r8          @ encoding: [0x96,0x28,0x84,0xe0]
2448@ CHECK: umullgt	r6, r1, r2, r6  @ encoding: [0x92,0x66,0x81,0xc0]
2449@ CHECK: umulls	r2, r9, r2, r3          @ encoding: [0x92,0x23,0x99,0xe0]
2450@ CHECK: umullseq	r3, r5, r1, r2  @ encoding: [0x91,0x32,0x95,0x00]
2451
2452
2453@------------------------------------------------------------------------------
2454@ UQADD16/UQADD8
2455@------------------------------------------------------------------------------
2456        uqadd16 r1, r2, r3
2457        uqadd16gt r4, r7, r9
2458        uqadd8 r3, r4, r8
2459        uqadd8le r8, r1, r2
2460
2461
2462@ CHECK: uqadd16	r1, r2, r3      @ encoding: [0x13,0x1f,0x62,0xe6]
2463@ CHECK: uqadd16gt	r4, r7, r9      @ encoding: [0x19,0x4f,0x67,0xc6]
2464@ CHECK: uqadd8	r3, r4, r8              @ encoding: [0x98,0x3f,0x64,0xe6]
2465@ CHECK: uqadd8le	r8, r1, r2      @ encoding: [0x92,0x8f,0x61,0xd6]
2466
2467
2468@------------------------------------------------------------------------------
2469@ UQASX
2470@------------------------------------------------------------------------------
2471        uqasx r2, r4, r1
2472        uqasxhi r5, r2, r9
2473
2474@ CHECK: uqasx	r2, r4, r1              @ encoding: [0x31,0x2f,0x64,0xe6]
2475@ CHECK: uqasxhi	r5, r2, r9      @ encoding: [0x39,0x5f,0x62,0x86]
2476
2477
2478@------------------------------------------------------------------------------
2479@ UQSAX
2480@------------------------------------------------------------------------------
2481        uqsax r1, r3, r7
2482        uqsaxal r3, r6, r2
2483
2484@ CHECK: uqsax	r1, r3, r7              @ encoding: [0x57,0x1f,0x63,0xe6]
2485@ CHECK: uqsax	r3, r6, r2              @ encoding: [0x52,0x3f,0x66,0xe6]
2486
2487
2488@------------------------------------------------------------------------------
2489@ UQSUB16/UQSUB8
2490@------------------------------------------------------------------------------
2491        uqsub16 r1, r5, r3
2492        uqsub16gt r3, r2, r5
2493        uqsub8 r2, r1, r4
2494        uqsub8le r4, r6, r9
2495
2496@ CHECK: uqsub16	r1, r5, r3      @ encoding: [0x73,0x1f,0x65,0xe6]
2497@ CHECK: uqsub16gt	r3, r2, r5      @ encoding: [0x75,0x3f,0x62,0xc6]
2498@ CHECK: uqsub8	r2, r1, r4              @ encoding: [0xf4,0x2f,0x61,0xe6]
2499@ CHECK: uqsub8le	r4, r6, r9      @ encoding: [0xf9,0x4f,0x66,0xd6]
2500
2501
2502@------------------------------------------------------------------------------
2503@ USADA8/USAD8
2504@------------------------------------------------------------------------------
2505        usad8 r2, r1, r4
2506        usad8le r4, r6, r9
2507        usada8 r1, r5, r3, r7
2508        usada8gt r3, r2, r5, r1
2509
2510@ CHECK: usad8	r2, r1, r4              @ encoding: [0x11,0xf4,0x82,0xe7]
2511@ CHECK: usad8le	r4, r6, r9      @ encoding: [0x16,0xf9,0x84,0xd7]
2512@ CHECK: usada8	r1, r5, r3, r7          @ encoding: [0x15,0x73,0x81,0xe7]
2513@ CHECK: usada8gt	r3, r2, r5, r1  @ encoding: [0x12,0x15,0x83,0xc7]
2514
2515
2516@------------------------------------------------------------------------------
2517@ USAT
2518@------------------------------------------------------------------------------
2519        usat	r8, #1, r10
2520        usat	r8, #4, r10, lsl #0
2521        usat	r8, #5, r10, lsl #31
2522        usat	r8, #31, r10, asr #32
2523        usat	r8, #16, r10, asr #1
2524
2525@ CHECK: usat	r8, #1, r10             @ encoding: [0x1a,0x80,0xe1,0xe6]
2526@ CHECK: usat	r8, #4, r10             @ encoding: [0x1a,0x80,0xe4,0xe6]
2527@ CHECK: usat	r8, #5, r10, lsl #31    @ encoding: [0x9a,0x8f,0xe5,0xe6]
2528@ CHECK: usat	r8, #31, r10, asr #32   @ encoding: [0x5a,0x80,0xff,0xe6]
2529@ CHECK: usat	r8, #16, r10, asr #1    @ encoding: [0xda,0x80,0xf0,0xe6]
2530
2531
2532@------------------------------------------------------------------------------
2533@ USAT16
2534@------------------------------------------------------------------------------
2535        usat16	r2, #2, r7
2536        usat16	r3, #15, r5
2537
2538@ CHECK: usat16	r2, #2, r7              @ encoding: [0x37,0x2f,0xe2,0xe6]
2539@ CHECK: usat16	r3, #15, r5             @ encoding: [0x35,0x3f,0xef,0xe6]
2540
2541
2542@------------------------------------------------------------------------------
2543@ USAX
2544@------------------------------------------------------------------------------
2545        usax r2, r3, r4
2546        usaxne r2, r3, r4
2547
2548@ CHECK: usax	r2, r3, r4              @ encoding: [0x54,0x2f,0x53,0xe6]
2549@ CHECK: usaxne	r2, r3, r4              @ encoding: [0x54,0x2f,0x53,0x16]
2550
2551@------------------------------------------------------------------------------
2552@ USUB16/USUB8
2553@------------------------------------------------------------------------------
2554        usub16 r4, r2, r7
2555        usub16hi r1, r1, r3
2556        usub8 r1, r8, r5
2557        usub8le r9, r2, r3
2558
2559@ CHECK: usub16	r4, r2, r7              @ encoding: [0x77,0x4f,0x52,0xe6]
2560@ CHECK: usub16hi	r1, r1, r3      @ encoding: [0x73,0x1f,0x51,0x86]
2561@ CHECK: usub8	r1, r8, r5              @ encoding: [0xf5,0x1f,0x58,0xe6]
2562@ CHECK: usub8le	r9, r2, r3      @ encoding: [0xf3,0x9f,0x52,0xd6]
2563
2564
2565@------------------------------------------------------------------------------
2566@ UXTAB
2567@------------------------------------------------------------------------------
2568        uxtab r2, r3, r4
2569        uxtab r4, r5, r6, ror #0
2570        uxtablt r6, r2, r9, ror #8
2571        uxtab r5, r1, r4, ror #16
2572        uxtab r7, r8, r3, ror #24
2573
2574@ CHECK: uxtab	r2, r3, r4              @ encoding: [0x74,0x20,0xe3,0xe6]
2575@ CHECK: uxtab	r4, r5, r6              @ encoding: [0x76,0x40,0xe5,0xe6]
2576@ CHECK: uxtablt r6, r2, r9, ror #8     @ encoding: [0x79,0x64,0xe2,0xb6]
2577@ CHECK: uxtab	r5, r1, r4, ror #16     @ encoding: [0x74,0x58,0xe1,0xe6]
2578@ CHECK: uxtab	r7, r8, r3, ror #24     @ encoding: [0x73,0x7c,0xe8,0xe6]
2579
2580
2581@------------------------------------------------------------------------------
2582@ UXTAB16
2583@------------------------------------------------------------------------------
2584        uxtab16ge r0, r1, r4
2585        uxtab16 r6, r2, r7, ror #0
2586        uxtab16 r3, r5, r8, ror #8
2587        uxtab16 r3, r2, r1, ror #16
2588        uxtab16eq r1, r2, r3, ror #24
2589
2590@ CHECK: uxtab16ge	r0, r1, r4      @ encoding: [0x74,0x00,0xc1,0xa6]
2591@ CHECK: uxtab16	r6, r2, r7      @ encoding: [0x77,0x60,0xc2,0xe6]
2592@ CHECK: uxtab16	r3, r5, r8, ror #8 @ encoding: [0x78,0x34,0xc5,0xe6]
2593@ CHECK: uxtab16	r3, r2, r1, ror #16 @ encoding: [0x71,0x38,0xc2,0xe6]
2594@ CHECK: uxtab16eq	r1, r2, r3, ror #24 @ encoding: [0x73,0x1c,0xc2,0x06]
2595
2596
2597@------------------------------------------------------------------------------
2598@ UXTAH
2599@------------------------------------------------------------------------------
2600        uxtah r1, r3, r9
2601        uxtahhi r6, r1, r6, ror #0
2602        uxtah r3, r8, r3, ror #8
2603        uxtahlo r2, r2, r4, ror #16
2604        uxtah r9, r3, r3, ror #24
2605
2606@ CHECK: uxtah	r1, r3, r9              @ encoding: [0x79,0x10,0xf3,0xe6]
2607@ CHECK: uxtahhi	r6, r1, r6      @ encoding: [0x76,0x60,0xf1,0x86]
2608@ CHECK: uxtah	r3, r8, r3, ror #8      @ encoding: [0x73,0x34,0xf8,0xe6]
2609@ CHECK: uxtahlo	r2, r2, r4, ror #16 @ encoding: [0x74,0x28,0xf2,0x36]
2610@ CHECK: uxtah	r9, r3, r3, ror #24     @ encoding: [0x73,0x9c,0xf3,0xe6]
2611
2612@------------------------------------------------------------------------------
2613@ UXTB
2614@------------------------------------------------------------------------------
2615        uxtbge r2, r4
2616        uxtb r5, r6, ror #0
2617        uxtb r6, r9, ror #8
2618        uxtbcc r5, r1, ror #16
2619        uxtb r8, r3, ror #24
2620
2621@ CHECK: uxtbge	r2, r4                  @ encoding: [0x74,0x20,0xef,0xa6]
2622@ CHECK: uxtb	r5, r6                  @ encoding: [0x76,0x50,0xef,0xe6]
2623@ CHECK: uxtb	r6, r9, ror #8          @ encoding: [0x79,0x64,0xef,0xe6]
2624@ CHECK: uxtblo	r5, r1, ror #16         @ encoding: [0x71,0x58,0xef,0x36]
2625@ CHECK: uxtb	r8, r3, ror #24         @ encoding: [0x73,0x8c,0xef,0xe6]
2626
2627
2628@------------------------------------------------------------------------------
2629@ UXTB16
2630@------------------------------------------------------------------------------
2631        uxtb16 r1, r4
2632        uxtb16 r6, r7, ror #0
2633        uxtb16cs r3, r5, ror #8
2634        uxtb16 r3, r1, ror #16
2635        uxtb16ge r2, r3, ror #24
2636
2637@ CHECK: uxtb16	r1, r4                  @ encoding: [0x74,0x10,0xcf,0xe6]
2638@ CHECK: uxtb16	r6, r7                  @ encoding: [0x77,0x60,0xcf,0xe6]
2639@ CHECK: uxtb16hs	r3, r5, ror #8  @ encoding: [0x75,0x34,0xcf,0x26]
2640@ CHECK: uxtb16	r3, r1, ror #16         @ encoding: [0x71,0x38,0xcf,0xe6]
2641@ CHECK: uxtb16ge	r2, r3, ror #24 @ encoding: [0x73,0x2c,0xcf,0xa6]
2642
2643
2644@------------------------------------------------------------------------------
2645@ UXTH
2646@------------------------------------------------------------------------------
2647        uxthne r3, r9
2648        uxth r1, r6, ror #0
2649        uxth r3, r8, ror #8
2650        uxthle r2, r2, ror #16
2651        uxth r9, r3, ror #24
2652
2653@ CHECK: uxthne	r3, r9                  @ encoding: [0x79,0x30,0xff,0x16]
2654@ CHECK: uxth	r1, r6                  @ encoding: [0x76,0x10,0xff,0xe6]
2655@ CHECK: uxth	r3, r8, ror #8          @ encoding: [0x78,0x34,0xff,0xe6]
2656@ CHECK: uxthle	r2, r2, ror #16         @ encoding: [0x72,0x28,0xff,0xd6]
2657@ CHECK: uxth	r9, r3, ror #24         @ encoding: [0x73,0x9c,0xff,0xe6]
2658
2659
2660@------------------------------------------------------------------------------
2661@ WFE/WFI/YIELD
2662@------------------------------------------------------------------------------
2663        wfe
2664        wfehi
2665        wfi
2666        wfilt
2667        yield
2668        yieldne
2669
2670@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3]
2671@ CHECK: wfehi @ encoding: [0x02,0xf0,0x20,0x83]
2672@ CHECK: wfi @ encoding: [0x03,0xf0,0x20,0xe3]
2673@ CHECK: wfilt @ encoding: [0x03,0xf0,0x20,0xb3]
2674@ CHECK: yield @ encoding: [0x01,0xf0,0x20,0xe3]
2675@ CHECK: yieldne @ encoding: [0x01,0xf0,0x20,0x13]
2676