xref: /aosp_15_r20/external/llvm/test/MC/AArch64/arm64-aliases.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-mc -triple arm64-apple-darwin -mattr=neon -output-asm-variant=1 -show-encoding -print-imm-hex < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerfoo:
4*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
5*9880d681SAndroid Build Coastguard Worker; ADD #0 to/from SP/WSP is a MOV
6*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
7*9880d681SAndroid Build Coastguard Worker  add x1, sp, #0
8*9880d681SAndroid Build Coastguard Worker; CHECK: mov x1, sp
9*9880d681SAndroid Build Coastguard Worker  add sp, x2, #0
10*9880d681SAndroid Build Coastguard Worker; CHECK: mov sp, x2
11*9880d681SAndroid Build Coastguard Worker  add w3, wsp, #0
12*9880d681SAndroid Build Coastguard Worker; CHECK: mov w3, wsp
13*9880d681SAndroid Build Coastguard Worker  add wsp, w4, #0
14*9880d681SAndroid Build Coastguard Worker; CHECK: mov wsp, w4
15*9880d681SAndroid Build Coastguard Worker  mov x5, sp
16*9880d681SAndroid Build Coastguard Worker; CHECK: mov x5, sp
17*9880d681SAndroid Build Coastguard Worker  mov sp, x6
18*9880d681SAndroid Build Coastguard Worker; CHECK: mov sp, x6
19*9880d681SAndroid Build Coastguard Worker  mov w7, wsp
20*9880d681SAndroid Build Coastguard Worker; CHECK: mov w7, wsp
21*9880d681SAndroid Build Coastguard Worker  mov wsp, w8
22*9880d681SAndroid Build Coastguard Worker; CHECK: mov wsp, w8
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
25*9880d681SAndroid Build Coastguard Worker; ORR Rd, Rn, Rn is a MOV
26*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
27*9880d681SAndroid Build Coastguard Worker  orr x2, xzr, x9
28*9880d681SAndroid Build Coastguard Worker; CHECK: mov x2, x9
29*9880d681SAndroid Build Coastguard Worker  orr w2, wzr, w9
30*9880d681SAndroid Build Coastguard Worker; CHECK: mov w2, w9
31*9880d681SAndroid Build Coastguard Worker  mov x3, x4
32*9880d681SAndroid Build Coastguard Worker; CHECK: mov x3, x4
33*9880d681SAndroid Build Coastguard Worker  mov w5, w6
34*9880d681SAndroid Build Coastguard Worker; CHECK: mov w5, w6
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
37*9880d681SAndroid Build Coastguard Worker; TST Xn, #<imm>
38*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
39*9880d681SAndroid Build Coastguard Worker        tst w1, #3
40*9880d681SAndroid Build Coastguard Worker        tst x1, #3
41*9880d681SAndroid Build Coastguard Worker        tst w1, w2
42*9880d681SAndroid Build Coastguard Worker        tst x1, x2
43*9880d681SAndroid Build Coastguard Worker        ands wzr, w1, w2, lsl #2
44*9880d681SAndroid Build Coastguard Worker        ands xzr, x1, x2, lsl #3
45*9880d681SAndroid Build Coastguard Worker        tst w3, w7, lsl #31
46*9880d681SAndroid Build Coastguard Worker        tst x2, x20, asr #0
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker; CHECK: tst	w1, #0x3                ; encoding: [0x3f,0x04,0x00,0x72]
49*9880d681SAndroid Build Coastguard Worker; CHECK: tst	x1, #0x3                ; encoding: [0x3f,0x04,0x40,0xf2]
50*9880d681SAndroid Build Coastguard Worker; CHECK: tst	w1, w2                  ; encoding: [0x3f,0x00,0x02,0x6a]
51*9880d681SAndroid Build Coastguard Worker; CHECK: tst	x1, x2                  ; encoding: [0x3f,0x00,0x02,0xea]
52*9880d681SAndroid Build Coastguard Worker; CHECK: tst	w1, w2, lsl #2          ; encoding: [0x3f,0x08,0x02,0x6a]
53*9880d681SAndroid Build Coastguard Worker; CHECK: tst	x1, x2, lsl #3          ; encoding: [0x3f,0x0c,0x02,0xea]
54*9880d681SAndroid Build Coastguard Worker; CHECK: tst	w3, w7, lsl #31         ; encoding: [0x7f,0x7c,0x07,0x6a]
55*9880d681SAndroid Build Coastguard Worker; CHECK: tst	x2, x20, asr #0         ; encoding: [0x5f,0x00,0x94,0xea]
56*9880d681SAndroid Build Coastguard Worker
57*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
58*9880d681SAndroid Build Coastguard Worker; ADDS to WZR/XZR is a CMN
59*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
60*9880d681SAndroid Build Coastguard Worker  cmn w1, #3, lsl #0
61*9880d681SAndroid Build Coastguard Worker  cmn x2, #4194304
62*9880d681SAndroid Build Coastguard Worker  cmn w4, w5
63*9880d681SAndroid Build Coastguard Worker  cmn x6, x7
64*9880d681SAndroid Build Coastguard Worker  cmn w8, w9, asr #3
65*9880d681SAndroid Build Coastguard Worker  cmn x2, x3, lsr #4
66*9880d681SAndroid Build Coastguard Worker  cmn x2, w3, uxtb #1
67*9880d681SAndroid Build Coastguard Worker  cmn x4, x5, uxtx #1
68*9880d681SAndroid Build Coastguard Worker
69*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	w1, #0x3                  ; encoding: [0x3f,0x0c,0x00,0x31]
70*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	x2, #0x400, lsl #12      ; encoding: [0x5f,0x00,0x50,0xb1]
71*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	w4, w5                  ; encoding: [0x9f,0x00,0x05,0x2b]
72*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	x6, x7                  ; encoding: [0xdf,0x00,0x07,0xab]
73*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	w8, w9, asr #3          ; encoding: [0x1f,0x0d,0x89,0x2b]
74*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	x2, x3, lsr #4          ; encoding: [0x5f,0x10,0x43,0xab]
75*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	x2, w3, uxtb #1         ; encoding: [0x5f,0x04,0x23,0xab]
76*9880d681SAndroid Build Coastguard Worker; CHECK: cmn	x4, x5, uxtx #1         ; encoding: [0x9f,0x64,0x25,0xab]
77*9880d681SAndroid Build Coastguard Worker
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
80*9880d681SAndroid Build Coastguard Worker; SUBS to WZR/XZR is a CMP
81*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
82*9880d681SAndroid Build Coastguard Worker  cmp w1, #1024, lsl #12
83*9880d681SAndroid Build Coastguard Worker  cmp x2, #1024
84*9880d681SAndroid Build Coastguard Worker  cmp w4, w5
85*9880d681SAndroid Build Coastguard Worker  cmp x6, x7
86*9880d681SAndroid Build Coastguard Worker  cmp w8, w9, asr #3
87*9880d681SAndroid Build Coastguard Worker  cmp x2, x3, lsr #4
88*9880d681SAndroid Build Coastguard Worker  cmp x2, w3, uxth #2
89*9880d681SAndroid Build Coastguard Worker  cmp x4, x5, uxtx
90*9880d681SAndroid Build Coastguard Worker  cmp wzr, w1
91*9880d681SAndroid Build Coastguard Worker  cmp x8, w8, uxtw
92*9880d681SAndroid Build Coastguard Worker  cmp w9, w8, uxtw
93*9880d681SAndroid Build Coastguard Worker  cmp wsp, w9, lsl #0
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	w1, #0x400, lsl #12      ; encoding: [0x3f,0x00,0x50,0x71]
96*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	x2, #0x400               ; encoding: [0x5f,0x00,0x10,0xf1]
97*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	w4, w5                  ; encoding: [0x9f,0x00,0x05,0x6b]
98*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	x6, x7                  ; encoding: [0xdf,0x00,0x07,0xeb]
99*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	w8, w9, asr #3          ; encoding: [0x1f,0x0d,0x89,0x6b]
100*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	x2, x3, lsr #4          ; encoding: [0x5f,0x10,0x43,0xeb]
101*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	x2, w3, uxth #2         ; encoding: [0x5f,0x28,0x23,0xeb]
102*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	x4, x5, uxtx            ; encoding: [0x9f,0x60,0x25,0xeb]
103*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	wzr, w1                 ; encoding: [0xff,0x03,0x01,0x6b]
104*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	x8, w8, uxtw            ; encoding: [0x1f,0x41,0x28,0xeb]
105*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	w9, w8, uxtw            ; encoding: [0x3f,0x41,0x28,0x6b]
106*9880d681SAndroid Build Coastguard Worker; CHECK: cmp	wsp, w9                 ; encoding: [0xff,0x43,0x29,0x6b]
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
110*9880d681SAndroid Build Coastguard Worker; SUB/SUBS from WZR/XZR is a NEG
111*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker  neg w0, w1
114*9880d681SAndroid Build Coastguard Worker; CHECK: neg w0, w1
115*9880d681SAndroid Build Coastguard Worker  neg w0, w1, lsl #1
116*9880d681SAndroid Build Coastguard Worker; CHECK: neg w0, w1, lsl #1
117*9880d681SAndroid Build Coastguard Worker  neg x0, x1
118*9880d681SAndroid Build Coastguard Worker; CHECK: neg x0, x1
119*9880d681SAndroid Build Coastguard Worker  neg x0, x1, asr #1
120*9880d681SAndroid Build Coastguard Worker; CHECK: neg x0, x1, asr #1
121*9880d681SAndroid Build Coastguard Worker  negs w0, w1
122*9880d681SAndroid Build Coastguard Worker; CHECK: negs w0, w1
123*9880d681SAndroid Build Coastguard Worker  negs w0, w1, lsl #1
124*9880d681SAndroid Build Coastguard Worker; CHECK: negs w0, w1, lsl #1
125*9880d681SAndroid Build Coastguard Worker  negs x0, x1
126*9880d681SAndroid Build Coastguard Worker; CHECK: negs x0, x1
127*9880d681SAndroid Build Coastguard Worker  negs x0, x1, asr #1
128*9880d681SAndroid Build Coastguard Worker; CHECK: negs x0, x1, asr #1
129*9880d681SAndroid Build Coastguard Worker
130*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
131*9880d681SAndroid Build Coastguard Worker; MOV aliases
132*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
133*9880d681SAndroid Build Coastguard Worker
134*9880d681SAndroid Build Coastguard Worker  mov x0, #281470681743360
135*9880d681SAndroid Build Coastguard Worker  mov x0, #18446744073709486080
136*9880d681SAndroid Build Coastguard Worker
137*9880d681SAndroid Build Coastguard Worker; CHECK: mov x0, #0xffff00000000
138*9880d681SAndroid Build Coastguard Worker; CHECK: mov x0, #-0x10000
139*9880d681SAndroid Build Coastguard Worker
140*9880d681SAndroid Build Coastguard Worker  mov w0, #0xffffffff
141*9880d681SAndroid Build Coastguard Worker  mov w0, #0xffffff00
142*9880d681SAndroid Build Coastguard Worker  mov wzr, #0xffffffff
143*9880d681SAndroid Build Coastguard Worker  mov wzr, #0xffffff00
144*9880d681SAndroid Build Coastguard Worker
145*9880d681SAndroid Build Coastguard Worker; CHECK: mov   w0, #-0x1
146*9880d681SAndroid Build Coastguard Worker; CHECK: mov   w0, #-0x100
147*9880d681SAndroid Build Coastguard Worker; CHECK: mov   wzr, #-0x1
148*9880d681SAndroid Build Coastguard Worker; CHECK: mov   wzr, #-0x100
149*9880d681SAndroid Build Coastguard Worker
150*9880d681SAndroid Build Coastguard Worker  ; 0 can be encoded by MOVZ in multiple ways, only "lsl #0" is a MOV alias.
151*9880d681SAndroid Build Coastguard Worker  movz x0, #0
152*9880d681SAndroid Build Coastguard Worker  movz x0, #0, lsl #16
153*9880d681SAndroid Build Coastguard Worker  movz x0, #0, lsl #32
154*9880d681SAndroid Build Coastguard Worker  movz x0, #0, lsl #48
155*9880d681SAndroid Build Coastguard Worker  movz w0, #0
156*9880d681SAndroid Build Coastguard Worker  movz w0, #0, lsl #16
157*9880d681SAndroid Build Coastguard Worker; CHECK: mov x0, #0x0
158*9880d681SAndroid Build Coastguard Worker; CHECK: movz x0, #0x0, lsl #16
159*9880d681SAndroid Build Coastguard Worker; CHECK: movz x0, #0x0, lsl #32
160*9880d681SAndroid Build Coastguard Worker; CHECK: movz x0, #0x0, lsl #48
161*9880d681SAndroid Build Coastguard Worker; CHECK: mov w0, #0x0
162*9880d681SAndroid Build Coastguard Worker; CHECK: movz w0, #0x0, lsl #16
163*9880d681SAndroid Build Coastguard Worker
164*9880d681SAndroid Build Coastguard Worker  ; Similarly to MOVZ, -1 can be encoded in multiple ways, only one of which is
165*9880d681SAndroid Build Coastguard Worker  ; "MOV".
166*9880d681SAndroid Build Coastguard Worker  movn x0, #0
167*9880d681SAndroid Build Coastguard Worker  movn x0, #0, lsl #16
168*9880d681SAndroid Build Coastguard Worker  movn x0, #0, lsl #32
169*9880d681SAndroid Build Coastguard Worker  movn x0, #0, lsl #48
170*9880d681SAndroid Build Coastguard Worker  movn w0, #0
171*9880d681SAndroid Build Coastguard Worker  movn w0, #0, lsl #16
172*9880d681SAndroid Build Coastguard Worker; CHECK: mov x0, #-0x1
173*9880d681SAndroid Build Coastguard Worker; CHECK: movn x0, #0x0, lsl #16
174*9880d681SAndroid Build Coastguard Worker; CHECK: movn x0, #0x0, lsl #32
175*9880d681SAndroid Build Coastguard Worker; CHECK: movn x0, #0x0, lsl #48
176*9880d681SAndroid Build Coastguard Worker; CHECK: mov w0, #-0x1
177*9880d681SAndroid Build Coastguard Worker; CHECK: movn w0, #0x0, lsl #16
178*9880d681SAndroid Build Coastguard Worker
179*9880d681SAndroid Build Coastguard Worker  ; Two 32-bit immediates are encodable by both MOVN and MOVZ, make sure the MOV
180*9880d681SAndroid Build Coastguard Worker  ; corresponds to the MOVZ version.
181*9880d681SAndroid Build Coastguard Worker  movz w0, #0xffff
182*9880d681SAndroid Build Coastguard Worker  movz w0, #0xffff, lsl #16
183*9880d681SAndroid Build Coastguard Worker  movn w0, #0xffff
184*9880d681SAndroid Build Coastguard Worker  movn w0, #0xffff, lsl #16
185*9880d681SAndroid Build Coastguard Worker; CHECK: mov w0, #0xffff
186*9880d681SAndroid Build Coastguard Worker; CHECK: mov w0, #-0x10000
187*9880d681SAndroid Build Coastguard Worker; CHECK: movn w0, #0xffff
188*9880d681SAndroid Build Coastguard Worker; CHECK: movn w0, #0xffff, lsl #16
189*9880d681SAndroid Build Coastguard Worker
190*9880d681SAndroid Build Coastguard Worker  orr x20, xzr, #0xaaaaaaaaaaaaaaaa
191*9880d681SAndroid Build Coastguard Worker  orr w15, wzr, #0xaaaaaaaa
192*9880d681SAndroid Build Coastguard Worker; CHECK: mov x20, #-0x5555555555555556
193*9880d681SAndroid Build Coastguard Worker; CHECK: mov w15, #-0x55555556
194*9880d681SAndroid Build Coastguard Worker
195*9880d681SAndroid Build Coastguard Worker  ; ORR is mostly repeating bit sequences and cannot encode -1, so it only
196*9880d681SAndroid Build Coastguard Worker  ; overlaps with MOVZ or MOVN if the repeat-width is the whole register. In
197*9880d681SAndroid Build Coastguard Worker  ; both cases MOVZ/MOVN are preferred.
198*9880d681SAndroid Build Coastguard Worker  orr x3, xzr, #0x1
199*9880d681SAndroid Build Coastguard Worker  orr w3, wzr, #0x1
200*9880d681SAndroid Build Coastguard Worker  orr x3, xzr, #0x10000
201*9880d681SAndroid Build Coastguard Worker  orr w3, wzr, #0x10000
202*9880d681SAndroid Build Coastguard Worker  orr x3, xzr, #0x700000000
203*9880d681SAndroid Build Coastguard Worker  orr x3, xzr, #0x3000000000000
204*9880d681SAndroid Build Coastguard Worker; CHECK: orr x3, xzr, #0x1
205*9880d681SAndroid Build Coastguard Worker; CHECK: orr w3, wzr, #0x1
206*9880d681SAndroid Build Coastguard Worker; CHECK: orr x3, xzr, #0x10000
207*9880d681SAndroid Build Coastguard Worker; CHECK: orr w3, wzr, #0x10000
208*9880d681SAndroid Build Coastguard Worker; CHECK: orr x3, xzr, #0x700000000
209*9880d681SAndroid Build Coastguard Worker; CHECK: orr x3, xzr, #0x3000000000000
210*9880d681SAndroid Build Coastguard Worker
211*9880d681SAndroid Build Coastguard Worker
212*9880d681SAndroid Build Coastguard Worker  orr x5, xzr, #0xfffffffffffffff0
213*9880d681SAndroid Build Coastguard Worker  orr w2, wzr, #0xfffffffe
214*9880d681SAndroid Build Coastguard Worker  orr x5, xzr, #0xfffffffffcffffff
215*9880d681SAndroid Build Coastguard Worker  orr w2, wzr, #0xf0ffffff
216*9880d681SAndroid Build Coastguard Worker  orr x5, xzr, #0xffffff00ffffffff
217*9880d681SAndroid Build Coastguard Worker  orr x5, xzr, #0x8000ffffffffffff
218*9880d681SAndroid Build Coastguard Worker; CHECK: orr x5, xzr, #0xfffffffffffffff0
219*9880d681SAndroid Build Coastguard Worker; CHECK: orr w2, wzr, #0xfffffffe
220*9880d681SAndroid Build Coastguard Worker; CHECK: orr x5, xzr, #0x8000ffffffffffff
221*9880d681SAndroid Build Coastguard Worker
222*9880d681SAndroid Build Coastguard Worker  ; 0xffff is interesting because there are exceptions in the MOVN rules for
223*9880d681SAndroid Build Coastguard Worker  ; it. Make sure we don't accidentally fall down any of those holes.
224*9880d681SAndroid Build Coastguard Worker  orr w3, wzr, #0xffff0000
225*9880d681SAndroid Build Coastguard Worker  orr w3, wzr, #0xffff
226*9880d681SAndroid Build Coastguard Worker  orr x3, xzr, #0xffff000000000000
227*9880d681SAndroid Build Coastguard Worker  orr x5, xzr, #0x0000ffffffffffff
228*9880d681SAndroid Build Coastguard Worker; CHECK: orr w3, wzr, #0xffff0000
229*9880d681SAndroid Build Coastguard Worker; CHECK: orr w3, wzr, #0xffff
230*9880d681SAndroid Build Coastguard Worker; CHECK: orr x3, xzr, #0xffff000000000000
231*9880d681SAndroid Build Coastguard Worker; CHECK: orr x5, xzr, #0xffffffffffff
232*9880d681SAndroid Build Coastguard Worker
233*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
234*9880d681SAndroid Build Coastguard Worker; MVN aliases
235*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
236*9880d681SAndroid Build Coastguard Worker
237*9880d681SAndroid Build Coastguard Worker        mvn w4, w9
238*9880d681SAndroid Build Coastguard Worker        mvn x2, x3
239*9880d681SAndroid Build Coastguard Worker        orn w4, wzr, w9
240*9880d681SAndroid Build Coastguard Worker
241*9880d681SAndroid Build Coastguard Worker; CHECK: mvn	w4, w9             ; encoding: [0xe4,0x03,0x29,0x2a]
242*9880d681SAndroid Build Coastguard Worker; CHECK: mvn	x2, x3             ; encoding: [0xe2,0x03,0x23,0xaa]
243*9880d681SAndroid Build Coastguard Worker; CHECK: mvn	w4, w9             ; encoding: [0xe4,0x03,0x29,0x2a]
244*9880d681SAndroid Build Coastguard Worker
245*9880d681SAndroid Build Coastguard Worker        mvn w4, w9, lsl #1
246*9880d681SAndroid Build Coastguard Worker        mvn x2, x3, lsl #1
247*9880d681SAndroid Build Coastguard Worker        orn w4, wzr, w9, lsl #1
248*9880d681SAndroid Build Coastguard Worker
249*9880d681SAndroid Build Coastguard Worker; CHECK: mvn	w4, w9, lsl #1     ; encoding: [0xe4,0x07,0x29,0x2a]
250*9880d681SAndroid Build Coastguard Worker; CHECK: mvn	x2, x3, lsl #1     ; encoding: [0xe2,0x07,0x23,0xaa]
251*9880d681SAndroid Build Coastguard Worker; CHECK: mvn	w4, w9, lsl #1     ; encoding: [0xe4,0x07,0x29,0x2a]
252*9880d681SAndroid Build Coastguard Worker
253*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
254*9880d681SAndroid Build Coastguard Worker; Bitfield aliases
255*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
256*9880d681SAndroid Build Coastguard Worker
257*9880d681SAndroid Build Coastguard Worker  bfi   w0, w0, #1, #4
258*9880d681SAndroid Build Coastguard Worker  bfi   x0, x0, #1, #4
259*9880d681SAndroid Build Coastguard Worker  bfi   w0, w0, #0, #2
260*9880d681SAndroid Build Coastguard Worker  bfi   x0, x0, #0, #2
261*9880d681SAndroid Build Coastguard Worker  bfxil w0, w0, #2, #3
262*9880d681SAndroid Build Coastguard Worker  bfxil x0, x0, #2, #3
263*9880d681SAndroid Build Coastguard Worker  sbfiz w0, w0, #1, #4
264*9880d681SAndroid Build Coastguard Worker  sbfiz x0, x0, #1, #4
265*9880d681SAndroid Build Coastguard Worker  sbfx  w0, w0, #2, #3
266*9880d681SAndroid Build Coastguard Worker  sbfx  x0, x0, #2, #3
267*9880d681SAndroid Build Coastguard Worker  ubfiz w0, w0, #1, #4
268*9880d681SAndroid Build Coastguard Worker  ubfiz x0, x0, #1, #4
269*9880d681SAndroid Build Coastguard Worker  ubfx  w0, w0, #2, #3
270*9880d681SAndroid Build Coastguard Worker  ubfx  x0, x0, #2, #3
271*9880d681SAndroid Build Coastguard Worker
272*9880d681SAndroid Build Coastguard Worker; CHECK: bfi   w0, w0, #1, #4
273*9880d681SAndroid Build Coastguard Worker; CHECK: bfi   x0, x0, #1, #4
274*9880d681SAndroid Build Coastguard Worker; CHECK: bfxil w0, w0, #0, #2
275*9880d681SAndroid Build Coastguard Worker; CHECK: bfxil x0, x0, #0, #2
276*9880d681SAndroid Build Coastguard Worker; CHECK: bfxil w0, w0, #2, #3
277*9880d681SAndroid Build Coastguard Worker; CHECK: bfxil x0, x0, #2, #3
278*9880d681SAndroid Build Coastguard Worker; CHECK: sbfiz w0, w0, #1, #4
279*9880d681SAndroid Build Coastguard Worker; CHECK: sbfiz x0, x0, #1, #4
280*9880d681SAndroid Build Coastguard Worker; CHECK: sbfx  w0, w0, #2, #3
281*9880d681SAndroid Build Coastguard Worker; CHECK: sbfx  x0, x0, #2, #3
282*9880d681SAndroid Build Coastguard Worker; CHECK: ubfiz w0, w0, #1, #4
283*9880d681SAndroid Build Coastguard Worker; CHECK: ubfiz x0, x0, #1, #4
284*9880d681SAndroid Build Coastguard Worker; CHECK: ubfx  w0, w0, #2, #3
285*9880d681SAndroid Build Coastguard Worker; CHECK: ubfx  x0, x0, #2, #3
286*9880d681SAndroid Build Coastguard Worker
287*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
288*9880d681SAndroid Build Coastguard Worker; Shift (immediate) aliases
289*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
290*9880d681SAndroid Build Coastguard Worker
291*9880d681SAndroid Build Coastguard Worker; CHECK: asr w1, w3, #13
292*9880d681SAndroid Build Coastguard Worker; CHECK: asr x1, x3, #13
293*9880d681SAndroid Build Coastguard Worker; CHECK: lsl w0, w0, #1
294*9880d681SAndroid Build Coastguard Worker; CHECK: lsl x0, x0, #1
295*9880d681SAndroid Build Coastguard Worker; CHECK: lsr w0, w0, #4
296*9880d681SAndroid Build Coastguard Worker; CHECK: lsr x0, x0, #4
297*9880d681SAndroid Build Coastguard Worker
298*9880d681SAndroid Build Coastguard Worker   sbfm w1, w3, #13, #31
299*9880d681SAndroid Build Coastguard Worker   sbfm x1, x3, #13, #63
300*9880d681SAndroid Build Coastguard Worker   ubfm w0, w0, #31, #30
301*9880d681SAndroid Build Coastguard Worker   ubfm x0, x0, #63, #62
302*9880d681SAndroid Build Coastguard Worker   ubfm w0, w0, #4, #31
303*9880d681SAndroid Build Coastguard Worker   ubfm x0, x0, #4, #63
304*9880d681SAndroid Build Coastguard Worker; CHECK: ror w1, w3, #0x5
305*9880d681SAndroid Build Coastguard Worker; CHECK: ror x1, x3, #0x5
306*9880d681SAndroid Build Coastguard Worker   ror w1, w3, #5
307*9880d681SAndroid Build Coastguard Worker   ror x1, x3, #5
308*9880d681SAndroid Build Coastguard Worker; CHECK: lsl w1, wzr, #3
309*9880d681SAndroid Build Coastguard Worker   lsl w1, wzr, #3
310*9880d681SAndroid Build Coastguard Worker
311*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
312*9880d681SAndroid Build Coastguard Worker; Sign/Zero extend aliases
313*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
314*9880d681SAndroid Build Coastguard Worker
315*9880d681SAndroid Build Coastguard Worker  sxtb  w1, w2
316*9880d681SAndroid Build Coastguard Worker  sxth  w1, w2
317*9880d681SAndroid Build Coastguard Worker  uxtb  w1, w2
318*9880d681SAndroid Build Coastguard Worker  uxth  w1, w2
319*9880d681SAndroid Build Coastguard Worker
320*9880d681SAndroid Build Coastguard Worker; CHECK: sxtb w1, w2
321*9880d681SAndroid Build Coastguard Worker; CHECK: sxth w1, w2
322*9880d681SAndroid Build Coastguard Worker; CHECK: uxtb w1, w2
323*9880d681SAndroid Build Coastguard Worker; CHECK: uxth w1, w2
324*9880d681SAndroid Build Coastguard Worker
325*9880d681SAndroid Build Coastguard Worker  sxtb  x1, w2
326*9880d681SAndroid Build Coastguard Worker  sxth  x1, w2
327*9880d681SAndroid Build Coastguard Worker  sxtw  x1, w2
328*9880d681SAndroid Build Coastguard Worker  uxtb  x1, w2
329*9880d681SAndroid Build Coastguard Worker  uxth  x1, w2
330*9880d681SAndroid Build Coastguard Worker  uxtw  x1, w2
331*9880d681SAndroid Build Coastguard Worker
332*9880d681SAndroid Build Coastguard Worker; CHECK: sxtb x1, w2
333*9880d681SAndroid Build Coastguard Worker; CHECK: sxth x1, w2
334*9880d681SAndroid Build Coastguard Worker; CHECK: sxtw x1, w2
335*9880d681SAndroid Build Coastguard Worker; CHECK: uxtb w1, w2
336*9880d681SAndroid Build Coastguard Worker; CHECK: uxth w1, w2
337*9880d681SAndroid Build Coastguard Worker; CHECK: ubfx x1, x2, #0, #32
338*9880d681SAndroid Build Coastguard Worker
339*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
340*9880d681SAndroid Build Coastguard Worker; Negate with carry
341*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
342*9880d681SAndroid Build Coastguard Worker
343*9880d681SAndroid Build Coastguard Worker  ngc   w1, w2
344*9880d681SAndroid Build Coastguard Worker  ngc   x1, x2
345*9880d681SAndroid Build Coastguard Worker  ngcs  w1, w2
346*9880d681SAndroid Build Coastguard Worker  ngcs  x1, x2
347*9880d681SAndroid Build Coastguard Worker
348*9880d681SAndroid Build Coastguard Worker; CHECK: ngc  w1, w2
349*9880d681SAndroid Build Coastguard Worker; CHECK: ngc  x1, x2
350*9880d681SAndroid Build Coastguard Worker; CHECK: ngcs w1, w2
351*9880d681SAndroid Build Coastguard Worker; CHECK: ngcs x1, x2
352*9880d681SAndroid Build Coastguard Worker
353*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
354*9880d681SAndroid Build Coastguard Worker; 6.6.1 Multiply aliases
355*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
356*9880d681SAndroid Build Coastguard Worker
357*9880d681SAndroid Build Coastguard Worker  mneg   w1, w2, w3
358*9880d681SAndroid Build Coastguard Worker  mneg   x1, x2, x3
359*9880d681SAndroid Build Coastguard Worker  mul    w1, w2, w3
360*9880d681SAndroid Build Coastguard Worker  mul    x1, x2, x3
361*9880d681SAndroid Build Coastguard Worker  smnegl x1, w2, w3
362*9880d681SAndroid Build Coastguard Worker  umnegl x1, w2, w3
363*9880d681SAndroid Build Coastguard Worker  smull   x1, w2, w3
364*9880d681SAndroid Build Coastguard Worker  umull   x1, w2, w3
365*9880d681SAndroid Build Coastguard Worker
366*9880d681SAndroid Build Coastguard Worker; CHECK: mneg w1, w2, w3
367*9880d681SAndroid Build Coastguard Worker; CHECK: mneg x1, x2, x3
368*9880d681SAndroid Build Coastguard Worker; CHECK: mul w1, w2, w3
369*9880d681SAndroid Build Coastguard Worker; CHECK: mul x1, x2, x3
370*9880d681SAndroid Build Coastguard Worker; CHECK: smnegl x1, w2, w3
371*9880d681SAndroid Build Coastguard Worker; CHECK: umnegl x1, w2, w3
372*9880d681SAndroid Build Coastguard Worker; CHECK: smull x1, w2, w3
373*9880d681SAndroid Build Coastguard Worker; CHECK: umull x1, w2, w3
374*9880d681SAndroid Build Coastguard Worker
375*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
376*9880d681SAndroid Build Coastguard Worker; Conditional select aliases
377*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
378*9880d681SAndroid Build Coastguard Worker
379*9880d681SAndroid Build Coastguard Worker  cset   w1, eq
380*9880d681SAndroid Build Coastguard Worker  cset   x1, eq
381*9880d681SAndroid Build Coastguard Worker  csetm  w1, ne
382*9880d681SAndroid Build Coastguard Worker  csetm  x1, ne
383*9880d681SAndroid Build Coastguard Worker  cinc   w1, w2, lt
384*9880d681SAndroid Build Coastguard Worker  cinc   x1, x2, lt
385*9880d681SAndroid Build Coastguard Worker  cinv   w1, w2, mi
386*9880d681SAndroid Build Coastguard Worker  cinv   x1, x2, mi
387*9880d681SAndroid Build Coastguard Worker
388*9880d681SAndroid Build Coastguard Worker; CHECK: cset  w1, eq
389*9880d681SAndroid Build Coastguard Worker; CHECK: cset  x1, eq
390*9880d681SAndroid Build Coastguard Worker; CHECK: csetm  w1, ne
391*9880d681SAndroid Build Coastguard Worker; CHECK: csetm  x1, ne
392*9880d681SAndroid Build Coastguard Worker; CHECK: cinc  w1, w2, lt
393*9880d681SAndroid Build Coastguard Worker; CHECK: cinc  x1, x2, lt
394*9880d681SAndroid Build Coastguard Worker; CHECK: cinv  w1, w2, mi
395*9880d681SAndroid Build Coastguard Worker; CHECK: cinv  x1, x2, mi
396*9880d681SAndroid Build Coastguard Worker
397*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
398*9880d681SAndroid Build Coastguard Worker; SYS aliases
399*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
400*9880d681SAndroid Build Coastguard Worker
401*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c1, #0
402*9880d681SAndroid Build Coastguard Worker; CHECK: ic ialluis
403*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c5, #0
404*9880d681SAndroid Build Coastguard Worker; CHECK: ic iallu
405*9880d681SAndroid Build Coastguard Worker  sys #3, c7, c5, #1
406*9880d681SAndroid Build Coastguard Worker; CHECK: ic ivau
407*9880d681SAndroid Build Coastguard Worker
408*9880d681SAndroid Build Coastguard Worker  sys #3, c7, c4, #1
409*9880d681SAndroid Build Coastguard Worker; CHECK: dc zva
410*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c6, #1
411*9880d681SAndroid Build Coastguard Worker; CHECK: dc ivac
412*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c6, #2
413*9880d681SAndroid Build Coastguard Worker; CHECK: dc isw
414*9880d681SAndroid Build Coastguard Worker  sys #3, c7, c10, #1
415*9880d681SAndroid Build Coastguard Worker; CHECK: dc cvac
416*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c10, #2
417*9880d681SAndroid Build Coastguard Worker; CHECK: dc csw
418*9880d681SAndroid Build Coastguard Worker  sys #3, c7, c11, #1
419*9880d681SAndroid Build Coastguard Worker; CHECK: dc cvau
420*9880d681SAndroid Build Coastguard Worker  sys #3, c7, c14, #1
421*9880d681SAndroid Build Coastguard Worker; CHECK: dc civac
422*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c14, #2
423*9880d681SAndroid Build Coastguard Worker; CHECK: dc cisw
424*9880d681SAndroid Build Coastguard Worker
425*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c8, #0
426*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e1r
427*9880d681SAndroid Build Coastguard Worker  sys #4, c7, c8, #0
428*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e2r
429*9880d681SAndroid Build Coastguard Worker  sys #6, c7, c8, #0
430*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e3r
431*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c8, #1
432*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e1w
433*9880d681SAndroid Build Coastguard Worker  sys #4, c7, c8, #1
434*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e2w
435*9880d681SAndroid Build Coastguard Worker  sys #6, c7, c8, #1
436*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e3w
437*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c8, #2
438*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e0r
439*9880d681SAndroid Build Coastguard Worker  sys #0, c7, c8, #3
440*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e0w
441*9880d681SAndroid Build Coastguard Worker  sys #4, c7, c8, #4
442*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e1r
443*9880d681SAndroid Build Coastguard Worker  sys #4, c7, c8, #5
444*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e1w
445*9880d681SAndroid Build Coastguard Worker  sys #4, c7, c8, #6
446*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e0r
447*9880d681SAndroid Build Coastguard Worker  sys #4, c7, c8, #7
448*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e0w
449*9880d681SAndroid Build Coastguard Worker
450*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c3, #0
451*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalle1is
452*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c3, #0
453*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle2is
454*9880d681SAndroid Build Coastguard Worker  sys #6, c8, c3, #0
455*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle3is
456*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c3, #1
457*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae1is
458*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c3, #1
459*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae2is
460*9880d681SAndroid Build Coastguard Worker  sys #6, c8, c3, #1
461*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae3is
462*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c3, #2
463*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi aside1is
464*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c3, #3
465*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaae1is
466*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c3, #4
467*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle1is
468*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c3, #5
469*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale1is
470*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c3, #7
471*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaale1is
472*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c7, #0
473*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalle1
474*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c7, #0
475*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle2
476*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c3, #5
477*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale2is
478*9880d681SAndroid Build Coastguard Worker  sys #6, c8, c3, #5
479*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale3is
480*9880d681SAndroid Build Coastguard Worker  sys #6, c8, c7, #0
481*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle3
482*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c7, #1
483*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae1
484*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c7, #1
485*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae2
486*9880d681SAndroid Build Coastguard Worker  sys #6, c8, c7, #1
487*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae3
488*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c7, #2
489*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi aside1
490*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c7, #3
491*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaae1
492*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c7, #4
493*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle1
494*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c7, #5
495*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale1
496*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c7, #5
497*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale2
498*9880d681SAndroid Build Coastguard Worker  sys #6, c8, c7, #5
499*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale3
500*9880d681SAndroid Build Coastguard Worker  sys #0, c8, c7, #7
501*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaale1
502*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c4, #1
503*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2e1
504*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c4, #5
505*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2le1
506*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c0, #1
507*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2e1is
508*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c0, #5
509*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2le1is
510*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c7, #6
511*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalls12e1
512*9880d681SAndroid Build Coastguard Worker  sys #4, c8, c3, #6
513*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalls12e1is
514*9880d681SAndroid Build Coastguard Worker
515*9880d681SAndroid Build Coastguard Worker  ic ialluis
516*9880d681SAndroid Build Coastguard Worker; CHECK: ic ialluis                 ; encoding: [0x1f,0x71,0x08,0xd5]
517*9880d681SAndroid Build Coastguard Worker  ic iallu
518*9880d681SAndroid Build Coastguard Worker; CHECK: ic iallu                   ; encoding: [0x1f,0x75,0x08,0xd5]
519*9880d681SAndroid Build Coastguard Worker  ic ivau, x0
520*9880d681SAndroid Build Coastguard Worker; CHECK: ic ivau, x0                ; encoding: [0x20,0x75,0x0b,0xd5]
521*9880d681SAndroid Build Coastguard Worker
522*9880d681SAndroid Build Coastguard Worker  dc zva, x0
523*9880d681SAndroid Build Coastguard Worker; CHECK: dc zva, x0                 ; encoding: [0x20,0x74,0x0b,0xd5]
524*9880d681SAndroid Build Coastguard Worker  dc ivac, x0
525*9880d681SAndroid Build Coastguard Worker; CHECK: dc ivac, x0                ; encoding: [0x20,0x76,0x08,0xd5]
526*9880d681SAndroid Build Coastguard Worker  dc isw, x0
527*9880d681SAndroid Build Coastguard Worker; CHECK: dc isw, x0                 ; encoding: [0x40,0x76,0x08,0xd5]
528*9880d681SAndroid Build Coastguard Worker  dc cvac, x0
529*9880d681SAndroid Build Coastguard Worker; CHECK: dc cvac, x0                ; encoding: [0x20,0x7a,0x0b,0xd5]
530*9880d681SAndroid Build Coastguard Worker  dc csw, x0
531*9880d681SAndroid Build Coastguard Worker; CHECK: dc csw, x0                 ; encoding: [0x40,0x7a,0x08,0xd5]
532*9880d681SAndroid Build Coastguard Worker  dc cvau, x0
533*9880d681SAndroid Build Coastguard Worker; CHECK: dc cvau, x0                ; encoding: [0x20,0x7b,0x0b,0xd5]
534*9880d681SAndroid Build Coastguard Worker  dc civac, x0
535*9880d681SAndroid Build Coastguard Worker; CHECK: dc civac, x0               ; encoding: [0x20,0x7e,0x0b,0xd5]
536*9880d681SAndroid Build Coastguard Worker  dc cisw, x0
537*9880d681SAndroid Build Coastguard Worker; CHECK: dc cisw, x0                ; encoding: [0x40,0x7e,0x08,0xd5]
538*9880d681SAndroid Build Coastguard Worker
539*9880d681SAndroid Build Coastguard Worker  at s1e1r, x0
540*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e1r, x0               ; encoding: [0x00,0x78,0x08,0xd5]
541*9880d681SAndroid Build Coastguard Worker  at s1e2r, x0
542*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e2r, x0               ; encoding: [0x00,0x78,0x0c,0xd5]
543*9880d681SAndroid Build Coastguard Worker  at s1e3r, x0
544*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e3r, x0               ; encoding: [0x00,0x78,0x0e,0xd5]
545*9880d681SAndroid Build Coastguard Worker  at s1e1w, x0
546*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e1w, x0               ; encoding: [0x20,0x78,0x08,0xd5]
547*9880d681SAndroid Build Coastguard Worker  at s1e2w, x0
548*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e2w, x0               ; encoding: [0x20,0x78,0x0c,0xd5]
549*9880d681SAndroid Build Coastguard Worker  at s1e3w, x0
550*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e3w, x0               ; encoding: [0x20,0x78,0x0e,0xd5]
551*9880d681SAndroid Build Coastguard Worker  at s1e0r, x0
552*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e0r, x0               ; encoding: [0x40,0x78,0x08,0xd5]
553*9880d681SAndroid Build Coastguard Worker  at s1e0w, x0
554*9880d681SAndroid Build Coastguard Worker; CHECK: at s1e0w, x0               ; encoding: [0x60,0x78,0x08,0xd5]
555*9880d681SAndroid Build Coastguard Worker  at s12e1r, x0
556*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e1r, x0              ; encoding: [0x80,0x78,0x0c,0xd5]
557*9880d681SAndroid Build Coastguard Worker  at s12e1w, x0
558*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e1w, x0              ; encoding: [0xa0,0x78,0x0c,0xd5]
559*9880d681SAndroid Build Coastguard Worker  at s12e0r, x0
560*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e0r, x0              ; encoding: [0xc0,0x78,0x0c,0xd5]
561*9880d681SAndroid Build Coastguard Worker  at s12e0w, x0
562*9880d681SAndroid Build Coastguard Worker; CHECK: at s12e0w, x0              ; encoding: [0xe0,0x78,0x0c,0xd5]
563*9880d681SAndroid Build Coastguard Worker
564*9880d681SAndroid Build Coastguard Worker  tlbi vmalle1is
565*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalle1is             ; encoding: [0x1f,0x83,0x08,0xd5]
566*9880d681SAndroid Build Coastguard Worker  tlbi alle2is
567*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle2is               ; encoding: [0x1f,0x83,0x0c,0xd5]
568*9880d681SAndroid Build Coastguard Worker  tlbi alle3is
569*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle3is               ; encoding: [0x1f,0x83,0x0e,0xd5]
570*9880d681SAndroid Build Coastguard Worker  tlbi vae1is, x0
571*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae1is, x0            ; encoding: [0x20,0x83,0x08,0xd5]
572*9880d681SAndroid Build Coastguard Worker  tlbi vae2is, x0
573*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae2is, x0            ; encoding: [0x20,0x83,0x0c,0xd5]
574*9880d681SAndroid Build Coastguard Worker  tlbi vae3is, x0
575*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae3is, x0            ; encoding: [0x20,0x83,0x0e,0xd5]
576*9880d681SAndroid Build Coastguard Worker  tlbi aside1is, x0
577*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi aside1is, x0          ; encoding: [0x40,0x83,0x08,0xd5]
578*9880d681SAndroid Build Coastguard Worker  tlbi vaae1is, x0
579*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaae1is, x0           ; encoding: [0x60,0x83,0x08,0xd5]
580*9880d681SAndroid Build Coastguard Worker  tlbi alle1is
581*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle1is               ; encoding: [0x9f,0x83,0x0c,0xd5]
582*9880d681SAndroid Build Coastguard Worker  tlbi vale1is, x0
583*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale1is, x0           ; encoding: [0xa0,0x83,0x08,0xd5]
584*9880d681SAndroid Build Coastguard Worker  tlbi vaale1is, x0
585*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaale1is, x0          ; encoding: [0xe0,0x83,0x08,0xd5]
586*9880d681SAndroid Build Coastguard Worker  tlbi vmalle1
587*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalle1               ; encoding: [0x1f,0x87,0x08,0xd5]
588*9880d681SAndroid Build Coastguard Worker  tlbi alle2
589*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle2                 ; encoding: [0x1f,0x87,0x0c,0xd5]
590*9880d681SAndroid Build Coastguard Worker  tlbi vale2is, x0
591*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale2is, x0           ; encoding: [0xa0,0x83,0x0c,0xd5]
592*9880d681SAndroid Build Coastguard Worker  tlbi vale3is, x0
593*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale3is, x0           ; encoding: [0xa0,0x83,0x0e,0xd5]
594*9880d681SAndroid Build Coastguard Worker  tlbi alle3
595*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle3                 ; encoding: [0x1f,0x87,0x0e,0xd5]
596*9880d681SAndroid Build Coastguard Worker  tlbi vae1, x0
597*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae1, x0              ; encoding: [0x20,0x87,0x08,0xd5]
598*9880d681SAndroid Build Coastguard Worker  tlbi vae2, x0
599*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae2, x0              ; encoding: [0x20,0x87,0x0c,0xd5]
600*9880d681SAndroid Build Coastguard Worker  tlbi vae3, x0
601*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vae3, x0              ; encoding: [0x20,0x87,0x0e,0xd5]
602*9880d681SAndroid Build Coastguard Worker  tlbi aside1, x0
603*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi aside1, x0            ; encoding: [0x40,0x87,0x08,0xd5]
604*9880d681SAndroid Build Coastguard Worker  tlbi vaae1, x0
605*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaae1, x0             ; encoding: [0x60,0x87,0x08,0xd5]
606*9880d681SAndroid Build Coastguard Worker  tlbi alle1
607*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi alle1                 ; encoding: [0x9f,0x87,0x0c,0xd5
608*9880d681SAndroid Build Coastguard Worker  tlbi vale1, x0
609*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale1, x0             ; encoding: [0xa0,0x87,0x08,0xd5]
610*9880d681SAndroid Build Coastguard Worker  tlbi vale2, x0
611*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale2, x0             ; encoding: [0xa0,0x87,0x0c,0xd5]
612*9880d681SAndroid Build Coastguard Worker  tlbi vale3, x0
613*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vale3, x0             ; encoding: [0xa0,0x87,0x0e,0xd5]
614*9880d681SAndroid Build Coastguard Worker  tlbi vaale1, x0
615*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vaale1, x0            ; encoding: [0xe0,0x87,0x08,0xd5]
616*9880d681SAndroid Build Coastguard Worker  tlbi ipas2e1, x0
617*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2e1, x0           ; encoding: [0x20,0x84,0x0c,0xd5]
618*9880d681SAndroid Build Coastguard Worker  tlbi ipas2le1, x0
619*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2le1, x0          ; encoding: [0xa0,0x84,0x0c,0xd5]
620*9880d681SAndroid Build Coastguard Worker  tlbi ipas2e1is, x0
621*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2e1is, x0         ; encoding: [0x20,0x80,0x0c,0xd5]
622*9880d681SAndroid Build Coastguard Worker  tlbi ipas2le1is, x0
623*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi ipas2le1is, x0        ; encoding: [0xa0,0x80,0x0c,0xd5]
624*9880d681SAndroid Build Coastguard Worker  tlbi vmalls12e1
625*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalls12e1            ; encoding: [0xdf,0x87,0x0c,0xd5]
626*9880d681SAndroid Build Coastguard Worker  tlbi vmalls12e1is
627*9880d681SAndroid Build Coastguard Worker; CHECK: tlbi vmalls12e1is          ; encoding: [0xdf,0x83,0x0c,0xd5]
628*9880d681SAndroid Build Coastguard Worker
629*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
630*9880d681SAndroid Build Coastguard Worker; 5.8.5 Vector Arithmetic aliases
631*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
632*9880d681SAndroid Build Coastguard Worker
633*9880d681SAndroid Build Coastguard Worker  cmls.8b v0, v2, v1
634*9880d681SAndroid Build Coastguard Worker  cmls.16b v0, v2, v1
635*9880d681SAndroid Build Coastguard Worker  cmls.4h v0, v2, v1
636*9880d681SAndroid Build Coastguard Worker  cmls.8h v0, v2, v1
637*9880d681SAndroid Build Coastguard Worker  cmls.2s v0, v2, v1
638*9880d681SAndroid Build Coastguard Worker  cmls.4s v0, v2, v1
639*9880d681SAndroid Build Coastguard Worker  cmls.2d v0, v2, v1
640*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs.8b v0, v1, v2
641*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs.16b v0, v1, v2
642*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs.4h v0, v1, v2
643*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs.8h v0, v1, v2
644*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs.2s v0, v1, v2
645*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs.4s v0, v1, v2
646*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs.2d v0, v1, v2
647*9880d681SAndroid Build Coastguard Worker
648*9880d681SAndroid Build Coastguard Worker  cmlo.8b v0, v2, v1
649*9880d681SAndroid Build Coastguard Worker  cmlo.16b v0, v2, v1
650*9880d681SAndroid Build Coastguard Worker  cmlo.4h v0, v2, v1
651*9880d681SAndroid Build Coastguard Worker  cmlo.8h v0, v2, v1
652*9880d681SAndroid Build Coastguard Worker  cmlo.2s v0, v2, v1
653*9880d681SAndroid Build Coastguard Worker  cmlo.4s v0, v2, v1
654*9880d681SAndroid Build Coastguard Worker  cmlo.2d v0, v2, v1
655*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi.8b v0, v1, v2
656*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi.16b v0, v1, v2
657*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi.4h v0, v1, v2
658*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi.8h v0, v1, v2
659*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi.2s v0, v1, v2
660*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi.4s v0, v1, v2
661*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi.2d v0, v1, v2
662*9880d681SAndroid Build Coastguard Worker
663*9880d681SAndroid Build Coastguard Worker  cmle.8b v0, v2, v1
664*9880d681SAndroid Build Coastguard Worker  cmle.16b v0, v2, v1
665*9880d681SAndroid Build Coastguard Worker  cmle.4h v0, v2, v1
666*9880d681SAndroid Build Coastguard Worker  cmle.8h  v0, v2, v1
667*9880d681SAndroid Build Coastguard Worker  cmle.2s v0, v2, v1
668*9880d681SAndroid Build Coastguard Worker  cmle.4s v0, v2, v1
669*9880d681SAndroid Build Coastguard Worker  cmle.2d v0, v2, v1
670*9880d681SAndroid Build Coastguard Worker; CHECK: cmge.8b v0, v1, v2
671*9880d681SAndroid Build Coastguard Worker; CHECK: cmge.16b v0, v1, v2
672*9880d681SAndroid Build Coastguard Worker; CHECK: cmge.4h v0, v1, v2
673*9880d681SAndroid Build Coastguard Worker; CHECK: cmge.8h v0, v1, v2
674*9880d681SAndroid Build Coastguard Worker; CHECK: cmge.2s v0, v1, v2
675*9880d681SAndroid Build Coastguard Worker; CHECK: cmge.4s v0, v1, v2
676*9880d681SAndroid Build Coastguard Worker; CHECK: cmge.2d v0, v1, v2
677*9880d681SAndroid Build Coastguard Worker
678*9880d681SAndroid Build Coastguard Worker  cmlt.8b v0, v2, v1
679*9880d681SAndroid Build Coastguard Worker  cmlt.16b v0, v2, v1
680*9880d681SAndroid Build Coastguard Worker  cmlt.4h v0, v2, v1
681*9880d681SAndroid Build Coastguard Worker  cmlt.8h  v0, v2, v1
682*9880d681SAndroid Build Coastguard Worker  cmlt.2s v0, v2, v1
683*9880d681SAndroid Build Coastguard Worker  cmlt.4s v0, v2, v1
684*9880d681SAndroid Build Coastguard Worker  cmlt.2d v0, v2, v1
685*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt.8b v0, v1, v2
686*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt.16b v0, v1, v2
687*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt.4h v0, v1, v2
688*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt.8h v0, v1, v2
689*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt.2s v0, v1, v2
690*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt.4s v0, v1, v2
691*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt.2d v0, v1, v2
692*9880d681SAndroid Build Coastguard Worker
693*9880d681SAndroid Build Coastguard Worker  fcmle.2s v0, v2, v1
694*9880d681SAndroid Build Coastguard Worker  fcmle.4s v0, v2, v1
695*9880d681SAndroid Build Coastguard Worker  fcmle.2d v0, v2, v1
696*9880d681SAndroid Build Coastguard Worker; CHECK: fcmge.2s v0, v1, v2
697*9880d681SAndroid Build Coastguard Worker; CHECK: fcmge.4s v0, v1, v2
698*9880d681SAndroid Build Coastguard Worker; CHECK: fcmge.2d v0, v1, v2
699*9880d681SAndroid Build Coastguard Worker
700*9880d681SAndroid Build Coastguard Worker  fcmlt.2s v0, v2, v1
701*9880d681SAndroid Build Coastguard Worker  fcmlt.4s v0, v2, v1
702*9880d681SAndroid Build Coastguard Worker  fcmlt.2d v0, v2, v1
703*9880d681SAndroid Build Coastguard Worker; CHECK: fcmgt.2s v0, v1, v2
704*9880d681SAndroid Build Coastguard Worker; CHECK: fcmgt.4s v0, v1, v2
705*9880d681SAndroid Build Coastguard Worker; CHECK: fcmgt.2d v0, v1, v2
706*9880d681SAndroid Build Coastguard Worker
707*9880d681SAndroid Build Coastguard Worker  facle.2s v0, v2, v1
708*9880d681SAndroid Build Coastguard Worker  facle.4s v0, v2, v1
709*9880d681SAndroid Build Coastguard Worker  facle.2d v0, v2, v1
710*9880d681SAndroid Build Coastguard Worker; CHECK: facge.2s v0, v1, v2
711*9880d681SAndroid Build Coastguard Worker; CHECK: facge.4s v0, v1, v2
712*9880d681SAndroid Build Coastguard Worker; CHECK: facge.2d v0, v1, v2
713*9880d681SAndroid Build Coastguard Worker
714*9880d681SAndroid Build Coastguard Worker  faclt.2s v0, v2, v1
715*9880d681SAndroid Build Coastguard Worker  faclt.4s v0, v2, v1
716*9880d681SAndroid Build Coastguard Worker  faclt.2d v0, v2, v1
717*9880d681SAndroid Build Coastguard Worker; CHECK: facgt.2s v0, v1, v2
718*9880d681SAndroid Build Coastguard Worker; CHECK: facgt.4s v0, v1, v2
719*9880d681SAndroid Build Coastguard Worker; CHECK: facgt.2d v0, v1, v2
720*9880d681SAndroid Build Coastguard Worker
721*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
722*9880d681SAndroid Build Coastguard Worker; 5.8.6 Scalar Arithmetic aliases
723*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
724*9880d681SAndroid Build Coastguard Worker
725*9880d681SAndroid Build Coastguard Worker  cmls d0, d2, d1
726*9880d681SAndroid Build Coastguard Worker; CHECK: cmhs d0, d1, d2
727*9880d681SAndroid Build Coastguard Worker
728*9880d681SAndroid Build Coastguard Worker  cmle d0, d2, d1
729*9880d681SAndroid Build Coastguard Worker; CHECK: cmge d0, d1, d2
730*9880d681SAndroid Build Coastguard Worker
731*9880d681SAndroid Build Coastguard Worker  cmlo d0, d2, d1
732*9880d681SAndroid Build Coastguard Worker; CHECK: cmhi d0, d1, d2
733*9880d681SAndroid Build Coastguard Worker
734*9880d681SAndroid Build Coastguard Worker  cmlt d0, d2, d1
735*9880d681SAndroid Build Coastguard Worker; CHECK: cmgt d0, d1, d2
736*9880d681SAndroid Build Coastguard Worker
737*9880d681SAndroid Build Coastguard Worker  fcmle s0, s2, s1
738*9880d681SAndroid Build Coastguard Worker  fcmle d0, d2, d1
739*9880d681SAndroid Build Coastguard Worker; CHECK: fcmge s0, s1, s2
740*9880d681SAndroid Build Coastguard Worker; CHECK: fcmge d0, d1, d2
741*9880d681SAndroid Build Coastguard Worker
742*9880d681SAndroid Build Coastguard Worker  fcmlt s0, s2, s1
743*9880d681SAndroid Build Coastguard Worker  fcmlt d0, d2, d1
744*9880d681SAndroid Build Coastguard Worker; CHECK: fcmgt s0, s1, s2
745*9880d681SAndroid Build Coastguard Worker; CHECK: fcmgt d0, d1, d2
746*9880d681SAndroid Build Coastguard Worker
747*9880d681SAndroid Build Coastguard Worker  facle s0, s2, s1
748*9880d681SAndroid Build Coastguard Worker  facle d0, d2, d1
749*9880d681SAndroid Build Coastguard Worker; CHECK: facge s0, s1, s2
750*9880d681SAndroid Build Coastguard Worker; CHECK: facge d0, d1, d2
751*9880d681SAndroid Build Coastguard Worker
752*9880d681SAndroid Build Coastguard Worker  faclt s0, s2, s1
753*9880d681SAndroid Build Coastguard Worker  faclt d0, d2, d1
754*9880d681SAndroid Build Coastguard Worker; CHECK: facgt s0, s1, s2
755*9880d681SAndroid Build Coastguard Worker; CHECK: facgt d0, d1, d2
756*9880d681SAndroid Build Coastguard Worker
757*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
758*9880d681SAndroid Build Coastguard Worker; 5.8.14 Vector Shift (immediate)
759*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
760*9880d681SAndroid Build Coastguard Worker  sxtl v1.8h, v2.8b
761*9880d681SAndroid Build Coastguard Worker; CHECK: sshll.8h v1, v2, #0
762*9880d681SAndroid Build Coastguard Worker  sxtl.8h v1, v2
763*9880d681SAndroid Build Coastguard Worker; CHECK: sshll.8h v1, v2, #0
764*9880d681SAndroid Build Coastguard Worker
765*9880d681SAndroid Build Coastguard Worker  sxtl v1.4s, v2.4h
766*9880d681SAndroid Build Coastguard Worker; CHECK: sshll.4s v1, v2, #0
767*9880d681SAndroid Build Coastguard Worker  sxtl.4s v1, v2
768*9880d681SAndroid Build Coastguard Worker; CHECK: sshll.4s v1, v2, #0
769*9880d681SAndroid Build Coastguard Worker
770*9880d681SAndroid Build Coastguard Worker  sxtl v1.2d, v2.2s
771*9880d681SAndroid Build Coastguard Worker; CHECK: sshll.2d v1, v2, #0
772*9880d681SAndroid Build Coastguard Worker  sxtl.2d v1, v2
773*9880d681SAndroid Build Coastguard Worker; CHECK: sshll.2d v1, v2, #0
774*9880d681SAndroid Build Coastguard Worker
775*9880d681SAndroid Build Coastguard Worker  sxtl2 v1.8h, v2.16b
776*9880d681SAndroid Build Coastguard Worker; CHECK: sshll2.8h v1, v2, #0
777*9880d681SAndroid Build Coastguard Worker  sxtl2.8h v1, v2
778*9880d681SAndroid Build Coastguard Worker; CHECK: sshll2.8h v1, v2, #0
779*9880d681SAndroid Build Coastguard Worker
780*9880d681SAndroid Build Coastguard Worker  sxtl2 v1.4s, v2.8h
781*9880d681SAndroid Build Coastguard Worker; CHECK: sshll2.4s v1, v2, #0
782*9880d681SAndroid Build Coastguard Worker  sxtl2.4s v1, v2
783*9880d681SAndroid Build Coastguard Worker; CHECK: sshll2.4s v1, v2, #0
784*9880d681SAndroid Build Coastguard Worker
785*9880d681SAndroid Build Coastguard Worker  sxtl2 v1.2d, v2.4s
786*9880d681SAndroid Build Coastguard Worker; CHECK: sshll2.2d v1, v2, #0
787*9880d681SAndroid Build Coastguard Worker  sxtl2.2d v1, v2
788*9880d681SAndroid Build Coastguard Worker; CHECK: sshll2.2d v1, v2, #0
789*9880d681SAndroid Build Coastguard Worker
790*9880d681SAndroid Build Coastguard Worker  uxtl v1.8h, v2.8b
791*9880d681SAndroid Build Coastguard Worker; CHECK: ushll.8h v1, v2, #0
792*9880d681SAndroid Build Coastguard Worker  uxtl.8h v1, v2
793*9880d681SAndroid Build Coastguard Worker; CHECK: ushll.8h v1, v2, #0
794*9880d681SAndroid Build Coastguard Worker
795*9880d681SAndroid Build Coastguard Worker  uxtl v1.4s, v2.4h
796*9880d681SAndroid Build Coastguard Worker; CHECK: ushll.4s v1, v2, #0
797*9880d681SAndroid Build Coastguard Worker  uxtl.4s v1, v2
798*9880d681SAndroid Build Coastguard Worker; CHECK: ushll.4s v1, v2, #0
799*9880d681SAndroid Build Coastguard Worker
800*9880d681SAndroid Build Coastguard Worker  uxtl v1.2d, v2.2s
801*9880d681SAndroid Build Coastguard Worker; CHECK: ushll.2d v1, v2, #0
802*9880d681SAndroid Build Coastguard Worker  uxtl.2d v1, v2
803*9880d681SAndroid Build Coastguard Worker; CHECK: ushll.2d v1, v2, #0
804*9880d681SAndroid Build Coastguard Worker
805*9880d681SAndroid Build Coastguard Worker  uxtl2 v1.8h, v2.16b
806*9880d681SAndroid Build Coastguard Worker; CHECK: ushll2.8h v1, v2, #0
807*9880d681SAndroid Build Coastguard Worker  uxtl2.8h v1, v2
808*9880d681SAndroid Build Coastguard Worker; CHECK: ushll2.8h v1, v2, #0
809*9880d681SAndroid Build Coastguard Worker
810*9880d681SAndroid Build Coastguard Worker  uxtl2 v1.4s, v2.8h
811*9880d681SAndroid Build Coastguard Worker; CHECK: ushll2.4s v1, v2, #0
812*9880d681SAndroid Build Coastguard Worker  uxtl2.4s v1, v2
813*9880d681SAndroid Build Coastguard Worker; CHECK: ushll2.4s v1, v2, #0
814*9880d681SAndroid Build Coastguard Worker
815*9880d681SAndroid Build Coastguard Worker  uxtl2 v1.2d, v2.4s
816*9880d681SAndroid Build Coastguard Worker; CHECK: ushll2.2d v1, v2, #0
817*9880d681SAndroid Build Coastguard Worker  uxtl2.2d v1, v2
818*9880d681SAndroid Build Coastguard Worker; CHECK: ushll2.2d v1, v2, #0
819*9880d681SAndroid Build Coastguard Worker
820*9880d681SAndroid Build Coastguard Worker
821*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
822*9880d681SAndroid Build Coastguard Worker; MOVI verbose syntax with shift operand omitted.
823*9880d681SAndroid Build Coastguard Worker;-----------------------------------------------------------------------------
824*9880d681SAndroid Build Coastguard Worker  movi v4.16b, #0x00
825*9880d681SAndroid Build Coastguard Worker  movi v4.16B, #0x01
826*9880d681SAndroid Build Coastguard Worker  movi v4.8b, #0x02
827*9880d681SAndroid Build Coastguard Worker  movi v4.8B, #0x03
828*9880d681SAndroid Build Coastguard Worker  movi v1.2d, #0x000000000000ff
829*9880d681SAndroid Build Coastguard Worker  movi v2.2D, #0x000000000000ff
830*9880d681SAndroid Build Coastguard Worker
831*9880d681SAndroid Build Coastguard Worker; CHECK: movi.16b	v4, #0x0              ; encoding: [0x04,0xe4,0x00,0x4f]
832*9880d681SAndroid Build Coastguard Worker; CHECK: movi.16b	v4, #0x1              ; encoding: [0x24,0xe4,0x00,0x4f]
833*9880d681SAndroid Build Coastguard Worker; CHECK: movi.8b	v4, #0x2               ; encoding: [0x44,0xe4,0x00,0x0f]
834*9880d681SAndroid Build Coastguard Worker; CHECK: movi.8b	v4, #0x3               ; encoding: [0x64,0xe4,0x00,0x0f]
835*9880d681SAndroid Build Coastguard Worker; CHECK: movi.2d	v1, #0x000000000000ff ; encoding: [0x21,0xe4,0x00,0x6f]
836*9880d681SAndroid Build Coastguard Worker; CHECK: movi.2d	v2, #0x000000000000ff ; encoding: [0x22,0xe4,0x00,0x6f]
837