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