blob: 82603caed554594ef0c2d3768ab805fe9dc3f7d6 [file] [edit]
// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-INST
// RUN: llvm-mc -triple=aarch64 -filetype=obj < %s \
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
// Disassemble encoding and check the re-encoding (-show-encoding) matches.
// RUN: llvm-mc -triple=aarch64 -show-encoding < %s \
// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \
// RUN: | llvm-mc -triple=aarch64 -disassemble -show-encoding \
// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
//------------------------------------------------------------------------------
// Armv9.6-A FEAT_MPAM Extensions
//------------------------------------------------------------------------------
msr MPAMBW3_EL3, x0
// CHECK-INST: msr MPAMBW3_EL3, x0
// CHECK-ENCODING: encoding: [0x80,0xa5,0x1e,0xd5]
// CHECK-UNKNOWN: d51ea580 msr MPAMBW3_EL3, x0
msr MPAMBW2_EL2, x0
// CHECK-INST: msr MPAMBW2_EL2, x0
// CHECK-ENCODING: encoding: [0x80,0xa5,0x1c,0xd5]
// CHECK-UNKNOWN: d51ca580 msr MPAMBW2_EL2, x0
msr MPAMBW1_EL1, x0
// CHECK-INST: msr MPAMBW1_EL1, x0
// CHECK-ENCODING: encoding: [0x80,0xa5,0x18,0xd5]
// CHECK-UNKNOWN: d518a580 msr MPAMBW1_EL1, x0
msr MPAMBW1_EL12, x0
// CHECK-INST: msr MPAMBW1_EL12, x0
// CHECK-ENCODING: encoding: [0x80,0xa5,0x1d,0xd5]
// CHECK-UNKNOWN: d51da580 msr MPAMBW1_EL12, x0
msr MPAMBW0_EL1, x0
// CHECK-INST: msr MPAMBW0_EL1, x0
// CHECK-ENCODING: encoding: [0xa0,0xa5,0x18,0xd5]
// CHECK-UNKNOWN: d518a5a0 msr MPAMBW0_EL1, x0
msr MPAMBWCAP_EL2, x0
// CHECK-INST: msr MPAMBWCAP_EL2, x0
// CHECK-ENCODING: encoding: [0xc0,0xa5,0x1c,0xd5]
// CHECK-UNKNOWN: d51ca5c0 msr MPAMBWCAP_EL2, x0
msr MPAMBWSM_EL1, x0
// CHECK-INST: msr MPAMBWSM_EL1, x0
// CHECK-ENCODING: encoding: [0xe0,0xa5,0x18,0xd5]
// CHECK-UNKNOWN: d518a5e0 msr MPAMBWSM_EL1, x0
mrs x0, MPAMBWIDR_EL1
// CHECK-INST: mrs x0, MPAMBWIDR_EL1
// CHECK-ENCODING: encoding: [0xa0,0xa4,0x38,0xd5]
// CHECK-UNKNOWN: d538a4a0 mrs x0, MPAMBWIDR_EL1
mrs x0, MPAMBW3_EL3
// CHECK-INST: mrs x0, MPAMBW3_EL3
// CHECK-ENCODING: encoding: [0x80,0xa5,0x3e,0xd5]
// CHECK-UNKNOWN: d53ea580 mrs x0, MPAMBW3_EL3
mrs x0, MPAMBW2_EL2
// CHECK-INST: mrs x0, MPAMBW2_EL2
// CHECK-ENCODING: encoding: [0x80,0xa5,0x3c,0xd5]
// CHECK-UNKNOWN: d53ca580 mrs x0, MPAMBW2_EL2
mrs x0, MPAMBW1_EL1
// CHECK-INST: mrs x0, MPAMBW1_EL1
// CHECK-ENCODING: encoding: [0x80,0xa5,0x38,0xd5]
// CHECK-UNKNOWN: d538a580 mrs x0, MPAMBW1_EL1
mrs x0, MPAMBW1_EL12
// CHECK-INST: mrs x0, MPAMBW1_EL12
// CHECK-ENCODING: encoding: [0x80,0xa5,0x3d,0xd5]
// CHECK-UNKNOWN: d53da580 mrs x0, MPAMBW1_EL12
mrs x0, MPAMBW0_EL1
// CHECK-INST: mrs x0, MPAMBW0_EL1
// CHECK-ENCODING: encoding: [0xa0,0xa5,0x38,0xd5]
// CHECK-UNKNOWN: d538a5a0 mrs x0, MPAMBW0_EL1
mrs x0, MPAMBWCAP_EL2
// CHECK-INST: mrs x0, MPAMBWCAP_EL2
// CHECK-ENCODING: encoding: [0xc0,0xa5,0x3c,0xd5]
// CHECK-UNKNOWN: d53ca5c0 mrs x0, MPAMBWCAP_EL2
mrs x0, MPAMBWSM_EL1
// CHECK-INST: mrs x0, MPAMBWSM_EL1
// CHECK-ENCODING: encoding: [0xe0,0xa5,0x38,0xd5]
// CHECK-UNKNOWN: d538a5e0 mrs x0, MPAMBWSM_EL1