Home | History | Annotate | Download | only in ARM
      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]
    503