127 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mpamv2 < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mpamv2 < %s \6// RUN: | llvm-objdump -d --mattr=+mpamv2 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mpamv2 < %s \8// RUN: | llvm-objdump -d --mattr=-mpamv2 --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=+mpamv2 < %s \11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN: | llvm-mc -triple=aarch64 -mattr=+mpamv2 -disassemble -show-encoding \13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15//------------------------------------------------------------------------------16// Armv9.7-A FEAT_MPAMV2 Extensions17//------------------------------------------------------------------------------18 19msr MPAMCTL_EL1, x020// CHECK-INST: msr MPAMCTL_EL1, x021// CHECK-ENCODING: [0x40,0xa5,0x18,0xd5]22// CHECK-UNKNOWN: d518a54023 24msr MPAMCTL_EL12, x025// CHECK-INST: msr MPAMCTL_EL12, x026// CHECK-ENCODING: [0x40,0xa5,0x1d,0xd5]27// CHECK-UNKNOWN: d51da54028 29msr MPAMCTL_EL2, x030// CHECK-INST: msr MPAMCTL_EL2, x031// CHECK-ENCODING: [0x40,0xa5,0x1c,0xd5]32// CHECK-UNKNOWN: d51ca54033 34msr MPAMCTL_EL3, x035// CHECK-INST: msr MPAMCTL_EL3, x036// CHECK-ENCODING: [0x40,0xa5,0x1e,0xd5]37// CHECK-UNKNOWN: d51ea54038 39msr MPAMVIDCR_EL2, x040// CHECK-INST: msr MPAMVIDCR_EL2, x041// CHECK-ENCODING: [0x00,0xa7,0x1c,0xd5]42// CHECK-UNKNOWN: d51ca70043 44msr MPAMVIDSR_EL2, x045// CHECK-INST: msr MPAMVIDSR_EL2, x046// CHECK-ENCODING: [0x20,0xa7,0x1c,0xd5]47// CHECK-UNKNOWN: d51ca72048 49msr MPAMVIDSR_EL3, x050// CHECK-INST: msr MPAMVIDSR_EL3, x051// CHECK-ENCODING: [0x20,0xa7,0x1e,0xd5]52// CHECK-UNKNOWN: d51ea72053 54 55mrs x0, MPAMCTL_EL156// CHECK-INST: mrs x0, MPAMCTL_EL157// CHECK-ENCODING: [0x40,0xa5,0x38,0xd5]58// CHECK-UNKNOWN: d538a54059 60mrs x0, MPAMCTL_EL1261// CHECK-INST: mrs x0, MPAMCTL_EL1262// CHECK-ENCODING: [0x40,0xa5,0x3d,0xd5]63// CHECK-UNKNOWN: d53da54064 65mrs x0, MPAMCTL_EL266// CHECK-INST: mrs x0, MPAMCTL_EL267// CHECK-ENCODING: [0x40,0xa5,0x3c,0xd5]68// CHECK-UNKNOWN: d53ca54069 70mrs x0, MPAMCTL_EL371// CHECK-INST: mrs x0, MPAMCTL_EL372// CHECK-ENCODING: [0x40,0xa5,0x3e,0xd5]73// CHECK-UNKNOWN: d53ea54074 75mrs x0, MPAMVIDCR_EL276// CHECK-INST: mrs x0, MPAMVIDCR_EL277// CHECK-ENCODING: [0x00,0xa7,0x3c,0xd5]78// CHECK-UNKNOWN: d53ca70079 80mrs x0, MPAMVIDSR_EL281// CHECK-INST: mrs x0, MPAMVIDSR_EL282// CHECK-ENCODING: [0x20,0xa7,0x3c,0xd5]83// CHECK-UNKNOWN: d53ca72084 85mrs x0, MPAMVIDSR_EL386// CHECK-INST: mrs x0, MPAMVIDSR_EL387// CHECK-ENCODING: [0x20,0xa7,0x3e,0xd5]88// CHECK-UNKNOWN: d53ea72089 90 91//------------------------------------------------------------------------------92// Armv9.7-A FEAT_MPAMV2_VID Extensions93//------------------------------------------------------------------------------94 95mlbi vmalle196// CHECK-INST: mlbi vmalle197// CHECK-ENCODING: [0xbf,0x70,0x0c,0xd5]98// CHECK-UNKNOWN: d50c70bf sys #4, c7, c0, #599// CHECK-ERROR: error: MLBI VMALLE1 requires: mpamv2100 101mlbi vpide1, x0102// CHECK-INST: mlbi vpide1, x0103// CHECK-ENCODING: [0xc0,0x70,0x0c,0xd5]104// CHECK-UNKNOWN: d50c70c0 sys #4, c7, c0, #6, x0105// CHECK-ERROR: error: MLBI VPIDE1 requires: mpamv2106 107mlbi vpmge1, x0108// CHECK-INST: mlbi vpmge1, x0109// CHECK-ENCODING: [0xe0,0x70,0x0c,0xd5]110// CHECK-UNKNOWN: d50c70e0 sys #4, c7, c0, #7, x0111// CHECK-ERROR: error: MLBI VPMGE1 requires: mpamv2112 113// Check that invalid encodings are rendered as SYS aliases114// [0x9f,0x70,0x0c,0xd5] -> mlbi alle1115// [0x9e,0x70,0x0c,0xd5] -> sys #4, c7, c0, #4, x30116 117mlbi alle1118// CHECK-INST: mlbi alle1119// CHECK-ENCODING: [0x9f,0x70,0x0c,0xd5]120// CHECK-UNKNOWN: d50c709f sys #4, c7, c0, #4121// CHECK-ERROR: error: MLBI ALLE1 requires: mpamv2122 123sys #4, c7, c0, #4, x30124// CHECK-INST: sys #4, c7, c0, #4, x30125// CHECK-ENCODING: [0x9e,0x70,0x0c,0xd5]126// CHECK-UNKNOWN: d50c709e sys #4, c7, c0, #4, x30127