xref: /llvm-project/llvm/test/MC/Disassembler/ARM/mve-interleave.txt (revision fe8017621ea5c1e9670ecf1a7fa422791167c158)
1# RUN: llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -mattr=+mve -show-encoding %s | FileCheck %s
2# RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -show-encoding %s &> %t
3# RUN: FileCheck --check-prefix=CHECK-NOMVE < %t %s
4
5# CHECK: vld20.8 {q0, q1}, [r0] @ encoding: [0x90,0xfc,0x00,0x1e]
6# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
7[0x90,0xfc,0x00,0x1e]
8
9# CHECK: vld20.8 {q0, q1}, [r0]! @ encoding: [0xb0,0xfc,0x00,0x1e]
10# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
11[0xb0,0xfc,0x00,0x1e]
12
13# CHECK: vld20.8 {q0, q1}, [r11] @ encoding: [0x9b,0xfc,0x00,0x1e]
14# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
15[0x9b,0xfc,0x00,0x1e]
16
17# CHECK: vld20.8 {q5, q6}, [r0]! @ encoding: [0xb0,0xfc,0x00,0xbe]
18# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
19[0xb0,0xfc,0x00,0xbe]
20
21# CHECK: vld21.8 {q0, q1}, [r0] @ encoding: [0x90,0xfc,0x20,0x1e]
22# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
23[0x90,0xfc,0x20,0x1e]
24
25# CHECK: vld21.8 {q3, q4}, [r0]! @ encoding: [0xb0,0xfc,0x20,0x7e]
26# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
27[0xb0,0xfc,0x20,0x7e]
28
29# CHECK: vld20.16 {q0, q1}, [r0] @ encoding: [0x90,0xfc,0x80,0x1e]
30# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
31[0x90,0xfc,0x80,0x1e]
32
33# CHECK: vld20.16 {q0, q1}, [r0]! @ encoding: [0xb0,0xfc,0x80,0x1e]
34# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
35[0xb0,0xfc,0x80,0x1e]
36
37# CHECK: vld20.16 {q0, q1}, [r11] @ encoding: [0x9b,0xfc,0x80,0x1e]
38# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
39[0x9b,0xfc,0x80,0x1e]
40
41# CHECK: vld20.16 {q5, q6}, [r0]! @ encoding: [0xb0,0xfc,0x80,0xbe]
42# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
43[0xb0,0xfc,0x80,0xbe]
44
45# CHECK: vld21.16 {q0, q1}, [r0] @ encoding: [0x90,0xfc,0xa0,0x1e]
46# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
47[0x90,0xfc,0xa0,0x1e]
48
49# CHECK: vld21.16 {q3, q4}, [r0]! @ encoding: [0xb0,0xfc,0xa0,0x7e]
50# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
51[0xb0,0xfc,0xa0,0x7e]
52
53# CHECK: vld20.32 {q0, q1}, [r0] @ encoding: [0x90,0xfc,0x00,0x1f]
54# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
55[0x90,0xfc,0x00,0x1f]
56
57# CHECK: vld20.32 {q0, q1}, [r0]! @ encoding: [0xb0,0xfc,0x00,0x1f]
58# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
59[0xb0,0xfc,0x00,0x1f]
60
61# CHECK: vld20.32 {q0, q1}, [r11] @ encoding: [0x9b,0xfc,0x00,0x1f]
62# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
63[0x9b,0xfc,0x00,0x1f]
64
65# CHECK: vld20.32 {q5, q6}, [r0]! @ encoding: [0xb0,0xfc,0x00,0xbf]
66# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
67[0xb0,0xfc,0x00,0xbf]
68
69# CHECK: vld21.32 {q0, q1}, [r0] @ encoding: [0x90,0xfc,0x20,0x1f]
70# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
71[0x90,0xfc,0x20,0x1f]
72
73# CHECK: vld21.32 {q3, q4}, [r0]! @ encoding: [0xb0,0xfc,0x20,0x7f]
74# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
75[0xb0,0xfc,0x20,0x7f]
76
77# CHECK: vst20.8 {q0, q1}, [r0] @ encoding: [0x80,0xfc,0x00,0x1e]
78# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
79[0x80,0xfc,0x00,0x1e]
80
81# CHECK: vst20.8 {q0, q1}, [r0]! @ encoding: [0xa0,0xfc,0x00,0x1e]
82# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
83[0xa0,0xfc,0x00,0x1e]
84
85# CHECK: vst20.8 {q0, q1}, [r11] @ encoding: [0x8b,0xfc,0x00,0x1e]
86# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
87[0x8b,0xfc,0x00,0x1e]
88
89# CHECK: vst20.8 {q5, q6}, [r0]! @ encoding: [0xa0,0xfc,0x00,0xbe]
90# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
91[0xa0,0xfc,0x00,0xbe]
92
93# CHECK: vst21.8 {q0, q1}, [r0] @ encoding: [0x80,0xfc,0x20,0x1e]
94# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
95[0x80,0xfc,0x20,0x1e]
96
97# CHECK: vst21.8 {q3, q4}, [r0]! @ encoding: [0xa0,0xfc,0x20,0x7e]
98# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
99[0xa0,0xfc,0x20,0x7e]
100
101# CHECK: vst20.16 {q0, q1}, [r0] @ encoding: [0x80,0xfc,0x80,0x1e]
102# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
103[0x80,0xfc,0x80,0x1e]
104
105# CHECK: vst20.16 {q0, q1}, [r0]! @ encoding: [0xa0,0xfc,0x80,0x1e]
106# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
107[0xa0,0xfc,0x80,0x1e]
108
109# CHECK: vst20.16 {q0, q1}, [r11] @ encoding: [0x8b,0xfc,0x80,0x1e]
110# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
111[0x8b,0xfc,0x80,0x1e]
112
113# CHECK: vst20.16 {q5, q6}, [r0]! @ encoding: [0xa0,0xfc,0x80,0xbe]
114# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
115[0xa0,0xfc,0x80,0xbe]
116
117# CHECK: vst21.16 {q0, q1}, [r0] @ encoding: [0x80,0xfc,0xa0,0x1e]
118# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
119[0x80,0xfc,0xa0,0x1e]
120
121# CHECK: vst21.16 {q3, q4}, [r0]! @ encoding: [0xa0,0xfc,0xa0,0x7e]
122# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
123[0xa0,0xfc,0xa0,0x7e]
124
125# CHECK: vst20.32 {q0, q1}, [r0] @ encoding: [0x80,0xfc,0x00,0x1f]
126# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
127[0x80,0xfc,0x00,0x1f]
128
129# CHECK: vst20.32 {q0, q1}, [r0]! @ encoding: [0xa0,0xfc,0x00,0x1f]
130# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
131[0xa0,0xfc,0x00,0x1f]
132
133# CHECK: vst20.32 {q0, q1}, [r11] @ encoding: [0x8b,0xfc,0x00,0x1f]
134# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
135[0x8b,0xfc,0x00,0x1f]
136
137# CHECK: vst20.32 {q5, q6}, [r0]! @ encoding: [0xa0,0xfc,0x00,0xbf]
138# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
139[0xa0,0xfc,0x00,0xbf]
140
141# CHECK: vst21.32 {q0, q1}, [r0] @ encoding: [0x80,0xfc,0x20,0x1f]
142# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
143[0x80,0xfc,0x20,0x1f]
144
145# CHECK: vst21.32 {q3, q4}, [r0]! @ encoding: [0xa0,0xfc,0x20,0x7f]
146# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
147[0xa0,0xfc,0x20,0x7f]
148
149# CHECK: vld40.8 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x01,0x1e]
150# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
151[0x90,0xfc,0x01,0x1e]
152
153# CHECK: vld40.8 {q0, q1, q2, q3}, [r0]! @ encoding: [0xb0,0xfc,0x01,0x1e]
154# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
155[0xb0,0xfc,0x01,0x1e]
156
157# CHECK: vld40.8 {q0, q1, q2, q3}, [r11] @ encoding: [0x9b,0xfc,0x01,0x1e]
158# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
159[0x9b,0xfc,0x01,0x1e]
160
161# CHECK: vld40.8 {q3, q4, q5, q6}, [r0]! @ encoding: [0xb0,0xfc,0x01,0x7e]
162# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
163[0xb0,0xfc,0x01,0x7e]
164
165# CHECK: vld41.8 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x21,0x1e]
166# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
167[0x90,0xfc,0x21,0x1e]
168
169# CHECK: vld41.8 {q4, q5, q6, q7}, [r0]! @ encoding: [0xb0,0xfc,0x21,0x9e]
170# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
171[0xb0,0xfc,0x21,0x9e]
172
173# CHECK: vld42.8 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x41,0x1e]
174# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
175[0x90,0xfc,0x41,0x1e]
176
177# CHECK: vld42.8 {q0, q1, q2, q3}, [r0]! @ encoding: [0xb0,0xfc,0x41,0x1e]
178# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
179[0xb0,0xfc,0x41,0x1e]
180
181# CHECK: vld43.8 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x61,0x1e]
182# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
183[0x90,0xfc,0x61,0x1e]
184
185# CHECK: vld43.8 {q4, q5, q6, q7}, [r0]! @ encoding: [0xb0,0xfc,0x61,0x9e]
186# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
187[0xb0,0xfc,0x61,0x9e]
188
189# CHECK: vld40.16 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x81,0x1e]
190# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
191[0x90,0xfc,0x81,0x1e]
192
193# CHECK: vld40.16 {q0, q1, q2, q3}, [r0]! @ encoding: [0xb0,0xfc,0x81,0x1e]
194# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
195[0xb0,0xfc,0x81,0x1e]
196
197# CHECK: vld40.16 {q0, q1, q2, q3}, [r11] @ encoding: [0x9b,0xfc,0x81,0x1e]
198# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
199[0x9b,0xfc,0x81,0x1e]
200
201# CHECK: vld40.16 {q3, q4, q5, q6}, [r0]! @ encoding: [0xb0,0xfc,0x81,0x7e]
202# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
203[0xb0,0xfc,0x81,0x7e]
204
205# CHECK: vld41.16 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0xa1,0x1e]
206# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
207[0x90,0xfc,0xa1,0x1e]
208
209# CHECK: vld41.16 {q4, q5, q6, q7}, [r0]! @ encoding: [0xb0,0xfc,0xa1,0x9e]
210# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
211[0xb0,0xfc,0xa1,0x9e]
212
213# CHECK: vld42.16 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0xc1,0x1e]
214# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
215[0x90,0xfc,0xc1,0x1e]
216
217# CHECK: vld42.16 {q0, q1, q2, q3}, [r0]! @ encoding: [0xb0,0xfc,0xc1,0x1e]
218# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
219[0xb0,0xfc,0xc1,0x1e]
220
221# CHECK: vld43.16 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0xe1,0x1e]
222# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
223[0x90,0xfc,0xe1,0x1e]
224
225# CHECK: vld43.16 {q4, q5, q6, q7}, [r0]! @ encoding: [0xb0,0xfc,0xe1,0x9e]
226# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
227[0xb0,0xfc,0xe1,0x9e]
228
229# CHECK: vld40.32 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x01,0x1f]
230# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
231[0x90,0xfc,0x01,0x1f]
232
233# CHECK: vld40.32 {q0, q1, q2, q3}, [r0]! @ encoding: [0xb0,0xfc,0x01,0x1f]
234# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
235[0xb0,0xfc,0x01,0x1f]
236
237# CHECK: vld40.32 {q0, q1, q2, q3}, [r11] @ encoding: [0x9b,0xfc,0x01,0x1f]
238# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
239[0x9b,0xfc,0x01,0x1f]
240
241# CHECK: vld40.32 {q3, q4, q5, q6}, [r0]! @ encoding: [0xb0,0xfc,0x01,0x7f]
242# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
243[0xb0,0xfc,0x01,0x7f]
244
245# CHECK: vld41.32 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x21,0x1f]
246# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
247[0x90,0xfc,0x21,0x1f]
248
249# CHECK: vld41.32 {q4, q5, q6, q7}, [r0]! @ encoding: [0xb0,0xfc,0x21,0x9f]
250# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
251[0xb0,0xfc,0x21,0x9f]
252
253# CHECK: vld42.32 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x41,0x1f]
254# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
255[0x90,0xfc,0x41,0x1f]
256
257# CHECK: vld42.32 {q0, q1, q2, q3}, [r0]! @ encoding: [0xb0,0xfc,0x41,0x1f]
258# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
259[0xb0,0xfc,0x41,0x1f]
260
261# CHECK: vld43.32 {q0, q1, q2, q3}, [r0] @ encoding: [0x90,0xfc,0x61,0x1f]
262# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
263[0x90,0xfc,0x61,0x1f]
264
265# CHECK: vld43.32 {q4, q5, q6, q7}, [r0]! @ encoding: [0xb0,0xfc,0x61,0x9f]
266# CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding
267[0xb0,0xfc,0x61,0x9f]
268