88 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+tlbid,+poe2 < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+poe2 < %s 2>&1 \4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbid,+poe2 < %s \6// RUN: | llvm-objdump -d --mattr=+tlbid,+poe2 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbid,+poe2 < %s \8// RUN: | llvm-objdump -d --mattr=-tlbid,-poe2 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN9// Disassemble encoding and check the re-encoding (-show-encoding) matches.10// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+tlbid,+poe2 < %s \11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN: | llvm-mc -triple=aarch64 -mattr=+tlbid,+poe2 -disassemble -show-encoding \13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15// FEAT_TLBID and POE2 combined16 17plbi alle2is, x018// CHECK-INST: plbi alle2is, x019// CHECK-ENCODING: encoding: [0x00,0xa3,0x0c,0xd5]20// CHECK-ERROR: error: specified plbi op does not use a register21// CHECK-UNKNOWN: d50ca300 sys #4, c10, c3, #0, x022 23plbi alle2os, x024// CHECK-INST: plbi alle2os, x025// CHECK-ENCODING: encoding: [0x00,0xa1,0x0c,0xd5]26// CHECK-ERROR: error: specified plbi op does not use a register27// CHECK-UNKNOWN: d50ca100 sys #4, c10, c1, #0, x028 29plbi alle1is, x030// CHECK-INST: plbi alle1is, x031// CHECK-ENCODING: encoding: [0x80,0xa3,0x0c,0xd5]32// CHECK-ERROR: error: specified plbi op does not use a register33// CHECK-UNKNOWN: d50ca380 sys #4, c10, c3, #4, x034 35plbi alle1os, x036// CHECK-INST: plbi alle1os, x037// CHECK-ENCODING: encoding: [0x80,0xa1,0x0c,0xd5]38// CHECK-ERROR: error: specified plbi op does not use a register39// CHECK-UNKNOWN: d50ca180 sys #4, c10, c1, #4, x040 41plbi vmalle1is, x042// CHECK-INST: plbi vmalle1is, x043// CHECK-ENCODING: encoding: [0x00,0xa3,0x08,0xd5]44// CHECK-ERROR: error: specified plbi op does not use a register45// CHECK-UNKNOWN: d508a300 sys #0, c10, c3, #0, x046 47plbi vmalle1os, x048// CHECK-INST: plbi vmalle1os, x049// CHECK-ENCODING: encoding: [0x00,0xa1,0x08,0xd5]50// CHECK-ERROR: error: specified plbi op does not use a register51// CHECK-UNKNOWN: d508a100 sys #0, c10, c1, #0, x052 53plbi alle2isnxs, x054// CHECK-INST: plbi alle2isnxs, x055// CHECK-ENCODING: encoding: [0x00,0xab,0x0c,0xd5]56// CHECK-ERROR: error: specified plbi op does not use a register57// CHECK-UNKNOWN: d50cab00 sys #4, c10, c11, #0, x058 59plbi alle2osnxs, x060// CHECK-INST: plbi alle2osnxs, x061// CHECK-ENCODING: encoding: [0x00,0xa9,0x0c,0xd5]62// CHECK-ERROR: error: specified plbi op does not use a register63// CHECK-UNKNOWN: d50ca900 sys #4, c10, c9, #0, x064 65plbi alle1isnxs, x066// CHECK-INST: plbi alle1isnxs, x067// CHECK-ENCODING: encoding: [0x80,0xab,0x0c,0xd5]68// CHECK-ERROR: error: specified plbi op does not use a register69// CHECK-UNKNOWN: d50cab80 sys #4, c10, c11, #4, x070 71plbi alle1osnxs, x072// CHECK-INST: plbi alle1osnxs, x073// CHECK-ENCODING: encoding: [0x80,0xa9,0x0c,0xd5]74// CHECK-ERROR: error: specified plbi op does not use a register75// CHECK-UNKNOWN: d50ca980 sys #4, c10, c9, #4, x076 77plbi vmalle1isnxs, x078// CHECK-INST: plbi vmalle1isnxs, x079// CHECK-ENCODING: encoding: [0x00,0xab,0x08,0xd5]80// CHECK-ERROR: error: specified plbi op does not use a register81// CHECK-UNKNOWN: d508ab00 sys #0, c10, c11, #0, x082 83plbi vmalle1osnxs, x084// CHECK-INST: plbi vmalle1osnxs, x085// CHECK-ENCODING: encoding: [0x00,0xa9,0x08,0xd5]86// CHECK-ERROR: error: specified plbi op does not use a register87// CHECK-UNKNOWN: d508a900 sys #0, c10, c9, #0, x088