]> git.proxmox.com Git - rustc.git/blob - src/llvm/test/MC/Disassembler/ARM/invalid-armv7.txt
Imported Upstream version 1.0.0~0alpha
[rustc.git] / src / llvm / test / MC / Disassembler / ARM / invalid-armv7.txt
1 # RUN: not llvm-mc -disassemble %s -mcpu cortex-a8 -triple armv7 2>&1 | FileCheck %s
2
3 # This file is checking ARMv7 encodings which are globally invalid, usually due
4 # to the constraints of the instructions not being met. For example invalid
5 # combinations of registers.
6
7
8 #------------------------------------------------------------------------------
9 # Undefined encodings for bfi
10 #------------------------------------------------------------------------------
11
12 # Opcode=60 Name=BFI Format=ARM_FORMAT_DPFRM(4)
13 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
14 # -------------------------------------------------------------------------------------------------
15 # | 1: 1: 1: 0| 0: 1: 1: 1| 1: 1: 0: 0| 1: 1: 1: 1| 1: 1: 1: 1| 0: 0: 0: 0| 0: 0: 0: 1| 0: 1: 1: 0|
16 # -------------------------------------------------------------------------------------------------
17 #
18 # if d == 15 then UNPREDICTABLE;
19 [0x16 0xf0 0xcf 0xe7]
20 # CHECK: potentially undefined instruction encoding
21 # CHECK-NEXT: [0x16 0xf0 0xcf 0xe7]
22
23 #------------------------------------------------------------------------------
24 # Undefined encodings for cdp2
25 #------------------------------------------------------------------------------
26
27 [0xe0 0x6a 0x0c 0xfe]
28 # CHECK: invalid instruction encoding
29 # CHECK-NEXT: [0xe0 0x6a 0x0c 0xfe]
30
31
32 #------------------------------------------------------------------------------
33 # Undefined encodings for cps*
34 #------------------------------------------------------------------------------
35
36 # invalid imod value (0b01)
37 [0xc0 0x67 0x4 0xf1]
38 # CHECK: invalid instruction encoding
39 # CHECK-NEXT: [0xc0 0x67 0x4 0xf1]
40
41 # invalid (imod, M, iflags) combination
42 [0x93 0x00 0x02 0xf1]
43 # CHECK: potentially undefined instruction encoding
44 # CHECK-NEXT: [0x93 0x00 0x02 0xf1]
45
46 # CPS: various encodings that are ambiguous with other instructions
47 [0x9f 0xff 0x4e 0xf1]
48 # CHECK: invalid instruction encoding
49 # CHECK-NEXT: [0x9f 0xff 0x4e 0xf1]
50
51 [0x80 0x80 0x2c 0xf1]
52 # CHECK: invalid instruction encoding
53 # CHECK-NEXT: [0x80 0x80 0x2c 0xf1]
54
55 [0xce 0x3f 0x28 0xf1]
56 # CHECK: invalid instruction encoding
57 # CHECK-NEXT: [0xce 0x3f 0x28 0xf1]
58
59 [0x80 0x00 0x20 0xf1]
60 # CHECK: invalid instruction encoding
61 # CHECK-NEXT: [0x80 0x00 0x20 0xf1]
62
63 [0xa0 0x00 0x00 0xf1]
64 # CHECK: invalid instruction encoding
65 # CHECK-NEXT: [0xa0 0x00 0x00 0xf1]
66
67
68 #------------------------------------------------------------------------------
69 # Undefined encoding space for hint instructions
70 #------------------------------------------------------------------------------
71
72 # FIXME: is it "dbg #14" or not????
73 [0xfe 0xf0 0x20 0xe3]
74 # CHCK: invalid instruction encoding
75
76
77 #------------------------------------------------------------------------------
78 # Undefined encodings for ldc
79 #------------------------------------------------------------------------------
80
81 # Opcode=0 Name=PHI Format=(42)
82 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
83 # -------------------------------------------------------------------------------------------------
84 # | 1: 1: 0: 1| 1: 1: 0: 0| 0: 0: 0: 1| 1: 1: 1: 1| 1: 0: 1: 1| 0: 1: 0: 0| 1: 0: 0: 1| 0: 0: 1: 0|
85 # -------------------------------------------------------------------------------------------------
86 #
87 # The bytes have 0b0000 for P,U,D,W; from A8.6.51, it is undefined.
88
89 [0x92 0xb4 0x1f 0xdc]
90 # CHECK: invalid instruction encoding
91 # CHECK-NEXT: [0x92 0xb4 0x1f 0xdc]
92
93
94 #------------------------------------------------------------------------------
95 # Undefined encodings for ldm
96 #------------------------------------------------------------------------------
97
98 # Opcode=134 Name=LDMIA Format=ARM_FORMAT_LDSTMULFRM(10)
99 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
100 # -------------------------------------------------------------------------------------------------
101 # | 1: 1: 1: 1| 1: 0: 0: 0| 1: 0: 0: 1| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 0: 1| 0: 0: 1: 1| 0: 0: 1: 0|
102 # -------------------------------------------------------------------------------------------------
103 #
104 # B6.1.8 RFE has Inst{15-0} as 0x0a00 ==> Not an RFE instruction
105 # A8.6.53 LDM/LDMIA/LDMFD is predicated with Inst{31-28} as cond ==> Not an LDMIA instruction
106
107 [0x32 0xb1 0x99 0xf8]
108 # CHECK: invalid instruction encoding
109 # CHECK-NEXT: [0x32 0xb1 0x99 0xf8]
110
111
112 #------------------------------------------------------------------------------
113 # Undefined encodings for ldr
114 #------------------------------------------------------------------------------
115
116 # Opcode=165 Name=LDR_PRE Format=ARM_FORMAT_LDFRM(6)
117 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
118 # -------------------------------------------------------------------------------------------------
119 # | 1: 1: 1: 0| 0: 1: 1: 1| 1: 0: 1: 1| 0: 1: 1: 1| 0: 1: 1: 0| 0: 0: 0: 0| 1: 0: 0: 0| 1: 1: 1: 1|
120 # -------------------------------------------------------------------------------------------------
121 #
122 # if m == 15 then UNPREDICTABLE
123
124 [0x8f 0x60 0xb7 0xe7]
125 # CHECK: potentially undefined instruction encoding
126 # CHECK-NEXT: [0x8f 0x60 0xb7 0xe7]
127
128 # LDR (register) has encoding Inst{4} = 0.
129 [0xba 0xae 0x9f 0x57]
130 # CHECK: invalid instruction encoding
131 # CHECK-NEXT: [0xba 0xae 0x9f 0x57]
132
133 # LDR_PRE/POST has encoding Inst{4} = 0.
134 [0xde 0x69 0x18 0x46]
135 # CHECK: invalid instruction encoding
136 # CHECK-NEXT: [0xde 0x69 0x18 0x46]
137
138 # Opcode=140 Name=LDRB_POST Format=ARM_FORMAT_LDFRM(6)
139 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
140 # -------------------------------------------------------------------------------------------------
141 # | 1: 1: 1: 0| 0: 1: 1: 0| 1: 1: 0: 1| 0: 1: 1: 1| 0: 1: 1: 1| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 1|
142 # -------------------------------------------------------------------------------------------------
143 #
144 # if wback && (n == 15 || n == t) then UNPREDICTABLE
145 [0x05 0x70 0xd7 0xe6]
146 # CHECK: potentially undefined instruction encoding
147 # CHECK-NEXT: [0x05 0x70 0xd7 0xe6]
148
149
150
151 #------------------------------------------------------------------------------
152 # Undefined encodings for mcr
153 #------------------------------------------------------------------------------
154
155 # Opcode=171 Name=MCR Format=ARM_FORMAT_BRFRM(2)
156 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
157 # -------------------------------------------------------------------------------------------------
158 # | 0: 0: 1: 0| 1: 1: 1: 0| 1: 0: 1: 0| 0: 0: 0: 0| 0: 0: 0: 1| 1: 0: 1: 1| 0: 0: 0: 1| 1: 0: 1: 1|
159 # -------------------------------------------------------------------------------------------------
160 #
161 # Encoding error: coproc == 10 or 11 for MCR[R]/MR[R]C
162
163 [0x1b 0x1b 0xa0 0x2e]
164 # CHECK: invalid instruction encoding
165 # CHECK-NEXT: [0x1b 0x1b 0xa0 0x2e]
166
167
168 #------------------------------------------------------------------------------
169 # Undefined encodings for mov/lsl
170 #------------------------------------------------------------------------------
171
172 # Opcode=0 Name=PHI Format=(42)
173 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
174 # -------------------------------------------------------------------------------------------------
175 # | 1: 1: 1: 1| 0: 0: 0: 1| 1: 0: 1: 1| 1: 1: 0: 0| 1: 1: 0: 1| 0: 0: 0: 1| 0: 0: 0: 0| 0: 0: 1: 0|
176 # -------------------------------------------------------------------------------------------------
177 # To qualify as an LSL (immediate) instruction, Inst{19-16} "should" be 0b0000, instead it is = 0b1100.
178 # The instruction is UNPREDICTABLE, and is not a valid instruction.
179 #
180 # See also
181 # A8.6.88 LSL (immediate)
182 # A8.6.98 MOV (shifted register), and
183 # I.1 Instruction encoding diagrams and pseudocode
184
185 [0x2 0xd1 0xbc 0xf1]
186 # CHECK: invalid instruction encoding
187 # CHECK-NEXT: [0x2 0xd1 0xbc 0xf1]
188
189
190 # Opcode=0 Name=PHI Format=(42)
191 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
192 # -------------------------------------------------------------------------------------------------
193 # | 1: 1: 1: 1| 0: 0: 0: 1| 1: 0: 1: 1| 1: 1: 0: 0| 1: 1: 0: 1| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 1: 0|
194 # -------------------------------------------------------------------------------------------------
195 # To qualify as a MOV (register) instruction, Inst{19-16} "should" be 0b0000, instead it is = 0b1100.
196 # The instruction is UNPREDICTABLE, and is not a valid instruction.
197 #
198 # See also
199 # A8.6.97 MOV (register)
200
201 [0x2 0xd0 0xbc 0xf1]
202 # CHECK: invalid instruction encoding
203 # CHECK-NEXT: [0x2 0xd0 0xbc 0xf1]
204
205 # Opcode=196 Name=MOVs Format=ARM_FORMAT_DPSOREGFRM(5)
206 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
207 # -------------------------------------------------------------------------------------------------
208 # | 1: 1: 0: 1| 0: 0: 0: 1| 1: 0: 1: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 0: 1: 0| 1: 0: 0: 1| 0: 0: 1: 1|
209 # -------------------------------------------------------------------------------------------------
210 # A8.6.89 LSL (register): Inst{7-4} = 0b0001
211 [0x93 0x42 0xa0 0xd1]
212 # CHECK: invalid instruction encoding
213 # CHECK-NEXT: [0x93 0x42 0xa0 0xd1]
214
215 # Opcode=185 Name=MOVTi16 Format=ARM_FORMAT_DPFRM(4)
216 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
217 # -------------------------------------------------------------------------------------------------
218 # | 1: 1: 1: 0| 0: 0: 1: 1| 0: 1: 0: 0| 0: 0: 0: 1| 1: 1: 1: 1| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0|
219 # -------------------------------------------------------------------------------------------------
220 #
221 # if d == 15 then UNPREDICTABLE
222 [0x00 0xf0 0x41 0xe3]
223 # CHECK: potentially undefined instruction encoding
224 # CHECK-NEXT: [0x00 0xf0 0x41 0xe3]
225
226
227 #------------------------------------------------------------------------------
228 # Undefined encodings for mrrc2
229 #------------------------------------------------------------------------------
230
231 [0x00 0x1a 0x50 0xfc]
232 # CHECK: invalid instruction encoding
233 # CHECK-NEXT: [0x00 0x1a 0x50 0xfc]
234
235
236 #------------------------------------------------------------------------------
237 # Undefined encodings for msr (imm)
238 #------------------------------------------------------------------------------
239
240 # Opcode=206 Name=MSRi Format=ARM_FORMAT_BRFRM(2)
241 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
242 # -------------------------------------------------------------------------------------------------
243 # | 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 1: 0| 0: 0: 0: 0| 1: 1: 1: 1| 0: 0: 0: 1| 1: 0: 1: 0| 0: 1: 1: 1|
244 # -------------------------------------------------------------------------------------------------
245 #
246 # A5.2.11 MSR (immediate), and hints & B6.1.6 MSR (immediate)
247 # The hints instructions have more specific encodings, so if mask == 0,
248 # we should reject this as an invalid instruction.
249
250 [0xa7 0xf1 0x20 0x3]
251 # CHECK: invalid instruction encoding
252 # CHECK-NEXT: [0xa7 0xf1 0x20 0x3]
253
254
255 #------------------------------------------------------------------------------
256 # Undefined encodings for sbfx
257 #------------------------------------------------------------------------------
258
259 # Opcode=271 Name=SBFX Format=ARM_FORMAT_DPFRM(4)
260 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
261 # -------------------------------------------------------------------------------------------------
262 # | 1: 1: 1: 0| 0: 1: 1: 1| 1: 0: 1: 0| 0: 1: 1: 1| 0: 1: 0: 1| 0: 1: 0: 0| 0: 1: 0: 1| 1: 1: 1: 1|
263 # -------------------------------------------------------------------------------------------------
264 #
265 # if d == 15 || n == 15 then UNPREDICTABLE;
266
267 [0x5f 0x54 0xa7 0xe7]
268 # CHECK: potentially undefined instruction encoding
269 # CHECK-NEXT: [0x5f 0x54 0xa7 0xe7]
270
271 #------------------------------------------------------------------------------
272 # Undefined encodings for smlad
273 #------------------------------------------------------------------------------
274
275 # Opcode=284 Name=SMLAD Format=ARM_FORMAT_MULFRM(1)
276 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
277 # -------------------------------------------------------------------------------------------------
278 # | 1: 0: 0: 1| 0: 1: 1: 1| 0: 0: 0: 0| 1: 1: 1: 1| 0: 1: 1: 0| 1: 0: 0: 0| 0: 0: 0: 1| 1: 0: 1: 1|
279 # -------------------------------------------------------------------------------------------------
280 #
281 # A8.6.167
282 # if d == 15 || n == 15 | m == 15 then UNPREDICTABLE
283
284 [0x1b 0x68 0xf 0x97]
285 # CHECK: potentially undefined instruction encoding
286 # CHECK-NEXT: [0x1b 0x68 0xf 0x97]
287
288
289 #------------------------------------------------------------------------------
290 # Undefined encodings for srs
291 #------------------------------------------------------------------------------
292
293 # Opcode=0 Name=PHI Format=(42)
294 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
295 # -------------------------------------------------------------------------------------------------
296 # | 1: 1: 1: 1| 1: 0: 0: 0| 1: 1: 0: 0| 0: 1: 0: 1| 0: 0: 0: 1| 1: 1: 0: 0| 1: 0: 0: 0| 0: 0: 1: 1|
297 # -------------------------------------------------------------------------------------------------
298 # Unknown format
299 #
300 # B6.1.10 SRS
301 # Inst{19-8} = 0xd05
302 # Inst{7-5} = 0b000
303
304 [0x83 0x1c 0xc5 0xf8]
305 # CHECK: invalid instruction encoding
306 # CHECK-NEXT: [0x83 0x1c 0xc5 0xf8]
307
308 [0x00 0x00 0x20 0xf8]
309 # CHECK: invalid instruction encoding
310 # CHECK-NEXT: [0x00 0x00 0x20 0xf8]
311
312 [0xff 0xff 0xaf 0xf8]
313 # CHECK: invalid instruction encoding
314 # CHECK-NEXT: [0xff 0xff 0xaf 0xf8]
315
316 [0x13 0x00 0xa0 0xf8]
317 # CHECK: invalid instruction encoding
318 # CHECK-NEXT: [0x13 0x00 0xa0 0xf8]
319
320 #------------------------------------------------------------------------------
321 # Undefined encodings for sxtb
322 #------------------------------------------------------------------------------
323
324 # Opcode=390 Name=SXTBr_rot Format=ARM_FORMAT_EXTFRM(14)
325 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
326 # -------------------------------------------------------------------------------------------------
327 # | 1: 1: 1: 0| 0: 1: 1: 0| 1: 0: 1: 0| 1: 1: 1: 1| 1: 1: 1: 1| 0: 1: 0: 0| 0: 1: 1: 1| 0: 1: 0: 1|
328 # -------------------------------------------------------------------------------------------------
329 #
330 # A8.6.223 SXTB
331 # if d == 15 || m == 15 then UNPREDICTABLE;
332
333 [0x75 0xf4 0xaf 0xe6]
334 # CHECK: potentially undefined instruction encoding
335 # CHECK-NEXT: [0x75 0xf4 0xaf 0xe6]
336
337 #------------------------------------------------------------------------------
338 # Undefined encodings for NEON umaal
339 #------------------------------------------------------------------------------
340
341 # Opcode=419 Name=UMAAL Format=ARM_FORMAT_MULFRM(1)
342 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
343 # -------------------------------------------------------------------------------------------------
344 # | 1: 1: 1: 1| 0: 0: 0: 0| 0: 1: 0: 0| 1: 1: 1: 1| 1: 0: 1: 1| 1: 1: 1: 1| 1: 0: 0: 1| 1: 0: 0: 0|
345 # -------------------------------------------------------------------------------------------------
346 #
347 # A8.6.244 UMAAL
348 # if dLo == 15 || dHi == 15 || n == 15 || m == 15 then UNPREDICTABLE;
349 [0x98 0xbf 0x4f 0xf0]
350 # CHECK: invalid instruction encoding
351 # CHECK-NEXT: [0x98 0xbf 0x4f 0xf0]
352
353 #------------------------------------------------------------------------------
354 # Undefined encodings for NEON vcvt (float <-> fixed)
355 #------------------------------------------------------------------------------
356
357 # imm6=0b0xxxxx -> UNDEFINED
358 [0x1e 0xcf 0x92 0xf3]
359 # CHECK: invalid instruction encoding
360 # CHECK-NEXT: [0x1e 0xcf 0x92 0xf3]
361
362 [0x3e 0xcf 0x92 0xf3]
363 # CHECK: invalid instruction encoding
364 # CHECK-NEXT: [0x3e 0xcf 0x92 0xf3]
365
366
367 #------------------------------------------------------------------------------
368 # Undefined encodings for NEON vext
369 #------------------------------------------------------------------------------
370
371 # invalid imm4 value (0b1xxx)
372 # A8.8.316: if Q == '0' && imm4<3> == '1' then UNDEFINED;
373 [0x8f 0xf9 0xf7 0xf2]
374 # CHECK: invalid instruction encoding
375 # CHECK-NEXT: [0x8f 0xf9 0xf7 0xf2]
376
377 #------------------------------------------------------------------------------
378 # Undefined encodings for NEON vldmsdb
379 #------------------------------------------------------------------------------
380
381 # core registers out of range
382 [0xa5 0xba 0x72 0xed]
383 # CHECK: potentially undefined instruction encoding
384 # CHECK-NEXT: [0xa5 0xba 0x72 0xed]
385
386
387 #------------------------------------------------------------------------------
388 # Undefined encodings for NEON vmov
389 #------------------------------------------------------------------------------
390
391 # VMOV cmode=0b1111 op=1 is UNDEFINED
392 [0x70 0xef 0xc7 0xf3]
393 # CHECK: invalid instruction encoding
394 # CHECK-NEXT: [0x70 0xef 0xc7 0xf3]
395
396 # VMOV cmode=0b1111 op=1 is UNDEFINED
397 [0x30 0x0f 0x80 0xf3]
398 # CHECK: invalid instruction encoding
399 # CHECK-NEXT: [0x30 0x0f 0x80 0xf3]
400
401
402 #------------------------------------------------------------------------------
403 # Undefined encodings for NEON vqadd
404 #------------------------------------------------------------------------------
405
406 # Opcode=1225 Name=VQADDsv16i8 Format=ARM_FORMAT_N3Reg(37)
407 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
408 # -------------------------------------------------------------------------------------------------
409 # | 1: 1: 1: 1| 0: 0: 1: 0| 0: 1: 0: 0| 0: 0: 0: 0| 1: 1: 1: 0| 0: 0: 0: 0| 1: 1: 0: 1| 1: 0: 1: 1|
410 # -------------------------------------------------------------------------------------------------
411 #
412 # Qm -> bit[0] == 0, otherwise UNDEFINED
413 [0xdb 0xe0 0x40 0xf2]
414 # CHECK: invalid instruction encoding
415 # CHECK-NEXT: [0xdb 0xe0 0x40 0xf2]
416
417
418 #------------------------------------------------------------------------------
419 # Undefined encodings for NEON vld/vst
420 #------------------------------------------------------------------------------
421
422 # A8.6.393 VST2 (multiple 2-element structures)
423 [0xb3 0x09 0x03 0xf4]
424 # CHECK: invalid instruction encoding
425 # CHECK-NEXT: [0xb3 0x09 0x03 0xf4]
426
427 # size == '11' ==> UNDEFINED
428 [0xc3 0x08 0x03 0xf4]
429 # CHECK: invalid instruction encoding
430 # CHECK-NEXT: [0xc3 0x08 0x03 0xf4]
431
432 # type == '1000' and align == '11' ==> UNDEFINED
433 [0xb3 0x08 0x03 0xf4]
434 # CHECK: invalid instruction encoding
435 # CHECK-NEXT: [0xb3 0x08 0x03 0xf4]
436
437 # VST1 multi-element, type == 0b0111, align == 0b10 -> undefined
438 [0xaf 0xb7 0x07 0xf4]
439 # CHECK: invalid instruction encoding
440 # CHECK-NEXT: [0xaf 0xb7 0x07 0xf4]
441
442 # VST1 multi-element, type == 0b0111, align == 0b11 -> undefined
443 [0xbf 0xb7 0x07 0xf4]
444 # CHECK: invalid instruction encoding
445 # CHECK-NEXT: [0xbf 0xb7 0x07 0xf4]
446
447 # VST1 multi-element, type == 0b1010, align == 0b11 -> undefined
448 [0xbf 0x8a 0x03 0xf4]
449 # CHECK: invalid instruction encoding
450 # CHECK-NEXT: [0xbf 0x8a 0x03 0xf4]
451
452 # VST1 multi-element, type == 0b0110, align == 0b10 -> undefined
453 [0xaf 0xb6 0x07 0xf4]
454 # CHECK: invalid instruction encoding
455 # CHECK-NEXT: [0xaf 0xb6 0x07 0xf4]
456
457 # VST1 multi-element, type == 0b0110, align == 0b11 -> undefined
458 [0xbf 0xb6 0x07 0xf4]
459 # CHECK: invalid instruction encoding
460 # CHECK-NEXT: [0xbf 0xb6 0x07 0xf4]
461
462 # VST2 multi-element, type == 0b0100, align == 0b11 -> undefined
463 [0x4f 0xa8 0x07 0xf7]
464 # CHECK: invalid instruction encoding
465 # CHECK-NEXT: [0x4f 0xa8 0x07 0xf7]
466
467 # VST2 multi-element, type == 0b0100, align == 0b11 -> undefined
468 [0x4f 0xa9 0x07 0xf7]
469 # CHECK: invalid instruction encoding
470 # CHECK-NEXT: [0x4f 0xa9 0x07 0xf7]
471
472 # VST3 multi-element, size = 0b11 -> undefined
473 [0xbf 0xa4 0x0b 0xf4]
474 # CHECK: invalid instruction encoding
475 # CHECK-NEXT: [0xbf 0xa4 0x0b 0xf4]
476
477 # VST3 multi-element, align = 0b10 -> undefined
478 [0x6f 0xa4 0x0b 0xf4]
479 # CHECK: invalid instruction encoding
480 # CHECK-NEXT: [0x6f 0xa4 0x0b 0xf4]
481
482 # VST3 multi-element, align = 0b11 -> undefined
483 [0x7f 0xa4 0x0b 0xf4]
484 # CHECK: invalid instruction encoding
485 # CHECK-NEXT: [0x7f 0xa4 0x0b 0xf4]
486
487 # VST4 multi-element, size = 0b11 -> undefined
488 [0xcf 0x50 0x03 0xf4]
489 # CHECK: invalid instruction encoding
490 # CHECK-NEXT: [0xcf 0x50 0x03 0xf4]
491
492
493 # Opcode=737 Name=VLD1DUPq8_UPD Format=ARM_FORMAT_NLdSt(30)
494 # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
495 # -------------------------------------------------------------------------------------------------
496 # | 1: 1: 1: 1| 0: 1: 0: 0| 1: 0: 1: 0| 0: 0: 0: 0| 0: 0: 1: 1| 1: 1: 0: 0| 0: 0: 1: 1| 1: 1: 0: 1|
497 # -------------------------------------------------------------------------------------------------
498 #
499 # 'a' == 1 and data_size == 8 is invalid
500 [0x3d 0x3c 0xa0 0xf4]
501 # CHECK: invalid instruction encoding
502 # CHECK-NEXT: [0x3d 0x3c 0xa0 0xf4]