xref: /llvm-project/llvm/test/MC/ARM/mve-bitops.s (revision 2f5188fd5894b873e39e377d488ba22e3f22f084)
1*2f5188fdSSimon Tatham# RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve -show-encoding  < %s \
2*2f5188fdSSimon Tatham# RUN:   | FileCheck --check-prefix=CHECK-NOFP %s
3*2f5188fdSSimon Tatham# RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding  < %s 2>%t \
4*2f5188fdSSimon Tatham# RUN:   | FileCheck --check-prefix=CHECK %s
5*2f5188fdSSimon Tatham# RUN:     FileCheck --check-prefix=ERROR < %t %s
6*2f5188fdSSimon Tatham
7*2f5188fdSSimon Tatham# CHECK: vorr.i16 q0, #0x12  @ encoding: [0x81,0xef,0x52,0x09]
8*2f5188fdSSimon Tatham# CHECK-NOFP: vorr.i16 q0, #0x12  @ encoding: [0x81,0xef,0x52,0x09]
9*2f5188fdSSimon Tathamvorr.i16 q0, #0x12
10*2f5188fdSSimon Tatham
11*2f5188fdSSimon Tatham# CHECK: vorr.i32 q0, #0x1200  @ encoding: [0x81,0xef,0x52,0x03]
12*2f5188fdSSimon Tatham# CHECK-NOFP: vorr.i32 q0, #0x1200  @ encoding: [0x81,0xef,0x52,0x03]
13*2f5188fdSSimon Tathamvorr.i32 q0, #0x1200
14*2f5188fdSSimon Tatham
15*2f5188fdSSimon Tatham# CHECK: vorr.i16 q0, #0xed  @ encoding: [0x86,0xff,0x5d,0x09]
16*2f5188fdSSimon Tatham# CHECK-NOFP: vorr.i16 q0, #0xed  @ encoding: [0x86,0xff,0x5d,0x09]
17*2f5188fdSSimon Tathamvorn.i16 q0, #0xff12
18*2f5188fdSSimon Tatham
19*2f5188fdSSimon Tatham# CHECK: vorr.i32 q0, #0xed00  @ encoding: [0x86,0xff,0x5d,0x03]
20*2f5188fdSSimon Tatham# CHECK-NOFP: vorr.i32 q0, #0xed00  @ encoding: [0x86,0xff,0x5d,0x03]
21*2f5188fdSSimon Tathamvorn.i32 q0, #0xffff12ff
22*2f5188fdSSimon Tatham
23*2f5188fdSSimon Tatham# CHECK: vorr.i32 q0, #0xed0000  @ encoding: [0x86,0xff,0x5d,0x05]
24*2f5188fdSSimon Tatham# CHECK-NOFP: vorr.i32 q0, #0xed0000  @ encoding: [0x86,0xff,0x5d,0x05]
25*2f5188fdSSimon Tathamvorn.i32 q0, #0xff12ffff
26*2f5188fdSSimon Tatham
27*2f5188fdSSimon Tatham# CHECK: vorr.i32 q0, #0xed000000  @ encoding: [0x86,0xff,0x5d,0x07]
28*2f5188fdSSimon Tatham# CHECK-NOFP: vorr.i32 q0, #0xed000000  @ encoding: [0x86,0xff,0x5d,0x07]
29*2f5188fdSSimon Tathamvorn.i32 q0, #0x12ffffff
30*2f5188fdSSimon Tatham
31*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
32*2f5188fdSSimon Tathamvorn.i16 q0, #0xed00
33*2f5188fdSSimon Tatham
34*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
35*2f5188fdSSimon Tathamvorn.i16 q0, #0x00ed
36*2f5188fdSSimon Tatham
37*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
38*2f5188fdSSimon Tathamvorn.i32 q0, #0xed000000
39*2f5188fdSSimon Tatham
40*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
41*2f5188fdSSimon Tathamvorn.i32 q0, #0x00ed0000
42*2f5188fdSSimon Tatham
43*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
44*2f5188fdSSimon Tathamvorn.i32 q0, #0x0000ed00
45*2f5188fdSSimon Tatham
46*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
47*2f5188fdSSimon Tathamvorn.i32 q0, #0x000000ed
48*2f5188fdSSimon Tatham
49*2f5188fdSSimon Tatham# CHECK: vbic.i16 q0, #0x22  @ encoding: [0x82,0xef,0x72,0x09]
50*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i16 q0, #0x22  @ encoding: [0x82,0xef,0x72,0x09]
51*2f5188fdSSimon Tathamvbic.i16 q0, #0x22
52*2f5188fdSSimon Tatham
53*2f5188fdSSimon Tatham# CHECK: vbic.i32 q0, #0x1100  @ encoding: [0x81,0xef,0x71,0x03]
54*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i32 q0, #0x1100  @ encoding: [0x81,0xef,0x71,0x03]
55*2f5188fdSSimon Tathamvbic.i32 q0, #0x1100
56*2f5188fdSSimon Tatham
57*2f5188fdSSimon Tatham# CHECK: vbic.i16 q0, #0xdd  @ encoding: [0x85,0xff,0x7d,0x09]
58*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i16 q0, #0xdd  @ encoding: [0x85,0xff,0x7d,0x09]
59*2f5188fdSSimon Tathamvand.i16 q0, #0xff22
60*2f5188fdSSimon Tatham
61*2f5188fdSSimon Tatham# CHECK: vbic.i16 q0, #0xdd00  @ encoding: [0x85,0xff,0x7d,0x0b]
62*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i16 q0, #0xdd00  @ encoding: [0x85,0xff,0x7d,0x0b]
63*2f5188fdSSimon Tathamvand.i16 q0, #0x22ff
64*2f5188fdSSimon Tatham
65*2f5188fdSSimon Tatham# CHECK: vbic.i32 q0, #0xee  @ encoding: [0x86,0xff,0x7e,0x01]
66*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i32 q0, #0xee  @ encoding: [0x86,0xff,0x7e,0x01]
67*2f5188fdSSimon Tathamvand.i32 q0, #0xffffff11
68*2f5188fdSSimon Tatham
69*2f5188fdSSimon Tatham# CHECK: vbic.i32 q0, #0xee00  @ encoding: [0x86,0xff,0x7e,0x03]
70*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i32 q0, #0xee00  @ encoding: [0x86,0xff,0x7e,0x03]
71*2f5188fdSSimon Tathamvand.i32 q0, #0xffff11ff
72*2f5188fdSSimon Tatham
73*2f5188fdSSimon Tatham# CHECK: vbic.i32 q0, #0xee0000  @ encoding: [0x86,0xff,0x7e,0x05]
74*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i32 q0, #0xee0000  @ encoding: [0x86,0xff,0x7e,0x05]
75*2f5188fdSSimon Tathamvand.i32 q0, #0xff11ffff
76*2f5188fdSSimon Tatham
77*2f5188fdSSimon Tatham# CHECK: vbic.i32 q0, #0xee000000  @ encoding: [0x86,0xff,0x7e,0x07]
78*2f5188fdSSimon Tatham# CHECK-NOFP: vbic.i32 q0, #0xee000000  @ encoding: [0x86,0xff,0x7e,0x07]
79*2f5188fdSSimon Tathamvand.i32 q0, #0x11ffffff
80*2f5188fdSSimon Tatham
81*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
82*2f5188fdSSimon Tathamvand.i16 q0, #0xed00
83*2f5188fdSSimon Tatham
84*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
85*2f5188fdSSimon Tathamvand.i16 q0, #0x00ed
86*2f5188fdSSimon Tatham
87*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
88*2f5188fdSSimon Tathamvand.i32 q0, #0xed000000
89*2f5188fdSSimon Tatham
90*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
91*2f5188fdSSimon Tathamvand.i32 q0, #0x00ed0000
92*2f5188fdSSimon Tatham
93*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
94*2f5188fdSSimon Tathamvand.i32 q0, #0x0000ed00
95*2f5188fdSSimon Tatham
96*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
97*2f5188fdSSimon Tathamvand.i32 q0, #0x000000ed
98*2f5188fdSSimon Tatham
99*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
100*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
101*2f5188fdSSimon Tathamvbic q0, q1, q7
102*2f5188fdSSimon Tatham
103*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
104*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
105*2f5188fdSSimon Tathamvbic.s8 q0, q1, q7
106*2f5188fdSSimon Tatham
107*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
108*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
109*2f5188fdSSimon Tathamvbic.s16 q0, q1, q7
110*2f5188fdSSimon Tatham
111*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
112*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
113*2f5188fdSSimon Tathamvbic.s32 q0, q1, q7
114*2f5188fdSSimon Tatham
115*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
116*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
117*2f5188fdSSimon Tathamvbic.u8 q0, q1, q7
118*2f5188fdSSimon Tatham
119*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
120*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
121*2f5188fdSSimon Tathamvbic.u16 q0, q1, q7
122*2f5188fdSSimon Tatham
123*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
124*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
125*2f5188fdSSimon Tathamvbic.u32 q0, q1, q7
126*2f5188fdSSimon Tatham
127*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
128*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
129*2f5188fdSSimon Tathamvbic.i8 q0, q1, q7
130*2f5188fdSSimon Tatham
131*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
132*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
133*2f5188fdSSimon Tathamvbic.i16 q0, q1, q7
134*2f5188fdSSimon Tatham
135*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
136*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
137*2f5188fdSSimon Tathamvbic.i32 q0, q1, q7
138*2f5188fdSSimon Tatham
139*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
140*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
141*2f5188fdSSimon Tathamvbic.f16 q0, q1, q7
142*2f5188fdSSimon Tatham
143*2f5188fdSSimon Tatham# CHECK: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
144*2f5188fdSSimon Tatham# CHECK-NOFP: vbic q0, q1, q7  @ encoding: [0x12,0xef,0x5e,0x01]
145*2f5188fdSSimon Tathamvbic.f32 q0, q1, q7
146*2f5188fdSSimon Tatham
147*2f5188fdSSimon Tatham# CHECK: vrev64.8 q0, q4  @ encoding: [0xb0,0xff,0x48,0x00]
148*2f5188fdSSimon Tatham# CHECK-NOFP: vrev64.8 q0, q4  @ encoding: [0xb0,0xff,0x48,0x00]
149*2f5188fdSSimon Tathamvrev64.8 q0, q4
150*2f5188fdSSimon Tatham
151*2f5188fdSSimon Tatham# CHECK: vrev64.16 q1, q3  @ encoding: [0xb4,0xff,0x46,0x20]
152*2f5188fdSSimon Tatham# CHECK-NOFP: vrev64.16 q1, q3  @ encoding: [0xb4,0xff,0x46,0x20]
153*2f5188fdSSimon Tathamvrev64.16 q1, q3
154*2f5188fdSSimon Tatham
155*2f5188fdSSimon Tatham# CHECK: vrev64.32 q0, q2  @ encoding: [0xb8,0xff,0x44,0x00]
156*2f5188fdSSimon Tatham# CHECK-NOFP: vrev64.32 q0, q2  @ encoding: [0xb8,0xff,0x44,0x00]
157*2f5188fdSSimon Tathamvrev64.32 q0, q2
158*2f5188fdSSimon Tatham
159*2f5188fdSSimon Tatham# CHECK: vrev32.8 q0, q1  @ encoding: [0xb0,0xff,0xc2,0x00]
160*2f5188fdSSimon Tatham# CHECK-NOFP: vrev32.8 q0, q1  @ encoding: [0xb0,0xff,0xc2,0x00]
161*2f5188fdSSimon Tathamvrev32.8 q0, q1
162*2f5188fdSSimon Tatham
163*2f5188fdSSimon Tatham# CHECK: vrev32.16 q0, q5  @ encoding: [0xb4,0xff,0xca,0x00]
164*2f5188fdSSimon Tatham# CHECK-NOFP: vrev32.16 q0, q5  @ encoding: [0xb4,0xff,0xca,0x00]
165*2f5188fdSSimon Tathamvrev32.16 q0, q5
166*2f5188fdSSimon Tatham
167*2f5188fdSSimon Tatham# CHECK: vrev16.8 q0, q2  @ encoding: [0xb0,0xff,0x44,0x01]
168*2f5188fdSSimon Tatham# CHECK-NOFP: vrev16.8 q0, q2  @ encoding: [0xb0,0xff,0x44,0x01]
169*2f5188fdSSimon Tathamvrev16.8 q0, q2
170*2f5188fdSSimon Tatham
171*2f5188fdSSimon Tatham# CHECK: vmvn q0, q2  @ encoding: [0xb0,0xff,0xc4,0x05]
172*2f5188fdSSimon Tatham# CHECK-NOFP: vmvn q0, q2  @ encoding: [0xb0,0xff,0xc4,0x05]
173*2f5188fdSSimon Tathamvmvn q0, q2
174*2f5188fdSSimon Tatham
175*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
176*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
177*2f5188fdSSimon Tathamveor q2, q1, q7
178*2f5188fdSSimon Tatham
179*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
180*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
181*2f5188fdSSimon Tathamveor.s8 q2, q1, q7
182*2f5188fdSSimon Tatham
183*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
184*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
185*2f5188fdSSimon Tathamveor.s16 q2, q1, q7
186*2f5188fdSSimon Tatham
187*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
188*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
189*2f5188fdSSimon Tathamveor.s32 q2, q1, q7
190*2f5188fdSSimon Tatham
191*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
192*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
193*2f5188fdSSimon Tathamveor.u8 q2, q1, q7
194*2f5188fdSSimon Tatham
195*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
196*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
197*2f5188fdSSimon Tathamveor.u16 q2, q1, q7
198*2f5188fdSSimon Tatham
199*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
200*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
201*2f5188fdSSimon Tathamveor.u32 q2, q1, q7
202*2f5188fdSSimon Tatham
203*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
204*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
205*2f5188fdSSimon Tathamveor.i8 q2, q1, q7
206*2f5188fdSSimon Tatham
207*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
208*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
209*2f5188fdSSimon Tathamveor.i16 q2, q1, q7
210*2f5188fdSSimon Tatham
211*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
212*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
213*2f5188fdSSimon Tathamveor.i32 q2, q1, q7
214*2f5188fdSSimon Tatham
215*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
216*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
217*2f5188fdSSimon Tathamveor.f16 q2, q1, q7
218*2f5188fdSSimon Tatham
219*2f5188fdSSimon Tatham# CHECK: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
220*2f5188fdSSimon Tatham# CHECK-NOFP: veor q2, q1, q7  @ encoding: [0x02,0xff,0x5e,0x41]
221*2f5188fdSSimon Tathamveor.f32 q2, q1, q7
222*2f5188fdSSimon Tatham
223*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
224*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
225*2f5188fdSSimon Tathamvorn q0, q3, q2
226*2f5188fdSSimon Tatham
227*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
228*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
229*2f5188fdSSimon Tathamvorn.s8 q0, q3, q2
230*2f5188fdSSimon Tatham
231*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
232*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
233*2f5188fdSSimon Tathamvorn.s16 q0, q3, q2
234*2f5188fdSSimon Tatham
235*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
236*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
237*2f5188fdSSimon Tathamvorn.s32 q0, q3, q2
238*2f5188fdSSimon Tatham
239*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
240*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
241*2f5188fdSSimon Tathamvorn.u8 q0, q3, q2
242*2f5188fdSSimon Tatham
243*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
244*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
245*2f5188fdSSimon Tathamvorn.u16 q0, q3, q2
246*2f5188fdSSimon Tatham
247*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
248*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
249*2f5188fdSSimon Tathamvorn.u32 q0, q3, q2
250*2f5188fdSSimon Tatham
251*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
252*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
253*2f5188fdSSimon Tathamvorn.i8 q0, q3, q2
254*2f5188fdSSimon Tatham
255*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
256*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
257*2f5188fdSSimon Tathamvorn.i16 q0, q3, q2
258*2f5188fdSSimon Tatham
259*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
260*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
261*2f5188fdSSimon Tathamvorn.i32 q0, q3, q2
262*2f5188fdSSimon Tatham
263*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
264*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
265*2f5188fdSSimon Tathamvorn.f16 q0, q3, q2
266*2f5188fdSSimon Tatham
267*2f5188fdSSimon Tatham# CHECK: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
268*2f5188fdSSimon Tatham# CHECK-NOFP: vorn q0, q3, q2  @ encoding: [0x36,0xef,0x54,0x01]
269*2f5188fdSSimon Tathamvorn.f32 q0, q3, q2
270*2f5188fdSSimon Tatham
271*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
272*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
273*2f5188fdSSimon Tathamvorr q1, q2, q1
274*2f5188fdSSimon Tatham
275*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
276*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
277*2f5188fdSSimon Tathamvorr.s8 q1, q2, q1
278*2f5188fdSSimon Tatham
279*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
280*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
281*2f5188fdSSimon Tathamvorr.s16 q1, q2, q1
282*2f5188fdSSimon Tatham
283*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
284*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
285*2f5188fdSSimon Tathamvorr.s32 q1, q2, q1
286*2f5188fdSSimon Tatham
287*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
288*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
289*2f5188fdSSimon Tathamvorr.u8 q1, q2, q1
290*2f5188fdSSimon Tatham
291*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
292*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
293*2f5188fdSSimon Tathamvorr.u16 q1, q2, q1
294*2f5188fdSSimon Tatham
295*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
296*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
297*2f5188fdSSimon Tathamvorr.u32 q1, q2, q1
298*2f5188fdSSimon Tatham
299*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
300*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
301*2f5188fdSSimon Tathamvorr.i8 q1, q2, q1
302*2f5188fdSSimon Tatham
303*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
304*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
305*2f5188fdSSimon Tathamvorr.i16 q1, q2, q1
306*2f5188fdSSimon Tatham
307*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
308*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
309*2f5188fdSSimon Tathamvorr.i32 q1, q2, q1
310*2f5188fdSSimon Tatham
311*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
312*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
313*2f5188fdSSimon Tathamvorr.f16 q1, q2, q1
314*2f5188fdSSimon Tatham
315*2f5188fdSSimon Tatham# CHECK: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
316*2f5188fdSSimon Tatham# CHECK-NOFP: vorr q1, q2, q1  @ encoding: [0x24,0xef,0x52,0x21]
317*2f5188fdSSimon Tathamvorr.f32 q1, q2, q1
318*2f5188fdSSimon Tatham
319*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
320*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
321*2f5188fdSSimon Tathamvand q0, q2, q0
322*2f5188fdSSimon Tatham
323*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
324*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
325*2f5188fdSSimon Tathamvand.s8 q0, q2, q0
326*2f5188fdSSimon Tatham
327*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
328*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
329*2f5188fdSSimon Tathamvand.s16 q0, q2, q0
330*2f5188fdSSimon Tatham
331*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
332*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
333*2f5188fdSSimon Tathamvand.s32 q0, q2, q0
334*2f5188fdSSimon Tatham
335*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
336*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
337*2f5188fdSSimon Tathamvand.u8 q0, q2, q0
338*2f5188fdSSimon Tatham
339*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
340*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
341*2f5188fdSSimon Tathamvand.u16 q0, q2, q0
342*2f5188fdSSimon Tatham
343*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
344*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
345*2f5188fdSSimon Tathamvand.u32 q0, q2, q0
346*2f5188fdSSimon Tatham
347*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
348*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
349*2f5188fdSSimon Tathamvand.i8 q0, q2, q0
350*2f5188fdSSimon Tatham
351*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
352*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
353*2f5188fdSSimon Tathamvand.i16 q0, q2, q0
354*2f5188fdSSimon Tatham
355*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
356*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
357*2f5188fdSSimon Tathamvand.i32 q0, q2, q0
358*2f5188fdSSimon Tatham
359*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
360*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
361*2f5188fdSSimon Tathamvand.f16 q0, q2, q0
362*2f5188fdSSimon Tatham
363*2f5188fdSSimon Tatham# CHECK: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
364*2f5188fdSSimon Tatham# CHECK-NOFP: vand q0, q2, q0  @ encoding: [0x04,0xef,0x50,0x01]
365*2f5188fdSSimon Tathamvand.f32 q0, q2, q0
366*2f5188fdSSimon Tatham
367*2f5188fdSSimon Tatham# CHECK: vmov.8 q0[1], r8  @ encoding: [0x40,0xee,0x30,0x8b]
368*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.8 q0[1], r8  @ encoding: [0x40,0xee,0x30,0x8b]
369*2f5188fdSSimon Tathamvmov.8 q0[1], r8
370*2f5188fdSSimon Tatham
371*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
372*2f5188fdSSimon Tathamvmov.8 q0[16], r8
373*2f5188fdSSimon Tatham
374*2f5188fdSSimon Tatham# CHECK: vmov.16 q0[2], r5  @ encoding: [0x20,0xee,0x30,0x5b]
375*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.16 q0[2], r5  @ encoding: [0x20,0xee,0x30,0x5b]
376*2f5188fdSSimon Tathamvmov.16 q0[2], r5
377*2f5188fdSSimon Tatham
378*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
379*2f5188fdSSimon Tathamvmov.16 q0[8], r5
380*2f5188fdSSimon Tatham
381*2f5188fdSSimon Tatham# CHECK: vmov.32 q6[3], r11  @ encoding: [0x2d,0xee,0x10,0xbb]
382*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.32 q6[3], r11  @ encoding: [0x2d,0xee,0x10,0xbb]
383*2f5188fdSSimon Tathamvmov.32 q6[3], r11
384*2f5188fdSSimon Tatham
385*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
386*2f5188fdSSimon Tathamvmov.32 q6[4], r11
387*2f5188fdSSimon Tatham
388*2f5188fdSSimon Tatham# CHECK: vmov.32 r0, q1[0]  @ encoding: [0x12,0xee,0x10,0x0b]
389*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.32 r0, q1[0]  @ encoding: [0x12,0xee,0x10,0x0b]
390*2f5188fdSSimon Tathamvmov.32 r0, q1[0]
391*2f5188fdSSimon Tatham
392*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
393*2f5188fdSSimon Tathamvmov.32 r0, q1[4]
394*2f5188fdSSimon Tatham
395*2f5188fdSSimon Tatham# CHECK: vmov.s16 r1, q2[7]  @ encoding: [0x35,0xee,0x70,0x1b]
396*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.s16 r1, q2[7]  @ encoding: [0x35,0xee,0x70,0x1b]
397*2f5188fdSSimon Tathamvmov.s16 r1, q2[7]
398*2f5188fdSSimon Tatham
399*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
400*2f5188fdSSimon Tathamvmov.s16 r1, q2[8]
401*2f5188fdSSimon Tatham
402*2f5188fdSSimon Tatham# CHECK: vmov.s8 r0, q4[13]  @ encoding: [0x79,0xee,0x30,0x0b]
403*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.s8 r0, q4[13]  @ encoding: [0x79,0xee,0x30,0x0b]
404*2f5188fdSSimon Tathamvmov.s8 r0, q4[13]
405*2f5188fdSSimon Tatham
406*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
407*2f5188fdSSimon Tathamvmov.s8 r0, q4[16]
408*2f5188fdSSimon Tatham
409*2f5188fdSSimon Tatham# CHECK: vmov.u16 r0, q1[4]  @ encoding: [0x93,0xee,0x30,0x0b]
410*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.u16 r0, q1[4]  @ encoding: [0x93,0xee,0x30,0x0b]
411*2f5188fdSSimon Tathamvmov.u16 r0, q1[4]
412*2f5188fdSSimon Tatham
413*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
414*2f5188fdSSimon Tathamvmov.u16 r0, q1[8]
415*2f5188fdSSimon Tatham
416*2f5188fdSSimon Tatham# CHECK: vmov.u8 r0, q5[7]  @ encoding: [0xfa,0xee,0x70,0x0b]
417*2f5188fdSSimon Tatham# CHECK-NOFP: vmov.u8 r0, q5[7]  @ encoding: [0xfa,0xee,0x70,0x0b]
418*2f5188fdSSimon Tathamvmov.u8 r0, q5[7]
419*2f5188fdSSimon Tatham
420*2f5188fdSSimon Tatham# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid operand for instruction
421*2f5188fdSSimon Tathamvmov.u8 r0, q5[16]
422*2f5188fdSSimon Tatham
423*2f5188fdSSimon Tathamvpste
424*2f5188fdSSimon Tathamvmvnt q0, q1
425*2f5188fdSSimon Tathamvmvne q0, q1
426*2f5188fdSSimon Tatham# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
427*2f5188fdSSimon Tatham# CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
428*2f5188fdSSimon Tatham# CHECK: vmvnt q0, q1 @ encoding: [0xb0,0xff,0xc2,0x05]
429*2f5188fdSSimon Tatham# CHECK-NOFP: vmvnt q0, q1 @ encoding: [0xb0,0xff,0xc2,0x05]
430*2f5188fdSSimon Tatham# CHECK: vmvne q0, q1 @ encoding: [0xb0,0xff,0xc2,0x05]
431*2f5188fdSSimon Tatham# CHECK-NOFP: vmvne q0, q1 @ encoding: [0xb0,0xff,0xc2,0x05]
432*2f5188fdSSimon Tatham
433*2f5188fdSSimon Tathamvpste
434*2f5188fdSSimon Tathamvornt.s8 q0, q1, q2
435*2f5188fdSSimon Tathamvorne.s8 q0, q1, q2
436*2f5188fdSSimon Tatham# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
437*2f5188fdSSimon Tatham# CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
438*2f5188fdSSimon Tatham# CHECK: vornt q0, q1, q2 @ encoding: [0x32,0xef,0x54,0x01]
439*2f5188fdSSimon Tatham# CHECK-NOFP: vornt q0, q1, q2 @ encoding: [0x32,0xef,0x54,0x01]
440*2f5188fdSSimon Tatham# CHECK: vorne q0, q1, q2 @ encoding: [0x32,0xef,0x54,0x01]
441*2f5188fdSSimon Tatham# CHECK-NOFP: vorne q0, q1, q2 @ encoding: [0x32,0xef,0x54,0x01]
442