diff --git a/llvm/test/MC/AArch64/armv8.6a-fgt.s b/llvm/test/MC/AArch64/armv8.6a-fgt.s index 11002aca5e1a0..632a531bfaee4 100644 --- a/llvm/test/MC/AArch64/armv8.6a-fgt.s +++ b/llvm/test/MC/AArch64/armv8.6a-fgt.s @@ -1,75 +1,149 @@ -// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+fgt < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+v8.6a < %s | FileCheck %s -// RUN: not llvm-mc -triple aarch64 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=NOFGT +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.6a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fgt < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fgt < %s \ +// RUN: | llvm-objdump -d --mattr=+fgt - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+fgt < %s \ +// RUN: | llvm-objdump -d --mattr=-fgt - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+fgt < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+fgt -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + msr HFGRTR_EL2, x0 +// CHECK-INST: msr HFGRTR_EL2, x0 +// CHECK-ENCODING: encoding: [0x80,0x11,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c1180 msr S3_4_C1_C1_4, x0 + msr HFGWTR_EL2, x5 +// CHECK-INST: msr HFGWTR_EL2, x5 +// CHECK-ENCODING: encoding: [0xa5,0x11,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c11a5 msr S3_4_C1_C1_5, x5 + msr HFGITR_EL2, x10 +// CHECK-INST: msr HFGITR_EL2, x10 +// CHECK-ENCODING: encoding: [0xca,0x11,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c11ca msr S3_4_C1_C1_6, x10 + msr HDFGRTR_EL2, x15 +// CHECK-INST: msr HDFGRTR_EL2, x15 +// CHECK-ENCODING: encoding: [0x8f,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c318f msr S3_4_C3_C1_4, x15 + msr HDFGWTR_EL2, x20 +// CHECK-INST: msr HDFGWTR_EL2, x20 +// CHECK-ENCODING: encoding: [0xb4,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c31b4 msr S3_4_C3_C1_5, x20 + msr HAFGRTR_EL2, x25 -// CHECK: msr HFGRTR_EL2, x0 // encoding: [0x80,0x11,0x1c,0xd5] -// CHECK: msr HFGWTR_EL2, x5 // encoding: [0xa5,0x11,0x1c,0xd5] -// CHECK: msr HFGITR_EL2, x10 // encoding: [0xca,0x11,0x1c,0xd5] -// CHECK: msr HDFGRTR_EL2, x15 // encoding: [0x8f,0x31,0x1c,0xd5] -// CHECK: msr HDFGWTR_EL2, x20 // encoding: [0xb4,0x31,0x1c,0xd5] -// CHECK: msr HAFGRTR_EL2, x25 // encoding: [0xd9,0x31,0x1c,0xd5] -// NOFGT: error: expected writable system register or pstate -// NOFGT: error: expected writable system register or pstate -// NOFGT: error: expected writable system register or pstate -// NOFGT: error: expected writable system register or pstate -// NOFGT: error: expected writable system register or pstate -// NOFGT: error: expected writable system register or pstate +// CHECK-INST: msr HAFGRTR_EL2, x25 +// CHECK-ENCODING: encoding: [0xd9,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c31d9 msr S3_4_C3_C1_6, x25 mrs x30, HFGRTR_EL2 +// CHECK-INST: mrs x30, HFGRTR_EL2 +// CHECK-ENCODING: encoding: [0x9e,0x11,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register +// CHECK-UNKNOWN: d53c119e mrs x30, S3_4_C1_C1_4 + mrs x25, HFGWTR_EL2 +// CHECK-INST: mrs x25, HFGWTR_EL2 +// CHECK-ENCODING: encoding: [0xb9,0x11,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register +// CHECK-UNKNOWN: d53c11b9 mrs x25, S3_4_C1_C1_5 + mrs x20, HFGITR_EL2 +// CHECK-INST: mrs x20, HFGITR_EL2 +// CHECK-ENCODING: encoding: [0xd4,0x11,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register +// CHECK-UNKNOWN: d53c11d4 mrs x20, S3_4_C1_C1_6 + mrs x15, HDFGRTR_EL2 +// CHECK-INST: mrs x15, HDFGRTR_EL2 +// CHECK-ENCODING: encoding: [0x8f,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register +// CHECK-UNKNOWN: d53c318f mrs x15, S3_4_C3_C1_4 + mrs x10, HDFGWTR_EL2 -mrs x5, HAFGRTR_EL2 -// CHECK: mrs x30, HFGRTR_EL2 // encoding: [0x9e,0x11,0x3c,0xd5] -// CHECK: mrs x25, HFGWTR_EL2 // encoding: [0xb9,0x11,0x3c,0xd5] -// CHECK: mrs x20, HFGITR_EL2 // encoding: [0xd4,0x11,0x3c,0xd5] -// CHECK: mrs x15, HDFGRTR_EL2 // encoding: [0x8f,0x31,0x3c,0xd5] -// CHECK: mrs x10, HDFGWTR_EL2 // encoding: [0xaa,0x31,0x3c,0xd5] -// CHECK: mrs x5, HAFGRTR_EL2 // encoding: [0xc5,0x31,0x3c,0xd5] -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register +// CHECK-INST: mrs x10, HDFGWTR_EL2 +// CHECK-ENCODING: encoding: [0xaa,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register +// CHECK-UNKNOWN: d53c31aa mrs x10, S3_4_C3_C1_5 +mrs x5, HAFGRTR_EL2 +// CHECK-INST: mrs x5, HAFGRTR_EL2 +// CHECK-ENCODING: encoding: [0xc5,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:11: error: expected readable system register +// CHECK-UNKNOWN: d53c31c5 mrs x5, S3_4_C3_C1_6 mrs x3, HDFGRTR2_EL2 +// CHECK-INST: mrs x3, HDFGRTR2_EL2 +// CHECK-ENCODING: encoding: [0x03,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register +// CHECK-UNKNOWN: d53c3103 mrs x3, S3_4_C3_C1_0 + mrs x3, HDFGWTR2_EL2 +// CHECK-INST: mrs x3, HDFGWTR2_EL2 +// CHECK-ENCODING: encoding: [0x23,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register +// CHECK-UNKNOWN: d53c3123 mrs x3, S3_4_C3_C1_1 + mrs x3, HFGRTR2_EL2 +// CHECK-INST: mrs x3, HFGRTR2_EL2 +// CHECK-ENCODING: encoding: [0x43,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register +// CHECK-UNKNOWN: d53c3143 mrs x3, S3_4_C3_C1_2 + mrs x3, HFGWTR2_EL2 -mrs x3, HFGITR2_EL2 -// CHECK: mrs x3, HDFGRTR2_EL2 // encoding: [0x03,0x31,0x3c,0xd5] -// CHECK: mrs x3, HDFGWTR2_EL2 // encoding: [0x23,0x31,0x3c,0xd5] -// CHECK: mrs x3, HFGRTR2_EL2 // encoding: [0x43,0x31,0x3c,0xd5] -// CHECK: mrs x3, HFGWTR2_EL2 // encoding: [0x63,0x31,0x3c,0xd5] -// CHECK: mrs x3, HFGITR2_EL2 // encoding: [0xe3,0x31,0x3c,0xd5] -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register -// NOFGT: error: expected readable system register +// CHECK-INST: mrs x3, HFGWTR2_EL2 +// CHECK-ENCODING: encoding: [0x63,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register +// CHECK-UNKNOWN: d53c3163 mrs x3, S3_4_C3_C1_3 +mrs x3, HFGITR2_EL2 +// CHECK-INST: mrs x3, HFGITR2_EL2 +// CHECK-ENCODING: encoding: [0xe3,0x31,0x3c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:9: error: expected readable system register +// CHECK-UNKNOWN: d53c31e3 mrs x3, S3_4_C3_C1_7 msr HDFGRTR2_EL2, x3 +// CHECK-INST: msr HDFGRTR2_EL2, x3 +// CHECK-ENCODING: encoding: [0x03,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c3103 msr S3_4_C3_C1_0, x3 + msr HDFGWTR2_EL2, x3 +// CHECK-INST: msr HDFGWTR2_EL2, x3 +// CHECK-ENCODING: encoding: [0x23,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c3123 msr S3_4_C3_C1_1, x3 + msr HFGRTR2_EL2, x3 +// CHECK-INST: msr HFGRTR2_EL2, x3 +// CHECK-ENCODING: encoding: [0x43,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c3143 msr S3_4_C3_C1_2, x3 + msr HFGWTR2_EL2, x3 +// CHECK-INST: msr HFGWTR2_EL2, x3 +// CHECK-ENCODING: encoding: [0x63,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c3163 msr S3_4_C3_C1_3, x3 + msr HFGITR2_EL2, x3 -// CHECK: msr HDFGRTR2_EL2, x3 // encoding: [0x03,0x31,0x1c,0xd5] -// CHECK: msr HDFGWTR2_EL2, x3 // encoding: [0x23,0x31,0x1c,0xd5] -// CHECK: msr HFGRTR2_EL2, x3 // encoding: [0x43,0x31,0x1c,0xd5] -// CHECK: msr HFGWTR2_EL2, x3 // encoding: [0x63,0x31,0x1c,0xd5] -// CHECK: msr HFGITR2_EL2, x3 // encoding: [0xe3,0x31,0x1c,0xd5] -// NOFGT: error: expected writable system register -// NOFGT: error: expected writable system register -// NOFGT: error: expected writable system register -// NOFGT: error: expected writable system register -// NOFGT: error: expected writable system register +// CHECK-INST: msr HFGITR2_EL2, x3 +// CHECK-ENCODING: encoding: [0xe3,0x31,0x1c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:5: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c31e3 msr S3_4_C3_C1_7, x3 diff --git a/llvm/test/MC/AArch64/armv8.8a-mops-diagnostics.s b/llvm/test/MC/AArch64/armv8.8a-mops-diagnostics.s new file mode 100644 index 0000000000000..a9a8612bc048f --- /dev/null +++ b/llvm/test/MC/AArch64/armv8.8a-mops-diagnostics.s @@ -0,0 +1,227 @@ +// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mops,+mte < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR +// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a,+mte < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR + + +// All operand must be different from each other + +// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same +cpyfp [x0]!, [x0]!, x1! +cpyfp [x0]!, [x1]!, x0! +cpyfp [x1]!, [x0]!, x0! + +// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same +cpyfm [x0]!, [x0]!, x1! +cpyfm [x0]!, [x1]!, x0! +cpyfm [x1]!, [x0]!, x0! + +// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same +cpyfe [x0]!, [x0]!, x1! +cpyfe [x0]!, [x1]!, x0! +cpyfe [x1]!, [x0]!, x0! + +// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same +cpyp [x0]!, [x0]!, x1! +cpyp [x0]!, [x1]!, x0! +cpyp [x1]!, [x0]!, x0! + +// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same +cpym [x0]!, [x0]!, x1! +cpym [x0]!, [x1]!, x0! +cpym [x1]!, [x0]!, x0! + +// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same +cpye [x0]!, [x0]!, x1! +cpye [x0]!, [x1]!, x0! +cpye [x1]!, [x0]!, x0! + +// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same +setp [x0]!, x0!, x1 +setp [x0]!, x1!, x0 +setp [x1]!, x0!, x0 + +// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same +setm [x0]!, x0!, x1 +setm [x0]!, x1!, x0 +setm [x1]!, x0!, x0 + +// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same +sete [x0]!, x0!, x1 +sete [x0]!, x1!, x0 +sete [x1]!, x0!, x0 + +// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same +setgp [x0]!, x0!, x1 +setgp [x0]!, x1!, x0 +setgp [x1]!, x0!, x0 + +// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same +setgm [x0]!, x0!, x1 +setgm [x0]!, x1!, x0 +setgm [x1]!, x0!, x0 + +// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same +// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same +// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same +setge [x0]!, x0!, x1 +setge [x0]!, x1!, x0 +setge [x1]!, x0!, x0 + +// SP cannot be used as argument at any position + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyfp [sp]!, [x1]!, x2! +cpyfp [x0]!, [sp]!, x2! +cpyfp [x0]!, [x1]!, sp! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyfm [sp]!, [x1]!, x2! +cpyfm [x0]!, [sp]!, x2! +cpyfm [x0]!, [x1]!, sp! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyfe [sp]!, [x1]!, x2! +cpyfe [x0]!, [sp]!, x2! +cpyfe [x0]!, [x1]!, sp! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyp [sp]!, [x2]!, x2! +cpyp [x0]!, [sp]!, x2! +cpyp [x0]!, [x1]!, sp! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpym [sp]!, [x2]!, x2! +cpym [x0]!, [sp]!, x2! +cpym [x0]!, [x1]!, sp! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpye [sp]!, [x2]!, x2! +cpye [x0]!, [sp]!, x2! +cpye [x0]!, [x1]!, sp! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +setp [sp]!, x1!, x2 +setp [x0]!, sp!, x2 +setp [x0]!, x1!, sp + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +setm [sp]!, x1!, x2 +setm [x0]!, sp!, x2 +setm [x0]!, x1!, sp + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +sete [sp]!, x1!, x2 +sete [x0]!, sp!, x2 +sete [x0]!, x1!, sp + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +setgp [sp]!, x1!, x2 +setgp [x0]!, sp!, x2 +setgp [x0]!, x1!, sp + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +setgm [sp]!, x1!, x2 +setgm [x0]!, sp!, x2 +setgm [x0]!, x1!, sp + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +setge [sp]!, x1!, x2 +setge [x0]!, sp!, x2 +setge [x0]!, x1!, sp + +// XZR can only be used at: +// - the size operand in CPY. +// - the size or source operands in SET. + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyfp [xzr]!, [x1]!, x2! +cpyfp [x0]!, [xzr]!, x2! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyfm [xzr]!, [x1]!, x2! +cpyfm [x0]!, [xzr]!, x2! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyfe [xzr]!, [x1]!, x2! +cpyfe [x0]!, [xzr]!, x2! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpyp [xzr]!, [x2]!, x2! +cpyp [x0]!, [xzr]!, x2! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpym [xzr]!, [x2]!, x2! +cpym [x0]!, [xzr]!, x2! + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: error: invalid operand for instruction +cpye [xzr]!, [x2]!, x2! +cpye [x0]!, [xzr]!, x2! + +// CHECK-ERROR: error: invalid operand for instruction +setp [xzr]!, x1!, x2 + +// CHECK-ERROR: error: invalid operand for instruction +setm [xzr]!, x1!, x2 + +// CHECK-ERROR: error: invalid operand for instruction +sete [xzr]!, x1!, x2 + +// CHECK-ERROR: error: invalid operand for instruction +setgp [xzr]!, x1!, x2 + +// CHECK-ERROR: error: invalid operand for instruction +setgm [xzr]!, x1!, x2 + +// CHECK-ERROR: error: invalid operand for instruction +setge [xzr]!, x1!, x2 diff --git a/llvm/test/MC/AArch64/armv8.8a-mops.s b/llvm/test/MC/AArch64/armv8.8a-mops.s index f8d75e73d47d5..10a551d052515 100644 --- a/llvm/test/MC/AArch64/armv8.8a-mops.s +++ b/llvm/test/MC/AArch64/armv8.8a-mops.s @@ -1,654 +1,849 @@ -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mops,+mte < %s 2> %t | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-MTE -// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a,+mte < %s 2> %t | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-MTE -// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mops < %s 2> %t | FileCheck %s --check-prefix=CHECK -// RUN: FileCheck --check-prefix=CHECK-NO-MTE-ERR %s < %t -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a < %s 2> %t | FileCheck %s --check-prefix=CHECK -// RUN: FileCheck --check-prefix=CHECK-NO-MTE-ERR %s < %t -// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2> %t -// RUN: FileCheck --check-prefix=CHECK-NO-MOPS-ERR --check-prefix=CHECK-NO-MOPSMTE-ERR %s < %t - -// CHECK: [0x40,0x04,0x01,0x19] -// CHECK-NEXT: [0x40,0x44,0x01,0x19] -// CHECK-NEXT: [0x40,0x84,0x01,0x19] -// CHECK-NEXT: [0x40,0xc4,0x01,0x19] -// CHECK-NEXT: [0x40,0x14,0x01,0x19] -// CHECK-NEXT: [0x40,0x54,0x01,0x19] -// CHECK-NEXT: [0x40,0x94,0x01,0x19] -// CHECK-NEXT: [0x40,0xd4,0x01,0x19] -// CHECK-NEXT: [0x40,0x24,0x01,0x19] -// CHECK-NEXT: [0x40,0x64,0x01,0x19] -// CHECK-NEXT: [0x40,0xa4,0x01,0x19] -// CHECK-NEXT: [0x40,0xe4,0x01,0x19] -// CHECK-NEXT: [0x40,0x34,0x01,0x19] -// CHECK-NEXT: [0x40,0x74,0x01,0x19] -// CHECK-NEXT: [0x40,0xb4,0x01,0x19] -// CHECK-NEXT: [0x40,0xf4,0x01,0x19] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mops,+mte < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.8a,+mte < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mops,+mte < %s \ +// RUN: | llvm-objdump -d --mattr=+mops,+mte - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+mops,+mte < %s \ +// RUN: | llvm-objdump -d --mattr=-mops,-mte - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+mops,+mte < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+mops,+mte -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + + cpyfp [x0]!, [x1]!, x2! +// CHECK-INST: cpyfp [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19010440 + cpyfpwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfpwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19014440 + cpyfprn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfprn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19018440 + cpyfpn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfpn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1901c440 + cpyfpwt [x0]!, [x1]!, x2! +// CHECK-INST: cpyfpwt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19011440 + cpyfpwtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfpwtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19015440 + cpyfpwtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfpwtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19019440 + cpyfpwtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfpwtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1901d440 + cpyfprt [x0]!, [x1]!, x2! +// CHECK-INST: cpyfprt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19012440 + cpyfprtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfprtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19016440 + cpyfprtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfprtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1901a440 + cpyfprtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfprtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1901e440 + cpyfpt [x0]!, [x1]!, x2! +// CHECK-INST: cpyfpt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19013440 + cpyfptwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfptwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19017440 + cpyfptrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfptrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1901b440 + cpyfptn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfptn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1901f440 -// CHECK: [0x40,0x04,0x41,0x19] -// CHECK-NEXT: [0x40,0x44,0x41,0x19] -// CHECK-NEXT: [0x40,0x84,0x41,0x19] -// CHECK-NEXT: [0x40,0xc4,0x41,0x19] -// CHECK-NEXT: [0x40,0x14,0x41,0x19] -// CHECK-NEXT: [0x40,0x54,0x41,0x19] -// CHECK-NEXT: [0x40,0x94,0x41,0x19] -// CHECK-NEXT: [0x40,0xd4,0x41,0x19] -// CHECK-NEXT: [0x40,0x24,0x41,0x19] -// CHECK-NEXT: [0x40,0x64,0x41,0x19] -// CHECK-NEXT: [0x40,0xa4,0x41,0x19] -// CHECK-NEXT: [0x40,0xe4,0x41,0x19] -// CHECK-NEXT: [0x40,0x34,0x41,0x19] -// CHECK-NEXT: [0x40,0x74,0x41,0x19] -// CHECK-NEXT: [0x40,0xb4,0x41,0x19] -// CHECK-NEXT: [0x40,0xf4,0x41,0x19] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops cpyfm [x0]!, [x1]!, x2! +// CHECK-INST: cpyfm [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19410440 + cpyfmwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19414440 + cpyfmrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19418440 + cpyfmn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1941c440 + cpyfmwt [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmwt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19411440 + cpyfmwtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmwtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19415440 + cpyfmwtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmwtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19419440 + cpyfmwtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmwtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1941d440 + cpyfmrt [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmrt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19412440 + cpyfmrtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmrtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19416440 + cpyfmrtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmrtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1941a440 + cpyfmrtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmrtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1941e440 + cpyfmt [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19413440 + cpyfmtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19417440 + cpyfmtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1941b440 + cpyfmtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfmtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1941f440 -// CHECK: [0x40,0x04,0x81,0x19] -// CHECK-NEXT: [0x40,0x44,0x81,0x19] -// CHECK-NEXT: [0x40,0x84,0x81,0x19] -// CHECK-NEXT: [0x40,0xc4,0x81,0x19] -// CHECK-NEXT: [0x40,0x14,0x81,0x19] -// CHECK-NEXT: [0x40,0x54,0x81,0x19] -// CHECK-NEXT: [0x40,0x94,0x81,0x19] -// CHECK-NEXT: [0x40,0xd4,0x81,0x19] -// CHECK-NEXT: [0x40,0x24,0x81,0x19] -// CHECK-NEXT: [0x40,0x64,0x81,0x19] -// CHECK-NEXT: [0x40,0xa4,0x81,0x19] -// CHECK-NEXT: [0x40,0xe4,0x81,0x19] -// CHECK-NEXT: [0x40,0x34,0x81,0x19] -// CHECK-NEXT: [0x40,0x74,0x81,0x19] -// CHECK-NEXT: [0x40,0xb4,0x81,0x19] -// CHECK-NEXT: [0x40,0xf4,0x81,0x19] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops cpyfe [x0]!, [x1]!, x2! +// CHECK-INST: cpyfe [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19810440 + cpyfewn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfewn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19814440 + cpyfern [x0]!, [x1]!, x2! +// CHECK-INST: cpyfern [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19818440 + cpyfen [x0]!, [x1]!, x2! +// CHECK-INST: cpyfen [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1981c440 + cpyfewt [x0]!, [x1]!, x2! +// CHECK-INST: cpyfewt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19811440 + cpyfewtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfewtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19815440 + cpyfewtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfewtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19819440 + cpyfewtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfewtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1981d440 + cpyfert [x0]!, [x1]!, x2! +// CHECK-INST: cpyfert [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19812440 + cpyfertwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfertwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19816440 + cpyfertrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfertrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1981a440 + cpyfertn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfertn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1981e440 + cpyfet [x0]!, [x1]!, x2! +// CHECK-INST: cpyfet [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19813440 + cpyfetwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfetwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19817440 + cpyfetrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfetrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1981b440 + cpyfetn [x0]!, [x1]!, x2! +// CHECK-INST: cpyfetn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1981f440 -// CHECK: [0x40,0x04,0x01,0x1d] -// CHECK-NEXT: [0x40,0x44,0x01,0x1d] -// CHECK-NEXT: [0x40,0x84,0x01,0x1d] -// CHECK-NEXT: [0x40,0xc4,0x01,0x1d] -// CHECK-NEXT: [0x40,0x14,0x01,0x1d] -// CHECK-NEXT: [0x40,0x54,0x01,0x1d] -// CHECK-NEXT: [0x40,0x94,0x01,0x1d] -// CHECK-NEXT: [0x40,0xd4,0x01,0x1d] -// CHECK-NEXT: [0x40,0x24,0x01,0x1d] -// CHECK-NEXT: [0x40,0x64,0x01,0x1d] -// CHECK-NEXT: [0x40,0xa4,0x01,0x1d] -// CHECK-NEXT: [0x40,0xe4,0x01,0x1d] -// CHECK-NEXT: [0x40,0x34,0x01,0x1d] -// CHECK-NEXT: [0x40,0x74,0x01,0x1d] -// CHECK-NEXT: [0x40,0xb4,0x01,0x1d] -// CHECK-NEXT: [0x40,0xf4,0x01,0x1d] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops cpyp [x0]!, [x1]!, x2! +// CHECK-INST: cpyp [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x04,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d010440 + cpypwn [x0]!, [x1]!, x2! +// CHECK-INST: cpypwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x44,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d014440 + cpyprn [x0]!, [x1]!, x2! +// CHECK-INST: cpyprn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x84,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d018440 + cpypn [x0]!, [x1]!, x2! +// CHECK-INST: cpypn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xc4,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d01c440 + cpypwt [x0]!, [x1]!, x2! +// CHECK-INST: cpypwt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x14,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d011440 + cpypwtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpypwtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x54,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d015440 + cpypwtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpypwtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x94,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d019440 + cpypwtn [x0]!, [x1]!, x2! +// CHECK-INST: cpypwtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xd4,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d01d440 + cpyprt [x0]!, [x1]!, x2! +// CHECK-INST: cpyprt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x24,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d012440 + cpyprtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyprtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x64,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d016440 + cpyprtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyprtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xa4,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d01a440 + cpyprtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyprtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xe4,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d01e440 + cpypt [x0]!, [x1]!, x2! +// CHECK-INST: cpypt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x34,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d013440 + cpyptwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyptwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x74,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d017440 + cpyptrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyptrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xb4,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d01b440 + cpyptn [x0]!, [x1]!, x2! +// CHECK-INST: cpyptn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xf4,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d01f440 -// CHECK: [0x40,0x04,0x41,0x1d] -// CHECK-NEXT: [0x40,0x44,0x41,0x1d] -// CHECK-NEXT: [0x40,0x84,0x41,0x1d] -// CHECK-NEXT: [0x40,0xc4,0x41,0x1d] -// CHECK-NEXT: [0x40,0x14,0x41,0x1d] -// CHECK-NEXT: [0x40,0x54,0x41,0x1d] -// CHECK-NEXT: [0x40,0x94,0x41,0x1d] -// CHECK-NEXT: [0x40,0xd4,0x41,0x1d] -// CHECK-NEXT: [0x40,0x24,0x41,0x1d] -// CHECK-NEXT: [0x40,0x64,0x41,0x1d] -// CHECK-NEXT: [0x40,0xa4,0x41,0x1d] -// CHECK-NEXT: [0x40,0xe4,0x41,0x1d] -// CHECK-NEXT: [0x40,0x34,0x41,0x1d] -// CHECK-NEXT: [0x40,0x74,0x41,0x1d] -// CHECK-NEXT: [0x40,0xb4,0x41,0x1d] -// CHECK-NEXT: [0x40,0xf4,0x41,0x1d] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops cpym [x0]!, [x1]!, x2! +// CHECK-INST: cpym [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x04,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d410440 + cpymwn [x0]!, [x1]!, x2! +// CHECK-INST: cpymwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x44,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d414440 + cpymrn [x0]!, [x1]!, x2! +// CHECK-INST: cpymrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x84,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d418440 + cpymn [x0]!, [x1]!, x2! +// CHECK-INST: cpymn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xc4,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d41c440 + cpymwt [x0]!, [x1]!, x2! +// CHECK-INST: cpymwt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x14,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d411440 + cpymwtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpymwtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x54,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d415440 + cpymwtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpymwtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x94,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d419440 + cpymwtn [x0]!, [x1]!, x2! +// CHECK-INST: cpymwtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xd4,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d41d440 + cpymrt [x0]!, [x1]!, x2! +// CHECK-INST: cpymrt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x24,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d412440 + cpymrtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpymrtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x64,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d416440 + cpymrtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpymrtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xa4,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d41a440 + cpymrtn [x0]!, [x1]!, x2! +// CHECK-INST: cpymrtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xe4,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d41e440 + cpymt [x0]!, [x1]!, x2! +// CHECK-INST: cpymt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x34,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d413440 + cpymtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpymtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x74,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d417440 + cpymtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpymtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xb4,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d41b440 + cpymtn [x0]!, [x1]!, x2! +// CHECK-INST: cpymtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xf4,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d41f440 -// CHECK: [0x40,0x04,0x81,0x1d] -// CHECK-NEXT: [0x40,0x44,0x81,0x1d] -// CHECK-NEXT: [0x40,0x84,0x81,0x1d] -// CHECK-NEXT: [0x40,0xc4,0x81,0x1d] -// CHECK-NEXT: [0x40,0x14,0x81,0x1d] -// CHECK-NEXT: [0x40,0x54,0x81,0x1d] -// CHECK-NEXT: [0x40,0x94,0x81,0x1d] -// CHECK-NEXT: [0x40,0xd4,0x81,0x1d] -// CHECK-NEXT: [0x40,0x24,0x81,0x1d] -// CHECK-NEXT: [0x40,0x64,0x81,0x1d] -// CHECK-NEXT: [0x40,0xa4,0x81,0x1d] -// CHECK-NEXT: [0x40,0xe4,0x81,0x1d] -// CHECK-NEXT: [0x40,0x34,0x81,0x1d] -// CHECK-NEXT: [0x40,0x74,0x81,0x1d] -// CHECK-NEXT: [0x40,0xb4,0x81,0x1d] -// CHECK-NEXT: [0x40,0xf4,0x81,0x1d] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops cpye [x0]!, [x1]!, x2! +// CHECK-INST: cpye [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x04,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d810440 + cpyewn [x0]!, [x1]!, x2! +// CHECK-INST: cpyewn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x44,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d814440 + cpyern [x0]!, [x1]!, x2! +// CHECK-INST: cpyern [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x84,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d818440 + cpyen [x0]!, [x1]!, x2! +// CHECK-INST: cpyen [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xc4,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d81c440 + cpyewt [x0]!, [x1]!, x2! +// CHECK-INST: cpyewt [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x14,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d811440 + cpyewtwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyewtwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x54,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d815440 + cpyewtrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyewtrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x94,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d819440 + cpyewtn [x0]!, [x1]!, x2! +// CHECK-INST: cpyewtn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xd4,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d81d440 + cpyert [x0]!, [x1]!, x2! +// CHECK-INST: cpyert [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x24,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d812440 + cpyertwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyertwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x64,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d816440 + cpyertrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyertrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xa4,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d81a440 + cpyertn [x0]!, [x1]!, x2! +// CHECK-INST: cpyertn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xe4,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d81e440 + cpyet [x0]!, [x1]!, x2! +// CHECK-INST: cpyet [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x34,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d813440 + cpyetwn [x0]!, [x1]!, x2! +// CHECK-INST: cpyetwn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0x74,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d817440 + cpyetrn [x0]!, [x1]!, x2! +// CHECK-INST: cpyetrn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xb4,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d81b440 + cpyetn [x0]!, [x1]!, x2! +// CHECK-INST: cpyetn [x0]!, [x1]!, x2! +// CHECK-ENCODING: encoding: [0x40,0xf4,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d81f440 -// CHECK: [0x20,0x04,0xc2,0x19] -// CHECK-NEXT: [0x20,0x14,0xc2,0x19] -// CHECK-NEXT: [0x20,0x24,0xc2,0x19] -// CHECK-NEXT: [0x20,0x34,0xc2,0x19] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops setp [x0]!, x1!, x2 +// CHECK-INST: setp [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c20420 + setpt [x0]!, x1!, x2 +// CHECK-INST: setpt [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c21420 + setpn [x0]!, x1!, x2 +// CHECK-INST: setpn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c22420 + setptn [x0]!, x1!, x2 +// CHECK-INST: setptn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c23420 -// CHECK: [0x20,0x44,0xc2,0x19] -// CHECK: [0x20,0x54,0xc2,0x19] -// CHECK: [0x20,0x64,0xc2,0x19] -// CHECK: [0x20,0x74,0xc2,0x19] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops setm [x0]!, x1!, x2 +// CHECK-INST: setm [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c24420 + setmt [x0]!, x1!, x2 +// CHECK-INST: setmt [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c25420 + setmn [x0]!, x1!, x2 +// CHECK-INST: setmn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c26420 + setmtn [x0]!, x1!, x2 +// CHECK-INST: setmtn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c27420 -// CHECK: [0x20,0x84,0xc2,0x19] -// CHECK: [0x20,0x94,0xc2,0x19] -// CHECK: [0x20,0xa4,0xc2,0x19] -// CHECK: [0x20,0xb4,0xc2,0x19] -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops -// CHECK-NO-MOPS-ERR: error: instruction requires: mops sete [x0]!, x1!, x2 +// CHECK-INST: sete [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c28420 + setet [x0]!, x1!, x2 +// CHECK-INST: setet [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c29420 + seten [x0]!, x1!, x2 +// CHECK-INST: seten [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c2a420 + setetn [x0]!, x1!, x2 +// CHECK-INST: setetn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c2b420 -// CHECK-MTE: [0x20,0x04,0xc2,0x1d] -// CHECK-MTE: [0x20,0x14,0xc2,0x1d] -// CHECK-MTE: [0x20,0x24,0xc2,0x1d] -// CHECK-MTE: [0x20,0x34,0xc2,0x1d] -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte setgp [x0]!, x1!, x2 +// CHECK-INST: setgp [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x04,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc20420 + setgpt [x0]!, x1!, x2 +// CHECK-INST: setgpt [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x14,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc21420 + setgpn [x0]!, x1!, x2 +// CHECK-INST: setgpn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x24,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc22420 + setgptn [x0]!, x1!, x2 +// CHECK-INST: setgptn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x34,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc23420 -// CHECK-MTE: [0x20,0x44,0xc2,0x1d] -// CHECK-MTE: [0x20,0x54,0xc2,0x1d] -// CHECK-MTE: [0x20,0x64,0xc2,0x1d] -// CHECK-MTE: [0x20,0x74,0xc2,0x1d] -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte setgm [x0]!, x1!, x2 +// CHECK-INST: setgm [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x44,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc24420 + setgmt [x0]!, x1!, x2 +// CHECK-INST: setgmt [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x54,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc25420 + setgmn [x0]!, x1!, x2 +// CHECK-INST: setgmn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x64,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc26420 + setgmtn [x0]!, x1!, x2 +// CHECK-INST: setgmtn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x74,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc27420 -// CHECK-MTE: [0x20,0x84,0xc2,0x1d] -// CHECK-MTE: [0x20,0x94,0xc2,0x1d] -// CHECK-MTE: [0x20,0xa4,0xc2,0x1d] -// CHECK-MTE: [0x20,0xb4,0xc2,0x1d] -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MTE-ERR: error: instruction requires: mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte -// CHECK-NO-MOPSMTE-ERR: error: instruction requires: mops mte setge [x0]!, x1!, x2 +// CHECK-INST: setge [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x84,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc28420 + setget [x0]!, x1!, x2 +// CHECK-INST: setget [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0x94,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc29420 + setgen [x0]!, x1!, x2 -setgetn [x0]!, x1!, x2 +// CHECK-INST: setgen [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0xa4,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc2a420 -// All operand must be different from each other - -// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same -cpyfp [x0]!, [x0]!, x1! -cpyfp [x0]!, [x1]!, x0! -cpyfp [x1]!, [x0]!, x0! - -// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same -cpyfm [x0]!, [x0]!, x1! -cpyfm [x0]!, [x1]!, x0! -cpyfm [x1]!, [x0]!, x0! - -// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same -cpyfe [x0]!, [x0]!, x1! -cpyfe [x0]!, [x1]!, x0! -cpyfe [x1]!, [x0]!, x0! - -// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same -cpyp [x0]!, [x0]!, x1! -cpyp [x0]!, [x1]!, x0! -cpyp [x1]!, [x0]!, x0! - -// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same -cpym [x0]!, [x0]!, x1! -cpym [x0]!, [x1]!, x0! -cpym [x1]!, [x0]!, x0! - -// CHECK-ERROR: error: invalid CPY instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid CPY instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid CPY instruction, source and size registers are the same -cpye [x0]!, [x0]!, x1! -cpye [x0]!, [x1]!, x0! -cpye [x1]!, [x0]!, x0! - -// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same -setp [x0]!, x0!, x1 -setp [x0]!, x1!, x0 -setp [x1]!, x0!, x0 - -// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same -setm [x0]!, x0!, x1 -setm [x0]!, x1!, x0 -setm [x1]!, x0!, x0 - -// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same -sete [x0]!, x0!, x1 -sete [x0]!, x1!, x0 -sete [x1]!, x0!, x0 - -// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same -setgp [x0]!, x0!, x1 -setgp [x0]!, x1!, x0 -setgp [x1]!, x0!, x0 - -// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same -setgm [x0]!, x0!, x1 -setgm [x0]!, x1!, x0 -setgm [x1]!, x0!, x0 - -// CHECK-ERROR: error: invalid SET instruction, destination and size registers are the same -// CHECK-ERROR: error: invalid SET instruction, destination and source registers are the same -// CHECK-ERROR: error: invalid SET instruction, source and size registers are the same -setge [x0]!, x0!, x1 -setge [x0]!, x1!, x0 -setge [x1]!, x0!, x0 - -// SP cannot be used as argument at any position - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -cpyfp [sp]!, [x1]!, x2! -cpyfp [x0]!, [sp]!, x2! -cpyfp [x0]!, [x1]!, sp! - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -cpyfm [sp]!, [x1]!, x2! -cpyfm [x0]!, [sp]!, x2! -cpyfm [x0]!, [x1]!, sp! - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -cpyfe [sp]!, [x1]!, x2! -cpyfe [x0]!, [sp]!, x2! -cpyfe [x0]!, [x1]!, sp! - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -cpyp [sp]!, [x2]!, x2! -cpyp [x0]!, [sp]!, x2! -cpyp [x0]!, [x1]!, sp! - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -cpym [sp]!, [x2]!, x2! -cpym [x0]!, [sp]!, x2! -cpym [x0]!, [x1]!, sp! - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -cpye [sp]!, [x2]!, x2! -cpye [x0]!, [sp]!, x2! -cpye [x0]!, [x1]!, sp! - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -setp [sp]!, x1!, x2 -setp [x0]!, sp!, x2 -setp [x0]!, x1!, sp - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -setm [sp]!, x1!, x2 -setm [x0]!, sp!, x2 -setm [x0]!, x1!, sp - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -sete [sp]!, x1!, x2 -sete [x0]!, sp!, x2 -sete [x0]!, x1!, sp - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -setgp [sp]!, x1!, x2 -setgp [x0]!, sp!, x2 -setgp [x0]!, x1!, sp - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -setgm [sp]!, x1!, x2 -setgm [x0]!, sp!, x2 -setgm [x0]!, x1!, sp - -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -setge [sp]!, x1!, x2 -setge [x0]!, sp!, x2 -setge [x0]!, x1!, sp +setgetn [x0]!, x1!, x2 +// CHECK-INST: setgetn [x0]!, x1!, x2 +// CHECK-ENCODING: encoding: [0x20,0xb4,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops mte +// CHECK-UNKNOWN: 1dc2b420 // XZR can only be used at: // - the size operand in CPY. // - the size or source operands in SET. -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: cpyfp [x0]!, [x1]!, xzr! -cpyfp [xzr]!, [x1]!, x2! -cpyfp [x0]!, [xzr]!, x2! cpyfp [x0]!, [x1]!, xzr! +// CHECK-INST: cpyfp [x0]!, [x1]!, xzr! +// CHECK-ENCODING: encoding: [0xe0,0x07,0x01,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 190107e0 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: cpyfm [x0]!, [x1]!, xzr! -cpyfm [xzr]!, [x1]!, x2! -cpyfm [x0]!, [xzr]!, x2! cpyfm [x0]!, [x1]!, xzr! +// CHECK-INST: cpyfm [x0]!, [x1]!, xzr! +// CHECK-ENCODING: encoding: [0xe0,0x07,0x41,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 194107e0 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: cpyfe [x0]!, [x1]!, xzr! -cpyfe [xzr]!, [x1]!, x2! -cpyfe [x0]!, [xzr]!, x2! cpyfe [x0]!, [x1]!, xzr! +// CHECK-INST: cpyfe [x0]!, [x1]!, xzr! +// CHECK-ENCODING: encoding: [0xe0,0x07,0x81,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 198107e0 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: cpyp [x0]!, [x1]!, xzr! -cpyp [xzr]!, [x2]!, x2! -cpyp [x0]!, [xzr]!, x2! cpyp [x0]!, [x1]!, xzr! +// CHECK-INST: cpyp [x0]!, [x1]!, xzr! +// CHECK-ENCODING: encoding: [0xe0,0x07,0x01,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d0107e0 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: cpym [x0]!, [x1]!, xzr! -cpym [xzr]!, [x2]!, x2! -cpym [x0]!, [xzr]!, x2! cpym [x0]!, [x1]!, xzr! +// CHECK-INST: cpym [x0]!, [x1]!, xzr! +// CHECK-ENCODING: encoding: [0xe0,0x07,0x41,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d4107e0 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: cpye [x0]!, [x1]!, xzr! -cpye [xzr]!, [x2]!, x2! -cpye [x0]!, [xzr]!, x2! cpye [x0]!, [x1]!, xzr! +// CHECK-INST: cpye [x0]!, [x1]!, xzr! +// CHECK-ENCODING: encoding: [0xe0,0x07,0x81,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1d8107e0 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: setp [x0]!, xzr!, x2 -// CHECK: setp [x0]!, x1!, xzr -setp [xzr]!, x1!, x2 setp [x0]!, xzr!, x2 +// CHECK-INST: setp [x0]!, xzr!, x2 +// CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c207e0 + setp [x0]!, x1!, xzr +// CHECK-INST: setp [x0]!, x1!, xzr +// CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19df0420 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: setm [x0]!, xzr!, x2 -// CHECK: setm [x0]!, x1!, xzr -setm [xzr]!, x1!, x2 setm [x0]!, xzr!, x2 +// CHECK-INST: setm [x0]!, xzr!, x2 +// CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c247e0 + setm [x0]!, x1!, xzr +// CHECK-INST: setm [x0]!, x1!, xzr +// CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19df4420 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK: sete [x0]!, xzr!, x2 -// CHECK: sete [x0]!, x1!, xzr -sete [xzr]!, x1!, x2 sete [x0]!, xzr!, x2 +// CHECK-INST: sete [x0]!, xzr!, x2 +// CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19c287e0 + sete [x0]!, x1!, xzr +// CHECK-INST: sete [x0]!, x1!, xzr +// CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x19] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 19df8420 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-MTE: setgp [x0]!, xzr!, x2 -// CHECK-MTE: setgp [x0]!, x1!, xzr -setgp [xzr]!, x1!, x2 setgp [x0]!, xzr!, x2 +// CHECK-INST: setgp [x0]!, xzr!, x2 +// CHECK-ENCODING: encoding: [0xe0,0x07,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1dc207e0 + setgp [x0]!, x1!, xzr +// CHECK-INST: setgp [x0]!, x1!, xzr +// CHECK-ENCODING: encoding: [0x20,0x04,0xdf,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1ddf0420 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-MTE: setgm [x0]!, xzr!, x2 -// CHECK-MTE: setgm [x0]!, x1!, xzr -setgm [xzr]!, x1!, x2 setgm [x0]!, xzr!, x2 +// CHECK-INST: setgm [x0]!, xzr!, x2 +// CHECK-ENCODING: encoding: [0xe0,0x47,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1dc247e0 + setgm [x0]!, x1!, xzr +// CHECK-INST: setgm [x0]!, x1!, xzr +// CHECK-ENCODING: encoding: [0x20,0x44,0xdf,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1ddf4420 -// CHECK-ERROR: error: invalid operand for instruction -// CHECK-MTE: setge [x0]!, xzr!, x2 -// CHECK-MTE: setge [x0]!, x1!, xzr -setge [xzr]!, x1!, x2 setge [x0]!, xzr!, x2 +// CHECK-INST: setge [x0]!, xzr!, x2 +// CHECK-ENCODING: encoding: [0xe0,0x87,0xc2,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1dc287e0 + setge [x0]!, x1!, xzr +// CHECK-INST: setge [x0]!, x1!, xzr +// CHECK-ENCODING: encoding: [0x20,0x84,0xdf,0x1d] +// CHECK-ERROR: error: instruction requires: mops +// CHECK-UNKNOWN: 1ddf8420 diff --git a/llvm/test/MC/AArch64/armv8.9a-clrbhb.s b/llvm/test/MC/AArch64/armv8.9a-clrbhb.s index 96de61f50f584..9b5bfec86185e 100644 --- a/llvm/test/MC/AArch64/armv8.9a-clrbhb.s +++ b/llvm/test/MC/AArch64/armv8.9a-clrbhb.s @@ -2,42 +2,56 @@ // Assembly is always permitted for instructions in the hint space. // Optional, off by default -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8a < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.8a < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9a < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.3a < %s | FileCheck %s --check-prefix=HINT_22 // Optional, off by default, doubly disabled -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.8a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.3a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 // Optional, off by default, manually enabled -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.8a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.3a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.8a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.3a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST // Mandatory, enabled by default -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a < %s | FileCheck %s --check-prefix=CLRBHB -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a < %s | FileCheck %s --check-prefix=CLRBHB +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.9a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.4a < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST // Mandatory, on by default, doubly enabled -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,+clrbhb < %s | FileCheck %s --check-prefix=CLRBHB +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.9a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.4a,+clrbhb < %s | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST // Mandatory, can't prevent disabling in LLVM -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v8.9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 -// RUN: llvm-mc -show-encoding -triple aarch64-none-elf -mattr=+v9.4a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 - - clrbhb - hint #22 - -// CLRBHB: clrbhb // encoding: [0xdf,0x22,0x03,0xd5] -// CLRBHB: clrbhb // encoding: [0xdf,0x22,0x03,0xd5] -// HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5] -// HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5] +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v8.9a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 +// RUN: llvm-mc -show-encoding -triple aarch64 -mattr=+v9.4a,-clrbhb < %s | FileCheck %s --check-prefix=HINT_22 + +// Check Unknown +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+clrbhb < %s \ +// RUN: | llvm-objdump -d --mattr=-clrbhb --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN + +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+clrbhb < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+clrbhb -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + +clrbhb +// HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5] +// CHECK-INST: clrbhb +// CHECK-ENCODING: encoding: [0xdf,0x22,0x03,0xd5] +// CHECK-UNKNOWN: d50322df hint #22 + +hint #22 +// HINT_22: hint #22 // encoding: [0xdf,0x22,0x03,0xd5] +// CHECK-INST: clrbhb +// CHECK-ENCODING: encoding: [0xdf,0x22,0x03,0xd5] +// CHECK-UNKNOWN: d50322df hint #22 diff --git a/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s b/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s index 0b74905c27fb6..db5cb0701036d 100644 --- a/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s +++ b/llvm/test/MC/AArch64/armv8.9a-debug-pmu.s @@ -1,485 +1,1785 @@ -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+ite < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a -mattr=+ite < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a -mattr=+ite < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.3a -mattr=+ite < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a -mattr=+ite < %s | FileCheck %s - -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.8a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.3a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ITE %s +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.8a,+ite < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.9a,+ite < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.3a,+ite < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.4a,+ite < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+ite < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+ite < %s \ +// RUN: | llvm-objdump -d --mattr=+ite --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+ite < %s \ +// RUN: | llvm-objdump -d --mattr=-ite --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+ite < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+ite -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + +mrs x3, DBGBVR0_EL1 +// CHECK-INST: mrs x3, DBGBVR0_EL1 +// CHECK-ENCODING: encoding: [0x83,0x00,0x30,0xd5] +// CHECK-UNKNOWN: d5300083 mrs x3, DBGBVR0_EL1 + +msr DBGBVR0_EL1, x1 +// CHECK-INST: msr DBGBVR0_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x00,0x10,0xd5] +// CHECK-UNKNOWN: d5100081 msr DBGBVR0_EL1, x1 + +mrs x3, DBGBVR1_EL1 +// CHECK-INST: mrs x3, DBGBVR1_EL1 +// CHECK-ENCODING: encoding: [0x83,0x01,0x30,0xd5] +// CHECK-UNKNOWN: d5300183 mrs x3, DBGBVR1_EL1 + +msr DBGBVR1_EL1, x1 +// CHECK-INST: msr DBGBVR1_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x01,0x10,0xd5] +// CHECK-UNKNOWN: d5100181 msr DBGBVR1_EL1, x1 + +mrs x3, DBGBVR2_EL1 +// CHECK-INST: mrs x3, DBGBVR2_EL1 +// CHECK-ENCODING: encoding: [0x83,0x02,0x30,0xd5] +// CHECK-UNKNOWN: d5300283 mrs x3, DBGBVR2_EL1 + +msr DBGBVR2_EL1, x1 +// CHECK-INST: msr DBGBVR2_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x02,0x10,0xd5] +// CHECK-UNKNOWN: d5100281 msr DBGBVR2_EL1, x1 + +mrs x3, DBGBVR3_EL1 +// CHECK-INST: mrs x3, DBGBVR3_EL1 +// CHECK-ENCODING: encoding: [0x83,0x03,0x30,0xd5] +// CHECK-UNKNOWN: d5300383 mrs x3, DBGBVR3_EL1 + +msr DBGBVR3_EL1, x1 +// CHECK-INST: msr DBGBVR3_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x03,0x10,0xd5] +// CHECK-UNKNOWN: d5100381 msr DBGBVR3_EL1, x1 + +mrs x3, DBGBVR4_EL1 +// CHECK-INST: mrs x3, DBGBVR4_EL1 +// CHECK-ENCODING: encoding: [0x83,0x04,0x30,0xd5] +// CHECK-UNKNOWN: d5300483 mrs x3, DBGBVR4_EL1 + +msr DBGBVR4_EL1, x1 +// CHECK-INST: msr DBGBVR4_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x04,0x10,0xd5] +// CHECK-UNKNOWN: d5100481 msr DBGBVR4_EL1, x1 + +mrs x3, DBGBVR5_EL1 +// CHECK-INST: mrs x3, DBGBVR5_EL1 +// CHECK-ENCODING: encoding: [0x83,0x05,0x30,0xd5] +// CHECK-UNKNOWN: d5300583 mrs x3, DBGBVR5_EL1 + +msr DBGBVR5_EL1, x1 +// CHECK-INST: msr DBGBVR5_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x05,0x10,0xd5] +// CHECK-UNKNOWN: d5100581 msr DBGBVR5_EL1, x1 + +mrs x3, DBGBVR6_EL1 +// CHECK-INST: mrs x3, DBGBVR6_EL1 +// CHECK-ENCODING: encoding: [0x83,0x06,0x30,0xd5] +// CHECK-UNKNOWN: d5300683 mrs x3, DBGBVR6_EL1 + +msr DBGBVR6_EL1, x1 +// CHECK-INST: msr DBGBVR6_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x06,0x10,0xd5] +// CHECK-UNKNOWN: d5100681 msr DBGBVR6_EL1, x1 + +mrs x3, DBGBVR7_EL1 +// CHECK-INST: mrs x3, DBGBVR7_EL1 +// CHECK-ENCODING: encoding: [0x83,0x07,0x30,0xd5] +// CHECK-UNKNOWN: d5300783 mrs x3, DBGBVR7_EL1 + +msr DBGBVR7_EL1, x1 +// CHECK-INST: msr DBGBVR7_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x07,0x10,0xd5] +// CHECK-UNKNOWN: d5100781 msr DBGBVR7_EL1, x1 + +mrs x3, DBGBVR8_EL1 +// CHECK-INST: mrs x3, DBGBVR8_EL1 +// CHECK-ENCODING: encoding: [0x83,0x08,0x30,0xd5] +// CHECK-UNKNOWN: d5300883 mrs x3, DBGBVR8_EL1 + +msr DBGBVR8_EL1, x1 +// CHECK-INST: msr DBGBVR8_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x08,0x10,0xd5] +// CHECK-UNKNOWN: d5100881 msr DBGBVR8_EL1, x1 + +mrs x3, DBGBVR9_EL1 +// CHECK-INST: mrs x3, DBGBVR9_EL1 +// CHECK-ENCODING: encoding: [0x83,0x09,0x30,0xd5] +// CHECK-UNKNOWN: d5300983 mrs x3, DBGBVR9_EL1 + +msr DBGBVR9_EL1, x1 +// CHECK-INST: msr DBGBVR9_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x09,0x10,0xd5] +// CHECK-UNKNOWN: d5100981 msr DBGBVR9_EL1, x1 + +mrs x3, DBGBVR10_EL1 +// CHECK-INST: mrs x3, DBGBVR10_EL1 +// CHECK-ENCODING: encoding: [0x83,0x0a,0x30,0xd5] +// CHECK-UNKNOWN: d5300a83 mrs x3, DBGBVR10_EL1 + +msr DBGBVR10_EL1, x1 +// CHECK-INST: msr DBGBVR10_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x0a,0x10,0xd5] +// CHECK-UNKNOWN: d5100a81 msr DBGBVR10_EL1, x1 + +mrs x3, DBGBVR11_EL1 +// CHECK-INST: mrs x3, DBGBVR11_EL1 +// CHECK-ENCODING: encoding: [0x83,0x0b,0x30,0xd5] +// CHECK-UNKNOWN: d5300b83 mrs x3, DBGBVR11_EL1 + +msr DBGBVR11_EL1, x1 +// CHECK-INST: msr DBGBVR11_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x0b,0x10,0xd5] +// CHECK-UNKNOWN: d5100b81 msr DBGBVR11_EL1, x1 + +mrs x3, DBGBVR12_EL1 +// CHECK-INST: mrs x3, DBGBVR12_EL1 +// CHECK-ENCODING: encoding: [0x83,0x0c,0x30,0xd5] +// CHECK-UNKNOWN: d5300c83 mrs x3, DBGBVR12_EL1 + +msr DBGBVR12_EL1, x1 +// CHECK-INST: msr DBGBVR12_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x0c,0x10,0xd5] +// CHECK-UNKNOWN: d5100c81 msr DBGBVR12_EL1, x1 + +mrs x3, DBGBVR13_EL1 +// CHECK-INST: mrs x3, DBGBVR13_EL1 +// CHECK-ENCODING: encoding: [0x83,0x0d,0x30,0xd5] +// CHECK-UNKNOWN: d5300d83 mrs x3, DBGBVR13_EL1 + +msr DBGBVR13_EL1, x1 +// CHECK-INST: msr DBGBVR13_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x0d,0x10,0xd5] +// CHECK-UNKNOWN: d5100d81 msr DBGBVR13_EL1, x1 + +mrs x3, DBGBVR14_EL1 +// CHECK-INST: mrs x3, DBGBVR14_EL1 +// CHECK-ENCODING: encoding: [0x83,0x0e,0x30,0xd5] +// CHECK-UNKNOWN: d5300e83 mrs x3, DBGBVR14_EL1 + +msr DBGBVR14_EL1, x1 +// CHECK-INST: msr DBGBVR14_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x0e,0x10,0xd5] +// CHECK-UNKNOWN: d5100e81 msr DBGBVR14_EL1, x1 + +mrs x3, DBGBVR15_EL1 +// CHECK-INST: mrs x3, DBGBVR15_EL1 +// CHECK-ENCODING: encoding: [0x83,0x0f,0x30,0xd5] +// CHECK-UNKNOWN: d5300f83 mrs x3, DBGBVR15_EL1 + +msr DBGBVR15_EL1, x1 +// CHECK-INST: msr DBGBVR15_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x0f,0x10,0xd5] +// CHECK-UNKNOWN: d5100f81 msr DBGBVR15_EL1, x1 + +mrs x3, DBGBCR0_EL1 +// CHECK-INST: mrs x3, DBGBCR0_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x00,0x30,0xd5] +// CHECK-UNKNOWN: d53000a3 mrs x3, DBGBCR0_EL1 + +msr DBGBCR0_EL1, x1 +// CHECK-INST: msr DBGBCR0_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x00,0x10,0xd5] +// CHECK-UNKNOWN: d51000a1 msr DBGBCR0_EL1, x1 + +mrs x3, DBGBCR1_EL1 +// CHECK-INST: mrs x3, DBGBCR1_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x01,0x30,0xd5] +// CHECK-UNKNOWN: d53001a3 mrs x3, DBGBCR1_EL1 + +msr DBGBCR1_EL1, x1 +// CHECK-INST: msr DBGBCR1_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x01,0x10,0xd5] +// CHECK-UNKNOWN: d51001a1 msr DBGBCR1_EL1, x1 + +mrs x3, DBGBCR2_EL1 +// CHECK-INST: mrs x3, DBGBCR2_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x02,0x30,0xd5] +// CHECK-UNKNOWN: d53002a3 mrs x3, DBGBCR2_EL1 + +msr DBGBCR2_EL1, x1 +// CHECK-INST: msr DBGBCR2_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x02,0x10,0xd5] +// CHECK-UNKNOWN: d51002a1 msr DBGBCR2_EL1, x1 + +mrs x3, DBGBCR3_EL1 +// CHECK-INST: mrs x3, DBGBCR3_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x03,0x30,0xd5] +// CHECK-UNKNOWN: d53003a3 mrs x3, DBGBCR3_EL1 + +msr DBGBCR3_EL1, x1 +// CHECK-INST: msr DBGBCR3_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x03,0x10,0xd5] +// CHECK-UNKNOWN: d51003a1 msr DBGBCR3_EL1, x1 + +mrs x3, DBGBCR4_EL1 +// CHECK-INST: mrs x3, DBGBCR4_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x04,0x30,0xd5] +// CHECK-UNKNOWN: d53004a3 mrs x3, DBGBCR4_EL1 + +msr DBGBCR4_EL1, x1 +// CHECK-INST: msr DBGBCR4_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x04,0x10,0xd5] +// CHECK-UNKNOWN: d51004a1 msr DBGBCR4_EL1, x1 + +mrs x3, DBGBCR5_EL1 +// CHECK-INST: mrs x3, DBGBCR5_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x05,0x30,0xd5] +// CHECK-UNKNOWN: d53005a3 mrs x3, DBGBCR5_EL1 + +msr DBGBCR5_EL1, x1 +// CHECK-INST: msr DBGBCR5_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x05,0x10,0xd5] +// CHECK-UNKNOWN: d51005a1 msr DBGBCR5_EL1, x1 + +mrs x3, DBGBCR6_EL1 +// CHECK-INST: mrs x3, DBGBCR6_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x06,0x30,0xd5] +// CHECK-UNKNOWN: d53006a3 mrs x3, DBGBCR6_EL1 + +msr DBGBCR6_EL1, x1 +// CHECK-INST: msr DBGBCR6_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x06,0x10,0xd5] +// CHECK-UNKNOWN: d51006a1 msr DBGBCR6_EL1, x1 + +mrs x3, DBGBCR7_EL1 +// CHECK-INST: mrs x3, DBGBCR7_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x07,0x30,0xd5] +// CHECK-UNKNOWN: d53007a3 mrs x3, DBGBCR7_EL1 + +msr DBGBCR7_EL1, x1 +// CHECK-INST: msr DBGBCR7_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x07,0x10,0xd5] +// CHECK-UNKNOWN: d51007a1 msr DBGBCR7_EL1, x1 + +mrs x3, DBGBCR8_EL1 +// CHECK-INST: mrs x3, DBGBCR8_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x08,0x30,0xd5] +// CHECK-UNKNOWN: d53008a3 mrs x3, DBGBCR8_EL1 + +msr DBGBCR8_EL1, x1 +// CHECK-INST: msr DBGBCR8_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x08,0x10,0xd5] +// CHECK-UNKNOWN: d51008a1 msr DBGBCR8_EL1, x1 + +mrs x3, DBGBCR9_EL1 +// CHECK-INST: mrs x3, DBGBCR9_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x09,0x30,0xd5] +// CHECK-UNKNOWN: d53009a3 mrs x3, DBGBCR9_EL1 + +msr DBGBCR9_EL1, x1 +// CHECK-INST: msr DBGBCR9_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x09,0x10,0xd5] +// CHECK-UNKNOWN: d51009a1 msr DBGBCR9_EL1, x1 + +mrs x3, DBGBCR10_EL1 +// CHECK-INST: mrs x3, DBGBCR10_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x0a,0x30,0xd5] +// CHECK-UNKNOWN: d5300aa3 mrs x3, DBGBCR10_EL1 + +msr DBGBCR10_EL1, x1 +// CHECK-INST: msr DBGBCR10_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x0a,0x10,0xd5] +// CHECK-UNKNOWN: d5100aa1 msr DBGBCR10_EL1, x1 + +mrs x3, DBGBCR11_EL1 +// CHECK-INST: mrs x3, DBGBCR11_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x0b,0x30,0xd5] +// CHECK-UNKNOWN: d5300ba3 mrs x3, DBGBCR11_EL1 + +msr DBGBCR11_EL1, x1 +// CHECK-INST: msr DBGBCR11_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x0b,0x10,0xd5] +// CHECK-UNKNOWN: d5100ba1 msr DBGBCR11_EL1, x1 + +mrs x3, DBGBCR12_EL1 +// CHECK-INST: mrs x3, DBGBCR12_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x0c,0x30,0xd5] +// CHECK-UNKNOWN: d5300ca3 mrs x3, DBGBCR12_EL1 + +msr DBGBCR12_EL1, x1 +// CHECK-INST: msr DBGBCR12_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x0c,0x10,0xd5] +// CHECK-UNKNOWN: d5100ca1 msr DBGBCR12_EL1, x1 + +mrs x3, DBGBCR13_EL1 +// CHECK-INST: mrs x3, DBGBCR13_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x0d,0x30,0xd5] +// CHECK-UNKNOWN: d5300da3 mrs x3, DBGBCR13_EL1 + +msr DBGBCR13_EL1, x1 +// CHECK-INST: msr DBGBCR13_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x0d,0x10,0xd5] +// CHECK-UNKNOWN: d5100da1 msr DBGBCR13_EL1, x1 + +mrs x3, DBGBCR14_EL1 +// CHECK-INST: mrs x3, DBGBCR14_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x0e,0x30,0xd5] +// CHECK-UNKNOWN: d5300ea3 mrs x3, DBGBCR14_EL1 + +msr DBGBCR14_EL1, x1 +// CHECK-INST: msr DBGBCR14_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x0e,0x10,0xd5] +// CHECK-UNKNOWN: d5100ea1 msr DBGBCR14_EL1, x1 + +mrs x3, DBGBCR15_EL1 +// CHECK-INST: mrs x3, DBGBCR15_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x0f,0x30,0xd5] +// CHECK-UNKNOWN: d5300fa3 mrs x3, DBGBCR15_EL1 + +msr DBGBCR15_EL1, x1 +// CHECK-INST: msr DBGBCR15_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x0f,0x10,0xd5] +// CHECK-UNKNOWN: d5100fa1 msr DBGBCR15_EL1, x1 + +mrs x3, DBGWVR0_EL1 +// CHECK-INST: mrs x3, DBGWVR0_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x00,0x30,0xd5] +// CHECK-UNKNOWN: d53000c3 mrs x3, DBGWVR0_EL1 + +msr DBGWVR0_EL1, x1 +// CHECK-INST: msr DBGWVR0_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x00,0x10,0xd5] +// CHECK-UNKNOWN: d51000c1 msr DBGWVR0_EL1, x1 + +mrs x3, DBGWVR1_EL1 +// CHECK-INST: mrs x3, DBGWVR1_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x01,0x30,0xd5] +// CHECK-UNKNOWN: d53001c3 mrs x3, DBGWVR1_EL1 + +msr DBGWVR1_EL1, x1 +// CHECK-INST: msr DBGWVR1_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x01,0x10,0xd5] +// CHECK-UNKNOWN: d51001c1 msr DBGWVR1_EL1, x1 + +mrs x3, DBGWVR2_EL1 +// CHECK-INST: mrs x3, DBGWVR2_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x02,0x30,0xd5] +// CHECK-UNKNOWN: d53002c3 mrs x3, DBGWVR2_EL1 + +msr DBGWVR2_EL1, x1 +// CHECK-INST: msr DBGWVR2_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x02,0x10,0xd5] +// CHECK-UNKNOWN: d51002c1 msr DBGWVR2_EL1, x1 + +mrs x3, DBGWVR3_EL1 +// CHECK-INST: mrs x3, DBGWVR3_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x03,0x30,0xd5] +// CHECK-UNKNOWN: d53003c3 mrs x3, DBGWVR3_EL1 + +msr DBGWVR3_EL1, x1 +// CHECK-INST: msr DBGWVR3_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x03,0x10,0xd5] +// CHECK-UNKNOWN: d51003c1 msr DBGWVR3_EL1, x1 + +mrs x3, DBGWVR4_EL1 +// CHECK-INST: mrs x3, DBGWVR4_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x04,0x30,0xd5] +// CHECK-UNKNOWN: d53004c3 mrs x3, DBGWVR4_EL1 + +msr DBGWVR4_EL1, x1 +// CHECK-INST: msr DBGWVR4_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x04,0x10,0xd5] +// CHECK-UNKNOWN: d51004c1 msr DBGWVR4_EL1, x1 + +mrs x3, DBGWVR5_EL1 +// CHECK-INST: mrs x3, DBGWVR5_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x05,0x30,0xd5] +// CHECK-UNKNOWN: d53005c3 mrs x3, DBGWVR5_EL1 + +msr DBGWVR5_EL1, x1 +// CHECK-INST: msr DBGWVR5_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x05,0x10,0xd5] +// CHECK-UNKNOWN: d51005c1 msr DBGWVR5_EL1, x1 + +mrs x3, DBGWVR6_EL1 +// CHECK-INST: mrs x3, DBGWVR6_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x06,0x30,0xd5] +// CHECK-UNKNOWN: d53006c3 mrs x3, DBGWVR6_EL1 + +msr DBGWVR6_EL1, x1 +// CHECK-INST: msr DBGWVR6_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x06,0x10,0xd5] +// CHECK-UNKNOWN: d51006c1 msr DBGWVR6_EL1, x1 + +mrs x3, DBGWVR7_EL1 +// CHECK-INST: mrs x3, DBGWVR7_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x07,0x30,0xd5] +// CHECK-UNKNOWN: d53007c3 mrs x3, DBGWVR7_EL1 + +msr DBGWVR7_EL1, x1 +// CHECK-INST: msr DBGWVR7_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x07,0x10,0xd5] +// CHECK-UNKNOWN: d51007c1 msr DBGWVR7_EL1, x1 + +mrs x3, DBGWVR8_EL1 +// CHECK-INST: mrs x3, DBGWVR8_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x08,0x30,0xd5] +// CHECK-UNKNOWN: d53008c3 mrs x3, DBGWVR8_EL1 + +msr DBGWVR8_EL1, x1 +// CHECK-INST: msr DBGWVR8_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x08,0x10,0xd5] +// CHECK-UNKNOWN: d51008c1 msr DBGWVR8_EL1, x1 + +mrs x3, DBGWVR9_EL1 +// CHECK-INST: mrs x3, DBGWVR9_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x09,0x30,0xd5] +// CHECK-UNKNOWN: d53009c3 mrs x3, DBGWVR9_EL1 + +msr DBGWVR9_EL1, x1 +// CHECK-INST: msr DBGWVR9_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x09,0x10,0xd5] +// CHECK-UNKNOWN: d51009c1 msr DBGWVR9_EL1, x1 + +mrs x3, DBGWVR10_EL1 +// CHECK-INST: mrs x3, DBGWVR10_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x0a,0x30,0xd5] +// CHECK-UNKNOWN: d5300ac3 mrs x3, DBGWVR10_EL1 + +msr DBGWVR10_EL1, x1 +// CHECK-INST: msr DBGWVR10_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x0a,0x10,0xd5] +// CHECK-UNKNOWN: d5100ac1 msr DBGWVR10_EL1, x1 + +mrs x3, DBGWVR11_EL1 +// CHECK-INST: mrs x3, DBGWVR11_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x0b,0x30,0xd5] +// CHECK-UNKNOWN: d5300bc3 mrs x3, DBGWVR11_EL1 + +msr DBGWVR11_EL1, x1 +// CHECK-INST: msr DBGWVR11_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x0b,0x10,0xd5] +// CHECK-UNKNOWN: d5100bc1 msr DBGWVR11_EL1, x1 + +mrs x3, DBGWVR12_EL1 +// CHECK-INST: mrs x3, DBGWVR12_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x0c,0x30,0xd5] +// CHECK-UNKNOWN: d5300cc3 mrs x3, DBGWVR12_EL1 + +msr DBGWVR12_EL1, x1 +// CHECK-INST: msr DBGWVR12_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x0c,0x10,0xd5] +// CHECK-UNKNOWN: d5100cc1 msr DBGWVR12_EL1, x1 + +mrs x3, DBGWVR13_EL1 +// CHECK-INST: mrs x3, DBGWVR13_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x0d,0x30,0xd5] +// CHECK-UNKNOWN: d5300dc3 mrs x3, DBGWVR13_EL1 + +msr DBGWVR13_EL1, x1 +// CHECK-INST: msr DBGWVR13_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x0d,0x10,0xd5] +// CHECK-UNKNOWN: d5100dc1 msr DBGWVR13_EL1, x1 + +mrs x3, DBGWVR14_EL1 +// CHECK-INST: mrs x3, DBGWVR14_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x0e,0x30,0xd5] +// CHECK-UNKNOWN: d5300ec3 mrs x3, DBGWVR14_EL1 + +msr DBGWVR14_EL1, x1 +// CHECK-INST: msr DBGWVR14_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x0e,0x10,0xd5] +// CHECK-UNKNOWN: d5100ec1 msr DBGWVR14_EL1, x1 + +mrs x3, DBGWVR15_EL1 +// CHECK-INST: mrs x3, DBGWVR15_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x0f,0x30,0xd5] +// CHECK-UNKNOWN: d5300fc3 mrs x3, DBGWVR15_EL1 + +msr DBGWVR15_EL1, x1 +// CHECK-INST: msr DBGWVR15_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0x0f,0x10,0xd5] +// CHECK-UNKNOWN: d5100fc1 msr DBGWVR15_EL1, x1 + +mrs x3, DBGWCR0_EL1 +// CHECK-INST: mrs x3, DBGWCR0_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x00,0x30,0xd5] +// CHECK-UNKNOWN: d53000e3 mrs x3, DBGWCR0_EL1 + +msr DBGWCR0_EL1, x1 +// CHECK-INST: msr DBGWCR0_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x00,0x10,0xd5] +// CHECK-UNKNOWN: d51000e1 msr DBGWCR0_EL1, x1 + +mrs x3, DBGWCR1_EL1 +// CHECK-INST: mrs x3, DBGWCR1_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x01,0x30,0xd5] +// CHECK-UNKNOWN: d53001e3 mrs x3, DBGWCR1_EL1 + +msr DBGWCR1_EL1, x1 +// CHECK-INST: msr DBGWCR1_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x01,0x10,0xd5] +// CHECK-UNKNOWN: d51001e1 msr DBGWCR1_EL1, x1 + +mrs x3, DBGWCR2_EL1 +// CHECK-INST: mrs x3, DBGWCR2_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x02,0x30,0xd5] +// CHECK-UNKNOWN: d53002e3 mrs x3, DBGWCR2_EL1 + +msr DBGWCR2_EL1, x1 +// CHECK-INST: msr DBGWCR2_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x02,0x10,0xd5] +// CHECK-UNKNOWN: d51002e1 msr DBGWCR2_EL1, x1 + +mrs x3, DBGWCR3_EL1 +// CHECK-INST: mrs x3, DBGWCR3_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x03,0x30,0xd5] +// CHECK-UNKNOWN: d53003e3 mrs x3, DBGWCR3_EL1 + +msr DBGWCR3_EL1, x1 +// CHECK-INST: msr DBGWCR3_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x03,0x10,0xd5] +// CHECK-UNKNOWN: d51003e1 msr DBGWCR3_EL1, x1 + +mrs x3, DBGWCR4_EL1 +// CHECK-INST: mrs x3, DBGWCR4_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x04,0x30,0xd5] +// CHECK-UNKNOWN: d53004e3 mrs x3, DBGWCR4_EL1 + +msr DBGWCR4_EL1, x1 +// CHECK-INST: msr DBGWCR4_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x04,0x10,0xd5] +// CHECK-UNKNOWN: d51004e1 msr DBGWCR4_EL1, x1 + +mrs x3, DBGWCR5_EL1 +// CHECK-INST: mrs x3, DBGWCR5_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x05,0x30,0xd5] +// CHECK-UNKNOWN: d53005e3 mrs x3, DBGWCR5_EL1 + +msr DBGWCR5_EL1, x1 +// CHECK-INST: msr DBGWCR5_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x05,0x10,0xd5] +// CHECK-UNKNOWN: d51005e1 msr DBGWCR5_EL1, x1 + +mrs x3, DBGWCR6_EL1 +// CHECK-INST: mrs x3, DBGWCR6_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x06,0x30,0xd5] +// CHECK-UNKNOWN: d53006e3 mrs x3, DBGWCR6_EL1 + +msr DBGWCR6_EL1, x1 +// CHECK-INST: msr DBGWCR6_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x06,0x10,0xd5] +// CHECK-UNKNOWN: d51006e1 msr DBGWCR6_EL1, x1 + +mrs x3, DBGWCR7_EL1 +// CHECK-INST: mrs x3, DBGWCR7_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x07,0x30,0xd5] +// CHECK-UNKNOWN: d53007e3 mrs x3, DBGWCR7_EL1 + +msr DBGWCR7_EL1, x1 +// CHECK-INST: msr DBGWCR7_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x07,0x10,0xd5] +// CHECK-UNKNOWN: d51007e1 msr DBGWCR7_EL1, x1 + +mrs x3, DBGWCR8_EL1 +// CHECK-INST: mrs x3, DBGWCR8_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x08,0x30,0xd5] +// CHECK-UNKNOWN: d53008e3 mrs x3, DBGWCR8_EL1 + +msr DBGWCR8_EL1, x1 +// CHECK-INST: msr DBGWCR8_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x08,0x10,0xd5] +// CHECK-UNKNOWN: d51008e1 msr DBGWCR8_EL1, x1 + +mrs x3, DBGWCR9_EL1 +// CHECK-INST: mrs x3, DBGWCR9_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x09,0x30,0xd5] +// CHECK-UNKNOWN: d53009e3 mrs x3, DBGWCR9_EL1 + +msr DBGWCR9_EL1, x1 +// CHECK-INST: msr DBGWCR9_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x09,0x10,0xd5] +// CHECK-UNKNOWN: d51009e1 msr DBGWCR9_EL1, x1 + +mrs x3, DBGWCR10_EL1 +// CHECK-INST: mrs x3, DBGWCR10_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x0a,0x30,0xd5] +// CHECK-UNKNOWN: d5300ae3 mrs x3, DBGWCR10_EL1 + +msr DBGWCR10_EL1, x1 +// CHECK-INST: msr DBGWCR10_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x0a,0x10,0xd5] +// CHECK-UNKNOWN: d5100ae1 msr DBGWCR10_EL1, x1 + +mrs x3, DBGWCR11_EL1 +// CHECK-INST: mrs x3, DBGWCR11_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x0b,0x30,0xd5] +// CHECK-UNKNOWN: d5300be3 mrs x3, DBGWCR11_EL1 + +msr DBGWCR11_EL1, x1 +// CHECK-INST: msr DBGWCR11_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x0b,0x10,0xd5] +// CHECK-UNKNOWN: d5100be1 msr DBGWCR11_EL1, x1 + +mrs x3, DBGWCR12_EL1 +// CHECK-INST: mrs x3, DBGWCR12_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x0c,0x30,0xd5] +// CHECK-UNKNOWN: d5300ce3 mrs x3, DBGWCR12_EL1 + +msr DBGWCR12_EL1, x1 +// CHECK-INST: msr DBGWCR12_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x0c,0x10,0xd5] +// CHECK-UNKNOWN: d5100ce1 msr DBGWCR12_EL1, x1 + +mrs x3, DBGWCR13_EL1 +// CHECK-INST: mrs x3, DBGWCR13_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x0d,0x30,0xd5] +// CHECK-UNKNOWN: d5300de3 mrs x3, DBGWCR13_EL1 + +msr DBGWCR13_EL1, x1 +// CHECK-INST: msr DBGWCR13_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x0d,0x10,0xd5] +// CHECK-UNKNOWN: d5100de1 msr DBGWCR13_EL1, x1 + +mrs x3, DBGWCR14_EL1 +// CHECK-INST: mrs x3, DBGWCR14_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x0e,0x30,0xd5] +// CHECK-UNKNOWN: d5300ee3 mrs x3, DBGWCR14_EL1 + +msr DBGWCR14_EL1, x1 +// CHECK-INST: msr DBGWCR14_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x0e,0x10,0xd5] +// CHECK-UNKNOWN: d5100ee1 msr DBGWCR14_EL1, x1 + +mrs x3, DBGWCR15_EL1 +// CHECK-INST: mrs x3, DBGWCR15_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x0f,0x30,0xd5] +// CHECK-UNKNOWN: d5300fe3 mrs x3, DBGWCR15_EL1 + +msr DBGWCR15_EL1, x1 +// CHECK-INST: msr DBGWCR15_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x0f,0x10,0xd5] +// CHECK-UNKNOWN: d5100fe1 msr DBGWCR15_EL1, x1 // FEAT_DEBUGv8p9 - mrs x3, MDSELR_EL1 -// CHECK: mrs x3, MDSELR_EL1 // encoding: [0x43,0x04,0x30,0xd5] - msr MDSELR_EL1, x1 -// CHECK: msr MDSELR_EL1, x1 // encoding: [0x41,0x04,0x10,0xd5] +mrs x3, MDSELR_EL1 +// CHECK-INST: mrs x3, MDSELR_EL1 +// CHECK-ENCODING: encoding: [0x43,0x04,0x30,0xd5] +// CHECK-UNKNOWN: d5300443 mrs x3, MDSELR_EL1 + +msr MDSELR_EL1, x1 +// CHECK-INST: msr MDSELR_EL1, x1 +// CHECK-ENCODING: encoding: [0x41,0x04,0x10,0xd5] +// CHECK-UNKNOWN: d5100441 msr MDSELR_EL1, x1 // FEAT_PMUv3p9 - mrs x3, PMUACR_EL1 -// CHECK: mrs x3, PMUACR_EL1 // encoding: [0x83,0x9e,0x38,0xd5] - msr PMUACR_EL1, x1 -// CHECK: msr PMUACR_EL1, x1 // encoding: [0x81,0x9e,0x18,0xd5] +mrs x3, PMUACR_EL1 +// CHECK-INST: mrs x3, PMUACR_EL1 +// CHECK-ENCODING: encoding: [0x83,0x9e,0x38,0xd5] +// CHECK-UNKNOWN: d5389e83 mrs x3, PMUACR_EL1 + +msr PMUACR_EL1, x1 +// CHECK-INST: msr PMUACR_EL1, x1 +// CHECK-ENCODING: encoding: [0x81,0x9e,0x18,0xd5] +// CHECK-UNKNOWN: d5189e81 msr PMUACR_EL1, x1 // FEAT_PMUv3_SS - mrs x3, PMCCNTSVR_EL1 -// CHECK: mrs x3, PMCCNTSVR_EL1 // encoding: [0xe3,0xeb,0x30,0xd5] - mrs x3, PMICNTSVR_EL1 -// CHECK: mrs x3, PMICNTSVR_EL1 // encoding: [0x03,0xec,0x30,0xd5] - mrs x3, PMSSCR_EL1 -// CHECK: mrs x3, PMSSCR_EL1 // encoding: [0x63,0x9d,0x38,0xd5] - msr PMSSCR_EL1, x1 -// CHECK: msr PMSSCR_EL1, x1 // encoding: [0x61,0x9d,0x18,0xd5] - mrs x3, PMEVCNTSVR0_EL1 -// CHECK: mrs x3, PMEVCNTSVR0_EL1 // encoding: [0x03,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR1_EL1 -// CHECK: mrs x3, PMEVCNTSVR1_EL1 // encoding: [0x23,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR2_EL1 -// CHECK: mrs x3, PMEVCNTSVR2_EL1 // encoding: [0x43,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR3_EL1 -// CHECK: mrs x3, PMEVCNTSVR3_EL1 // encoding: [0x63,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR4_EL1 -// CHECK: mrs x3, PMEVCNTSVR4_EL1 // encoding: [0x83,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR5_EL1 -// CHECK: mrs x3, PMEVCNTSVR5_EL1 // encoding: [0xa3,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR6_EL1 -// CHECK: mrs x3, PMEVCNTSVR6_EL1 // encoding: [0xc3,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR7_EL1 -// CHECK: mrs x3, PMEVCNTSVR7_EL1 // encoding: [0xe3,0xe8,0x30,0xd5] - mrs x3, PMEVCNTSVR8_EL1 -// CHECK: mrs x3, PMEVCNTSVR8_EL1 // encoding: [0x03,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR9_EL1 -// CHECK: mrs x3, PMEVCNTSVR9_EL1 // encoding: [0x23,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR10_EL1 -// CHECK: mrs x3, PMEVCNTSVR10_EL1 // encoding: [0x43,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR11_EL1 -// CHECK: mrs x3, PMEVCNTSVR11_EL1 // encoding: [0x63,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR12_EL1 -// CHECK: mrs x3, PMEVCNTSVR12_EL1 // encoding: [0x83,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR13_EL1 -// CHECK: mrs x3, PMEVCNTSVR13_EL1 // encoding: [0xa3,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR14_EL1 -// CHECK: mrs x3, PMEVCNTSVR14_EL1 // encoding: [0xc3,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR15_EL1 -// CHECK: mrs x3, PMEVCNTSVR15_EL1 // encoding: [0xe3,0xe9,0x30,0xd5] - mrs x3, PMEVCNTSVR16_EL1 -// CHECK: mrs x3, PMEVCNTSVR16_EL1 // encoding: [0x03,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR17_EL1 -// CHECK: mrs x3, PMEVCNTSVR17_EL1 // encoding: [0x23,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR18_EL1 -// CHECK: mrs x3, PMEVCNTSVR18_EL1 // encoding: [0x43,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR19_EL1 -// CHECK: mrs x3, PMEVCNTSVR19_EL1 // encoding: [0x63,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR20_EL1 -// CHECK: mrs x3, PMEVCNTSVR20_EL1 // encoding: [0x83,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR21_EL1 -// CHECK: mrs x3, PMEVCNTSVR21_EL1 // encoding: [0xa3,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR22_EL1 -// CHECK: mrs x3, PMEVCNTSVR22_EL1 // encoding: [0xc3,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR23_EL1 -// CHECK: mrs x3, PMEVCNTSVR23_EL1 // encoding: [0xe3,0xea,0x30,0xd5] - mrs x3, PMEVCNTSVR24_EL1 -// CHECK: mrs x3, PMEVCNTSVR24_EL1 // encoding: [0x03,0xeb,0x30,0xd5] - mrs x3, PMEVCNTSVR25_EL1 -// CHECK: mrs x3, PMEVCNTSVR25_EL1 // encoding: [0x23,0xeb,0x30,0xd5] - mrs x3, PMEVCNTSVR26_EL1 -// CHECK: mrs x3, PMEVCNTSVR26_EL1 // encoding: [0x43,0xeb,0x30,0xd5] - mrs x3, PMEVCNTSVR27_EL1 -// CHECK: mrs x3, PMEVCNTSVR27_EL1 // encoding: [0x63,0xeb,0x30,0xd5] - mrs x3, PMEVCNTSVR28_EL1 -// CHECK: mrs x3, PMEVCNTSVR28_EL1 // encoding: [0x83,0xeb,0x30,0xd5] - mrs x3, PMEVCNTSVR29_EL1 -// CHECK: mrs x3, PMEVCNTSVR29_EL1 // encoding: [0xa3,0xeb,0x30,0xd5] - mrs x3, PMEVCNTSVR30_EL1 -// CHECK: mrs x3, PMEVCNTSVR30_EL1 // encoding: [0xc3,0xeb,0x30,0xd5] +mrs x3, PMCCNTSVR_EL1 +// CHECK-INST: mrs x3, PMCCNTSVR_EL1 +// CHECK-ENCODING: encoding: [0xe3,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530ebe3 mrs x3, PMCCNTSVR_EL1 + +mrs x3, PMICNTSVR_EL1 +// CHECK-INST: mrs x3, PMICNTSVR_EL1 +// CHECK-ENCODING: encoding: [0x03,0xec,0x30,0xd5] +// CHECK-UNKNOWN: d530ec03 mrs x3, PMICNTSVR_EL1 + +mrs x3, PMSSCR_EL1 +// CHECK-INST: mrs x3, PMSSCR_EL1 +// CHECK-ENCODING: encoding: [0x63,0x9d,0x38,0xd5] +// CHECK-UNKNOWN: d5389d63 mrs x3, PMSSCR_EL1 + +msr PMSSCR_EL1, x1 +// CHECK-INST: msr PMSSCR_EL1, x1 +// CHECK-ENCODING: encoding: [0x61,0x9d,0x18,0xd5] +// CHECK-UNKNOWN: d5189d61 msr PMSSCR_EL1, x1 + +mrs x3, PMEVCNTSVR0_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR0_EL1 +// CHECK-ENCODING: encoding: [0x03,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e803 mrs x3, PMEVCNTSVR0_EL1 + +mrs x3, PMEVCNTSVR1_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR1_EL1 +// CHECK-ENCODING: encoding: [0x23,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e823 mrs x3, PMEVCNTSVR1_EL1 + +mrs x3, PMEVCNTSVR2_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR2_EL1 +// CHECK-ENCODING: encoding: [0x43,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e843 mrs x3, PMEVCNTSVR2_EL1 + +mrs x3, PMEVCNTSVR3_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR3_EL1 +// CHECK-ENCODING: encoding: [0x63,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e863 mrs x3, PMEVCNTSVR3_EL1 + +mrs x3, PMEVCNTSVR4_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR4_EL1 +// CHECK-ENCODING: encoding: [0x83,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e883 mrs x3, PMEVCNTSVR4_EL1 + +mrs x3, PMEVCNTSVR5_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR5_EL1 +// CHECK-ENCODING: encoding: [0xa3,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e8a3 mrs x3, PMEVCNTSVR5_EL1 + +mrs x3, PMEVCNTSVR6_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR6_EL1 +// CHECK-ENCODING: encoding: [0xc3,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e8c3 mrs x3, PMEVCNTSVR6_EL1 + +mrs x3, PMEVCNTSVR7_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR7_EL1 +// CHECK-ENCODING: encoding: [0xe3,0xe8,0x30,0xd5] +// CHECK-UNKNOWN: d530e8e3 mrs x3, PMEVCNTSVR7_EL1 + +mrs x3, PMEVCNTSVR8_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR8_EL1 +// CHECK-ENCODING: encoding: [0x03,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e903 mrs x3, PMEVCNTSVR8_EL1 + +mrs x3, PMEVCNTSVR9_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR9_EL1 +// CHECK-ENCODING: encoding: [0x23,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e923 mrs x3, PMEVCNTSVR9_EL1 + +mrs x3, PMEVCNTSVR10_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR10_EL1 +// CHECK-ENCODING: encoding: [0x43,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e943 mrs x3, PMEVCNTSVR10_EL1 + +mrs x3, PMEVCNTSVR11_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR11_EL1 +// CHECK-ENCODING: encoding: [0x63,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e963 mrs x3, PMEVCNTSVR11_EL1 + +mrs x3, PMEVCNTSVR12_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR12_EL1 +// CHECK-ENCODING: encoding: [0x83,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e983 mrs x3, PMEVCNTSVR12_EL1 + +mrs x3, PMEVCNTSVR13_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR13_EL1 +// CHECK-ENCODING: encoding: [0xa3,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e9a3 mrs x3, PMEVCNTSVR13_EL1 + +mrs x3, PMEVCNTSVR14_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR14_EL1 +// CHECK-ENCODING: encoding: [0xc3,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e9c3 mrs x3, PMEVCNTSVR14_EL1 + +mrs x3, PMEVCNTSVR15_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR15_EL1 +// CHECK-ENCODING: encoding: [0xe3,0xe9,0x30,0xd5] +// CHECK-UNKNOWN: d530e9e3 mrs x3, PMEVCNTSVR15_EL1 + +mrs x3, PMEVCNTSVR16_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR16_EL1 +// CHECK-ENCODING: encoding: [0x03,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530ea03 mrs x3, PMEVCNTSVR16_EL1 + +mrs x3, PMEVCNTSVR17_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR17_EL1 +// CHECK-ENCODING: encoding: [0x23,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530ea23 mrs x3, PMEVCNTSVR17_EL1 + +mrs x3, PMEVCNTSVR18_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR18_EL1 +// CHECK-ENCODING: encoding: [0x43,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530ea43 mrs x3, PMEVCNTSVR18_EL1 + +mrs x3, PMEVCNTSVR19_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR19_EL1 +// CHECK-ENCODING: encoding: [0x63,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530ea63 mrs x3, PMEVCNTSVR19_EL1 + +mrs x3, PMEVCNTSVR20_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR20_EL1 +// CHECK-ENCODING: encoding: [0x83,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530ea83 mrs x3, PMEVCNTSVR20_EL1 + +mrs x3, PMEVCNTSVR21_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR21_EL1 +// CHECK-ENCODING: encoding: [0xa3,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530eaa3 mrs x3, PMEVCNTSVR21_EL1 + +mrs x3, PMEVCNTSVR22_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR22_EL1 +// CHECK-ENCODING: encoding: [0xc3,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530eac3 mrs x3, PMEVCNTSVR22_EL1 + +mrs x3, PMEVCNTSVR23_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR23_EL1 +// CHECK-ENCODING: encoding: [0xe3,0xea,0x30,0xd5] +// CHECK-UNKNOWN: d530eae3 mrs x3, PMEVCNTSVR23_EL1 + +mrs x3, PMEVCNTSVR24_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR24_EL1 +// CHECK-ENCODING: encoding: [0x03,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530eb03 mrs x3, PMEVCNTSVR24_EL1 + +mrs x3, PMEVCNTSVR25_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR25_EL1 +// CHECK-ENCODING: encoding: [0x23,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530eb23 mrs x3, PMEVCNTSVR25_EL1 + +mrs x3, PMEVCNTSVR26_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR26_EL1 +// CHECK-ENCODING: encoding: [0x43,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530eb43 mrs x3, PMEVCNTSVR26_EL1 + +mrs x3, PMEVCNTSVR27_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR27_EL1 +// CHECK-ENCODING: encoding: [0x63,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530eb63 mrs x3, PMEVCNTSVR27_EL1 + +mrs x3, PMEVCNTSVR28_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR28_EL1 +// CHECK-ENCODING: encoding: [0x83,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530eb83 mrs x3, PMEVCNTSVR28_EL1 + +mrs x3, PMEVCNTSVR29_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR29_EL1 +// CHECK-ENCODING: encoding: [0xa3,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530eba3 mrs x3, PMEVCNTSVR29_EL1 + +mrs x3, PMEVCNTSVR30_EL1 +// CHECK-INST: mrs x3, PMEVCNTSVR30_EL1 +// CHECK-ENCODING: encoding: [0xc3,0xeb,0x30,0xd5] +// CHECK-UNKNOWN: d530ebc3 mrs x3, PMEVCNTSVR30_EL1 // FEAT_PMUv3_ICNTR - mrs x3, PMICNTR_EL0 -// CHECK: mrs x3, PMICNTR_EL0 // encoding: [0x03,0x94,0x3b,0xd5] - msr PMICNTR_EL0, x3 -// CHECK: msr PMICNTR_EL0, x3 // encoding: [0x03,0x94,0x1b,0xd5] - mrs x3, PMICFILTR_EL0 -// CHECK: mrs x3, PMICFILTR_EL0 // encoding: [0x03,0x96,0x3b,0xd5] - msr PMICFILTR_EL0, x3 -// CHECK: msr PMICFILTR_EL0, x3 // encoding: [0x03,0x96,0x1b,0xd5] +mrs x3, PMICNTR_EL0 +// CHECK-INST: mrs x3, PMICNTR_EL0 +// CHECK-ENCODING: encoding: [0x03,0x94,0x3b,0xd5] +// CHECK-UNKNOWN: d53b9403 mrs x3, PMICNTR_EL0 + +msr PMICNTR_EL0, x3 +// CHECK-INST: msr PMICNTR_EL0, x3 +// CHECK-ENCODING: encoding: [0x03,0x94,0x1b,0xd5] +// CHECK-UNKNOWN: d51b9403 msr PMICNTR_EL0, x3 + +mrs x3, PMICFILTR_EL0 +// CHECK-INST: mrs x3, PMICFILTR_EL0 +// CHECK-ENCODING: encoding: [0x03,0x96,0x3b,0xd5] +// CHECK-UNKNOWN: d53b9603 mrs x3, PMICFILTR_EL0 + +msr PMICFILTR_EL0, x3 +// CHECK-INST: msr PMICFILTR_EL0, x3 +// CHECK-ENCODING: encoding: [0x03,0x96,0x1b,0xd5] +// CHECK-UNKNOWN: d51b9603 msr PMICFILTR_EL0, x3 // FEAT_PMUv3p9/FEAT_PMUV3_ICNTR - msr PMZR_EL0, x3 -// CHECK: msr PMZR_EL0, x3 // encoding: [0x83,0x9d,0x1b,0xd5] +msr PMZR_EL0, x3 +// CHECK-INST: msr PMZR_EL0, x3 +// CHECK-ENCODING: encoding: [0x83,0x9d,0x1b,0xd5] +// CHECK-UNKNOWN: d51b9d83 msr PMZR_EL0, x3 // FEAT_SEBEP - mrs x3, PMECR_EL1 -// CHECK: mrs x3, PMECR_EL1 // encoding: [0xa3,0x9e,0x38,0xd5] - msr PMECR_EL1, x1 -// CHECK: msr PMECR_EL1, x1 // encoding: [0xa1,0x9e,0x18,0xd5] - mrs x3, PMIAR_EL1 -// CHECK: mrs x3, PMIAR_EL1 // encoding: [0xe3,0x9e,0x38,0xd5] - msr PMIAR_EL1, x1 -// CHECK: msr PMIAR_EL1, x1 // encoding: [0xe1,0x9e,0x18,0xd5] +mrs x3, PMECR_EL1 +// CHECK-INST: mrs x3, PMECR_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x9e,0x38,0xd5] +// CHECK-UNKNOWN: d5389ea3 mrs x3, PMECR_EL1 + +msr PMECR_EL1, x1 +// CHECK-INST: msr PMECR_EL1, x1 +// CHECK-ENCODING: encoding: [0xa1,0x9e,0x18,0xd5] +// CHECK-UNKNOWN: d5189ea1 msr PMECR_EL1, x1 + +mrs x3, PMIAR_EL1 +// CHECK-INST: mrs x3, PMIAR_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x9e,0x38,0xd5] +// CHECK-UNKNOWN: d5389ee3 mrs x3, PMIAR_EL1 + +msr PMIAR_EL1, x1 +// CHECK-INST: msr PMIAR_EL1, x1 +// CHECK-ENCODING: encoding: [0xe1,0x9e,0x18,0xd5] +// CHECK-UNKNOWN: d5189ee1 msr PMIAR_EL1, x1 // FEAT_SPMU - mrs x3, SPMACCESSR_EL1 -// CHECK: mrs x3, SPMACCESSR_EL1 // encoding: [0x63,0x9d,0x30,0xd5] - msr SPMACCESSR_EL1, x1 -// CHECK: msr SPMACCESSR_EL1, x1 // encoding: [0x61,0x9d,0x10,0xd5] - mrs x3, SPMACCESSR_EL12 -// CHECK: mrs x3, SPMACCESSR_EL12 // encoding: [0x63,0x9d,0x35,0xd5] - msr SPMACCESSR_EL12, x1 -// CHECK: msr SPMACCESSR_EL12, x1 // encoding: [0x61,0x9d,0x15,0xd5] - mrs x3, SPMACCESSR_EL2 -// CHECK: mrs x3, SPMACCESSR_EL2 // encoding: [0x63,0x9d,0x34,0xd5] - msr SPMACCESSR_EL2, x1 -// CHECK: msr SPMACCESSR_EL2, x1 // encoding: [0x61,0x9d,0x14,0xd5] - mrs x3, SPMACCESSR_EL3 -// CHECK: mrs x3, SPMACCESSR_EL3 // encoding: [0x63,0x9d,0x36,0xd5] - msr SPMACCESSR_EL3, x1 -// CHECK: msr SPMACCESSR_EL3, x1 // encoding: [0x61,0x9d,0x16,0xd5] - mrs x3, SPMCNTENCLR_EL0 -// CHECK: mrs x3, SPMCNTENCLR_EL0 // encoding: [0x43,0x9c,0x33,0xd5] - msr SPMCNTENCLR_EL0, x1 -// CHECK: msr SPMCNTENCLR_EL0, x1 // encoding: [0x41,0x9c,0x13,0xd5] - mrs x3, SPMCNTENSET_EL0 -// CHECK: mrs x3, SPMCNTENSET_EL0 // encoding: [0x23,0x9c,0x33,0xd5] - msr SPMCNTENSET_EL0, x1 -// CHECK: msr SPMCNTENSET_EL0, x1 // encoding: [0x21,0x9c,0x13,0xd5] - mrs x3, SPMCR_EL0 -// CHECK: mrs x3, SPMCR_EL0 // encoding: [0x03,0x9c,0x33,0xd5] - msr SPMCR_EL0, x1 -// CHECK: msr SPMCR_EL0, x1 // encoding: [0x01,0x9c,0x13,0xd5] - mrs x3, SPMDEVAFF_EL1 -// CHECK: mrs x3, SPMDEVAFF_EL1 // encoding: [0xc3,0x9d,0x30,0xd5] - mrs x3, SPMDEVARCH_EL1 -// CHECK: mrs x3, SPMDEVARCH_EL1 // encoding: [0xa3,0x9d,0x30,0xd5] - - mrs x3, SPMEVCNTR0_EL0 -// CHECK: mrs x3, SPMEVCNTR0_EL0 // encoding: [0x03,0xe0,0x33,0xd5] - msr SPMEVCNTR0_EL0, x1 -// CHECK: msr SPMEVCNTR0_EL0, x1 // encoding: [0x01,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR1_EL0 -// CHECK: mrs x3, SPMEVCNTR1_EL0 // encoding: [0x23,0xe0,0x33,0xd5] - msr SPMEVCNTR1_EL0, x1 -// CHECK: msr SPMEVCNTR1_EL0, x1 // encoding: [0x21,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR2_EL0 -// CHECK: mrs x3, SPMEVCNTR2_EL0 // encoding: [0x43,0xe0,0x33,0xd5] - msr SPMEVCNTR2_EL0, x1 -// CHECK: msr SPMEVCNTR2_EL0, x1 // encoding: [0x41,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR3_EL0 -// CHECK: mrs x3, SPMEVCNTR3_EL0 // encoding: [0x63,0xe0,0x33,0xd5] - msr SPMEVCNTR3_EL0, x1 -// CHECK: msr SPMEVCNTR3_EL0, x1 // encoding: [0x61,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR4_EL0 -// CHECK: mrs x3, SPMEVCNTR4_EL0 // encoding: [0x83,0xe0,0x33,0xd5] - msr SPMEVCNTR4_EL0, x1 -// CHECK: msr SPMEVCNTR4_EL0, x1 // encoding: [0x81,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR5_EL0 -// CHECK: mrs x3, SPMEVCNTR5_EL0 // encoding: [0xa3,0xe0,0x33,0xd5] - msr SPMEVCNTR5_EL0, x1 -// CHECK: msr SPMEVCNTR5_EL0, x1 // encoding: [0xa1,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR6_EL0 -// CHECK: mrs x3, SPMEVCNTR6_EL0 // encoding: [0xc3,0xe0,0x33,0xd5] - msr SPMEVCNTR6_EL0, x1 -// CHECK: msr SPMEVCNTR6_EL0, x1 // encoding: [0xc1,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR7_EL0 -// CHECK: mrs x3, SPMEVCNTR7_EL0 // encoding: [0xe3,0xe0,0x33,0xd5] - msr SPMEVCNTR7_EL0, x1 -// CHECK: msr SPMEVCNTR7_EL0, x1 // encoding: [0xe1,0xe0,0x13,0xd5] - mrs x3, SPMEVCNTR8_EL0 -// CHECK: mrs x3, SPMEVCNTR8_EL0 // encoding: [0x03,0xe1,0x33,0xd5] - msr SPMEVCNTR8_EL0, x1 -// CHECK: msr SPMEVCNTR8_EL0, x1 // encoding: [0x01,0xe1,0x13,0xd5] - mrs x3, SPMEVCNTR9_EL0 -// CHECK: mrs x3, SPMEVCNTR9_EL0 // encoding: [0x23,0xe1,0x33,0xd5] - msr SPMEVCNTR9_EL0, x1 -// CHECK: msr SPMEVCNTR9_EL0, x1 // encoding: [0x21,0xe1,0x13,0xd5] - mrs x3, SPMEVCNTR10_EL0 -// CHECK: mrs x3, SPMEVCNTR10_EL0 // encoding: [0x43,0xe1,0x33,0xd5] - msr SPMEVCNTR10_EL0, x1 -// CHECK: msr SPMEVCNTR10_EL0, x1 // encoding: [0x41,0xe1,0x13,0xd5] - mrs x3, SPMEVCNTR11_EL0 -// CHECK: mrs x3, SPMEVCNTR11_EL0 // encoding: [0x63,0xe1,0x33,0xd5] - msr SPMEVCNTR11_EL0, x1 -// CHECK: msr SPMEVCNTR11_EL0, x1 // encoding: [0x61,0xe1,0x13,0xd5] - mrs x3, SPMEVCNTR12_EL0 -// CHECK: mrs x3, SPMEVCNTR12_EL0 // encoding: [0x83,0xe1,0x33,0xd5] - msr SPMEVCNTR12_EL0, x1 -// CHECK: msr SPMEVCNTR12_EL0, x1 // encoding: [0x81,0xe1,0x13,0xd5] - mrs x3, SPMEVCNTR13_EL0 -// CHECK: mrs x3, SPMEVCNTR13_EL0 // encoding: [0xa3,0xe1,0x33,0xd5] - msr SPMEVCNTR13_EL0, x1 -// CHECK: msr SPMEVCNTR13_EL0, x1 // encoding: [0xa1,0xe1,0x13,0xd5] - mrs x3, SPMEVCNTR14_EL0 -// CHECK: mrs x3, SPMEVCNTR14_EL0 // encoding: [0xc3,0xe1,0x33,0xd5] - msr SPMEVCNTR14_EL0, x1 -// CHECK: msr SPMEVCNTR14_EL0, x1 // encoding: [0xc1,0xe1,0x13,0xd5] - mrs x3, SPMEVCNTR15_EL0 -// CHECK: mrs x3, SPMEVCNTR15_EL0 // encoding: [0xe3,0xe1,0x33,0xd5] - msr SPMEVCNTR15_EL0, x1 -// CHECK: msr SPMEVCNTR15_EL0, x1 // encoding: [0xe1,0xe1,0x13,0xd5] - - mrs x3, SPMEVFILT2R0_EL0 -// CHECK: mrs x3, SPMEVFILT2R0_EL0 // encoding: [0x03,0xe6,0x33,0xd5] - msr SPMEVFILT2R0_EL0, x1 -// CHECK: msr SPMEVFILT2R0_EL0, x1 // encoding: [0x01,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R1_EL0 -// CHECK: mrs x3, SPMEVFILT2R1_EL0 // encoding: [0x23,0xe6,0x33,0xd5] - msr SPMEVFILT2R1_EL0, x1 -// CHECK: msr SPMEVFILT2R1_EL0, x1 // encoding: [0x21,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R2_EL0 -// CHECK: mrs x3, SPMEVFILT2R2_EL0 // encoding: [0x43,0xe6,0x33,0xd5] - msr SPMEVFILT2R2_EL0, x1 -// CHECK: msr SPMEVFILT2R2_EL0, x1 // encoding: [0x41,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R3_EL0 -// CHECK: mrs x3, SPMEVFILT2R3_EL0 // encoding: [0x63,0xe6,0x33,0xd5] - msr SPMEVFILT2R3_EL0, x1 -// CHECK: msr SPMEVFILT2R3_EL0, x1 // encoding: [0x61,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R4_EL0 -// CHECK: mrs x3, SPMEVFILT2R4_EL0 // encoding: [0x83,0xe6,0x33,0xd5] - msr SPMEVFILT2R4_EL0, x1 -// CHECK: msr SPMEVFILT2R4_EL0, x1 // encoding: [0x81,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R5_EL0 -// CHECK: mrs x3, SPMEVFILT2R5_EL0 // encoding: [0xa3,0xe6,0x33,0xd5] - msr SPMEVFILT2R5_EL0, x1 -// CHECK: msr SPMEVFILT2R5_EL0, x1 // encoding: [0xa1,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R6_EL0 -// CHECK: mrs x3, SPMEVFILT2R6_EL0 // encoding: [0xc3,0xe6,0x33,0xd5] - msr SPMEVFILT2R6_EL0, x1 -// CHECK: msr SPMEVFILT2R6_EL0, x1 // encoding: [0xc1,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R7_EL0 -// CHECK: mrs x3, SPMEVFILT2R7_EL0 // encoding: [0xe3,0xe6,0x33,0xd5] - msr SPMEVFILT2R7_EL0, x1 -// CHECK: msr SPMEVFILT2R7_EL0, x1 // encoding: [0xe1,0xe6,0x13,0xd5] - mrs x3, SPMEVFILT2R8_EL0 -// CHECK: mrs x3, SPMEVFILT2R8_EL0 // encoding: [0x03,0xe7,0x33,0xd5] - msr SPMEVFILT2R8_EL0, x1 -// CHECK: msr SPMEVFILT2R8_EL0, x1 // encoding: [0x01,0xe7,0x13,0xd5] - mrs x3, SPMEVFILT2R9_EL0 -// CHECK: mrs x3, SPMEVFILT2R9_EL0 // encoding: [0x23,0xe7,0x33,0xd5] - msr SPMEVFILT2R9_EL0, x1 -// CHECK: msr SPMEVFILT2R9_EL0, x1 // encoding: [0x21,0xe7,0x13,0xd5] - mrs x3, SPMEVFILT2R10_EL0 -// CHECK: mrs x3, SPMEVFILT2R10_EL0 // encoding: [0x43,0xe7,0x33,0xd5] - msr SPMEVFILT2R10_EL0, x1 -// CHECK: msr SPMEVFILT2R10_EL0, x1 // encoding: [0x41,0xe7,0x13,0xd5] - mrs x3, SPMEVFILT2R11_EL0 -// CHECK: mrs x3, SPMEVFILT2R11_EL0 // encoding: [0x63,0xe7,0x33,0xd5] - msr SPMEVFILT2R11_EL0, x1 -// CHECK: msr SPMEVFILT2R11_EL0, x1 // encoding: [0x61,0xe7,0x13,0xd5] - mrs x3, SPMEVFILT2R12_EL0 -// CHECK: mrs x3, SPMEVFILT2R12_EL0 // encoding: [0x83,0xe7,0x33,0xd5] - msr SPMEVFILT2R12_EL0, x1 -// CHECK: msr SPMEVFILT2R12_EL0, x1 // encoding: [0x81,0xe7,0x13,0xd5] - mrs x3, SPMEVFILT2R13_EL0 -// CHECK: mrs x3, SPMEVFILT2R13_EL0 // encoding: [0xa3,0xe7,0x33,0xd5] - msr SPMEVFILT2R13_EL0, x1 -// CHECK: msr SPMEVFILT2R13_EL0, x1 // encoding: [0xa1,0xe7,0x13,0xd5] - mrs x3, SPMEVFILT2R14_EL0 -// CHECK: mrs x3, SPMEVFILT2R14_EL0 // encoding: [0xc3,0xe7,0x33,0xd5] - msr SPMEVFILT2R14_EL0, x1 -// CHECK: msr SPMEVFILT2R14_EL0, x1 // encoding: [0xc1,0xe7,0x13,0xd5] - mrs x3, SPMEVFILT2R15_EL0 -// CHECK: mrs x3, SPMEVFILT2R15_EL0 // encoding: [0xe3,0xe7,0x33,0xd5] - msr SPMEVFILT2R15_EL0, x1 -// CHECK: msr SPMEVFILT2R15_EL0, x1 // encoding: [0xe1,0xe7,0x13,0xd5] - - mrs x3, SPMEVFILTR0_EL0 -// CHECK: mrs x3, SPMEVFILTR0_EL0 // encoding: [0x03,0xe4,0x33,0xd5] - msr SPMEVFILTR0_EL0, x1 -// CHECK: msr SPMEVFILTR0_EL0, x1 // encoding: [0x01,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR1_EL0 -// CHECK: mrs x3, SPMEVFILTR1_EL0 // encoding: [0x23,0xe4,0x33,0xd5] - msr SPMEVFILTR1_EL0, x1 -// CHECK: msr SPMEVFILTR1_EL0, x1 // encoding: [0x21,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR2_EL0 -// CHECK: mrs x3, SPMEVFILTR2_EL0 // encoding: [0x43,0xe4,0x33,0xd5] - msr SPMEVFILTR2_EL0, x1 -// CHECK: msr SPMEVFILTR2_EL0, x1 // encoding: [0x41,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR3_EL0 -// CHECK: mrs x3, SPMEVFILTR3_EL0 // encoding: [0x63,0xe4,0x33,0xd5] - msr SPMEVFILTR3_EL0, x1 -// CHECK: msr SPMEVFILTR3_EL0, x1 // encoding: [0x61,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR4_EL0 -// CHECK: mrs x3, SPMEVFILTR4_EL0 // encoding: [0x83,0xe4,0x33,0xd5] - msr SPMEVFILTR4_EL0, x1 -// CHECK: msr SPMEVFILTR4_EL0, x1 // encoding: [0x81,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR5_EL0 -// CHECK: mrs x3, SPMEVFILTR5_EL0 // encoding: [0xa3,0xe4,0x33,0xd5] - msr SPMEVFILTR5_EL0, x1 -// CHECK: msr SPMEVFILTR5_EL0, x1 // encoding: [0xa1,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR6_EL0 -// CHECK: mrs x3, SPMEVFILTR6_EL0 // encoding: [0xc3,0xe4,0x33,0xd5] - msr SPMEVFILTR6_EL0, x1 -// CHECK: msr SPMEVFILTR6_EL0, x1 // encoding: [0xc1,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR7_EL0 -// CHECK: mrs x3, SPMEVFILTR7_EL0 // encoding: [0xe3,0xe4,0x33,0xd5] - msr SPMEVFILTR7_EL0, x1 -// CHECK: msr SPMEVFILTR7_EL0, x1 // encoding: [0xe1,0xe4,0x13,0xd5] - mrs x3, SPMEVFILTR8_EL0 -// CHECK: mrs x3, SPMEVFILTR8_EL0 // encoding: [0x03,0xe5,0x33,0xd5] - msr SPMEVFILTR8_EL0, x1 -// CHECK: msr SPMEVFILTR8_EL0, x1 // encoding: [0x01,0xe5,0x13,0xd5] - mrs x3, SPMEVFILTR9_EL0 -// CHECK: mrs x3, SPMEVFILTR9_EL0 // encoding: [0x23,0xe5,0x33,0xd5] - msr SPMEVFILTR9_EL0, x1 -// CHECK: msr SPMEVFILTR9_EL0, x1 // encoding: [0x21,0xe5,0x13,0xd5] - mrs x3, SPMEVFILTR10_EL0 -// CHECK: mrs x3, SPMEVFILTR10_EL0 // encoding: [0x43,0xe5,0x33,0xd5] - msr SPMEVFILTR10_EL0, x1 -// CHECK: msr SPMEVFILTR10_EL0, x1 // encoding: [0x41,0xe5,0x13,0xd5] - mrs x3, SPMEVFILTR11_EL0 -// CHECK: mrs x3, SPMEVFILTR11_EL0 // encoding: [0x63,0xe5,0x33,0xd5] - msr SPMEVFILTR11_EL0, x1 -// CHECK: msr SPMEVFILTR11_EL0, x1 // encoding: [0x61,0xe5,0x13,0xd5] - mrs x3, SPMEVFILTR12_EL0 -// CHECK: mrs x3, SPMEVFILTR12_EL0 // encoding: [0x83,0xe5,0x33,0xd5] - msr SPMEVFILTR12_EL0, x1 -// CHECK: msr SPMEVFILTR12_EL0, x1 // encoding: [0x81,0xe5,0x13,0xd5] - mrs x3, SPMEVFILTR13_EL0 -// CHECK: mrs x3, SPMEVFILTR13_EL0 // encoding: [0xa3,0xe5,0x33,0xd5] - msr SPMEVFILTR13_EL0, x1 -// CHECK: msr SPMEVFILTR13_EL0, x1 // encoding: [0xa1,0xe5,0x13,0xd5] - mrs x3, SPMEVFILTR14_EL0 -// CHECK: mrs x3, SPMEVFILTR14_EL0 // encoding: [0xc3,0xe5,0x33,0xd5] - msr SPMEVFILTR14_EL0, x1 -// CHECK: msr SPMEVFILTR14_EL0, x1 // encoding: [0xc1,0xe5,0x13,0xd5] - mrs x3, SPMEVFILTR15_EL0 -// CHECK: mrs x3, SPMEVFILTR15_EL0 // encoding: [0xe3,0xe5,0x33,0xd5] - msr SPMEVFILTR15_EL0, x1 -// CHECK: msr SPMEVFILTR15_EL0, x1 // encoding: [0xe1,0xe5,0x13,0xd5] - - mrs x3, SPMEVTYPER0_EL0 -// CHECK: mrs x3, SPMEVTYPER0_EL0 // encoding: [0x03,0xe2,0x33,0xd5] - msr SPMEVTYPER0_EL0, x1 -// CHECK: msr SPMEVTYPER0_EL0, x1 // encoding: [0x01,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER1_EL0 -// CHECK: mrs x3, SPMEVTYPER1_EL0 // encoding: [0x23,0xe2,0x33,0xd5] - msr SPMEVTYPER1_EL0, x1 -// CHECK: msr SPMEVTYPER1_EL0, x1 // encoding: [0x21,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER2_EL0 -// CHECK: mrs x3, SPMEVTYPER2_EL0 // encoding: [0x43,0xe2,0x33,0xd5] - msr SPMEVTYPER2_EL0, x1 -// CHECK: msr SPMEVTYPER2_EL0, x1 // encoding: [0x41,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER3_EL0 -// CHECK: mrs x3, SPMEVTYPER3_EL0 // encoding: [0x63,0xe2,0x33,0xd5] - msr SPMEVTYPER3_EL0, x1 -// CHECK: msr SPMEVTYPER3_EL0, x1 // encoding: [0x61,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER4_EL0 -// CHECK: mrs x3, SPMEVTYPER4_EL0 // encoding: [0x83,0xe2,0x33,0xd5] - msr SPMEVTYPER4_EL0, x1 -// CHECK: msr SPMEVTYPER4_EL0, x1 // encoding: [0x81,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER5_EL0 -// CHECK: mrs x3, SPMEVTYPER5_EL0 // encoding: [0xa3,0xe2,0x33,0xd5] - msr SPMEVTYPER5_EL0, x1 -// CHECK: msr SPMEVTYPER5_EL0, x1 // encoding: [0xa1,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER6_EL0 -// CHECK: mrs x3, SPMEVTYPER6_EL0 // encoding: [0xc3,0xe2,0x33,0xd5] - msr SPMEVTYPER6_EL0, x1 -// CHECK: msr SPMEVTYPER6_EL0, x1 // encoding: [0xc1,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER7_EL0 -// CHECK: mrs x3, SPMEVTYPER7_EL0 // encoding: [0xe3,0xe2,0x33,0xd5] - msr SPMEVTYPER7_EL0, x1 -// CHECK: msr SPMEVTYPER7_EL0, x1 // encoding: [0xe1,0xe2,0x13,0xd5] - mrs x3, SPMEVTYPER8_EL0 -// CHECK: mrs x3, SPMEVTYPER8_EL0 // encoding: [0x03,0xe3,0x33,0xd5] - msr SPMEVTYPER8_EL0, x1 -// CHECK: msr SPMEVTYPER8_EL0, x1 // encoding: [0x01,0xe3,0x13,0xd5] - mrs x3, SPMEVTYPER9_EL0 -// CHECK: mrs x3, SPMEVTYPER9_EL0 // encoding: [0x23,0xe3,0x33,0xd5] - msr SPMEVTYPER9_EL0, x1 -// CHECK: msr SPMEVTYPER9_EL0, x1 // encoding: [0x21,0xe3,0x13,0xd5] - mrs x3, SPMEVTYPER10_EL0 -// CHECK: mrs x3, SPMEVTYPER10_EL0 // encoding: [0x43,0xe3,0x33,0xd5] - msr SPMEVTYPER10_EL0, x1 -// CHECK: msr SPMEVTYPER10_EL0, x1 // encoding: [0x41,0xe3,0x13,0xd5] - mrs x3, SPMEVTYPER11_EL0 -// CHECK: mrs x3, SPMEVTYPER11_EL0 // encoding: [0x63,0xe3,0x33,0xd5] - msr SPMEVTYPER11_EL0, x1 -// CHECK: msr SPMEVTYPER11_EL0, x1 // encoding: [0x61,0xe3,0x13,0xd5] - mrs x3, SPMEVTYPER12_EL0 -// CHECK: mrs x3, SPMEVTYPER12_EL0 // encoding: [0x83,0xe3,0x33,0xd5] - msr SPMEVTYPER12_EL0, x1 -// CHECK: msr SPMEVTYPER12_EL0, x1 // encoding: [0x81,0xe3,0x13,0xd5] - mrs x3, SPMEVTYPER13_EL0 -// CHECK: mrs x3, SPMEVTYPER13_EL0 // encoding: [0xa3,0xe3,0x33,0xd5] - msr SPMEVTYPER13_EL0, x1 -// CHECK: msr SPMEVTYPER13_EL0, x1 // encoding: [0xa1,0xe3,0x13,0xd5] - mrs x3, SPMEVTYPER14_EL0 -// CHECK: mrs x3, SPMEVTYPER14_EL0 // encoding: [0xc3,0xe3,0x33,0xd5] - msr SPMEVTYPER14_EL0, x1 -// CHECK: msr SPMEVTYPER14_EL0, x1 // encoding: [0xc1,0xe3,0x13,0xd5] - mrs x3, SPMEVTYPER15_EL0 -// CHECK: mrs x3, SPMEVTYPER15_EL0 // encoding: [0xe3,0xe3,0x33,0xd5] - msr SPMEVTYPER15_EL0, x1 -// CHECK: msr SPMEVTYPER15_EL0, x1 // encoding: [0xe1,0xe3,0x13,0xd5] - - mrs x3, SPMIIDR_EL1 -// CHECK: mrs x3, SPMIIDR_EL1 // encoding: [0x83,0x9d,0x30,0xd5] - mrs x3, SPMINTENCLR_EL1 -// CHECK: mrs x3, SPMINTENCLR_EL1 // encoding: [0x43,0x9e,0x30,0xd5] - msr SPMINTENCLR_EL1, x1 -// CHECK: msr SPMINTENCLR_EL1, x1 // encoding: [0x41,0x9e,0x10,0xd5] - mrs x3, SPMINTENSET_EL1 -// CHECK: mrs x3, SPMINTENSET_EL1 // encoding: [0x23,0x9e,0x30,0xd5] - msr SPMINTENSET_EL1, x1 -// CHECK: msr SPMINTENSET_EL1, x1 // encoding: [0x21,0x9e,0x10,0xd5] - mrs x3, SPMOVSCLR_EL0 -// CHECK: mrs x3, SPMOVSCLR_EL0 // encoding: [0x63,0x9c,0x33,0xd5] - msr SPMOVSCLR_EL0, x1 -// CHECK: msr SPMOVSCLR_EL0, x1 // encoding: [0x61,0x9c,0x13,0xd5] - mrs x3, SPMOVSSET_EL0 -// CHECK: mrs x3, SPMOVSSET_EL0 // encoding: [0x63,0x9e,0x33,0xd5] - msr SPMOVSSET_EL0, x1 -// CHECK: msr SPMOVSSET_EL0, x1 // encoding: [0x61,0x9e,0x13,0xd5] - mrs x3, SPMSELR_EL0 -// CHECK: mrs x3, SPMSELR_EL0 // encoding: [0xa3,0x9c,0x33,0xd5] - msr SPMSELR_EL0, x1 -// CHECK: msr SPMSELR_EL0, x1 // encoding: [0xa1,0x9c,0x13,0xd5] - mrs x3, SPMCGCR0_EL1 -// CHECK: mrs x3, SPMCGCR0_EL1 // encoding: [0x03,0x9d,0x30,0xd5] - mrs x3, SPMCGCR1_EL1 -// CHECK: mrs x3, SPMCGCR1_EL1 // encoding: [0x23,0x9d,0x30,0xd5] - mrs x3, SPMCFGR_EL1 -// CHECK: mrs x3, SPMCFGR_EL1 // encoding: [0xe3,0x9d,0x30,0xd5] - mrs x3, SPMROOTCR_EL3 -// CHECK: mrs x3, SPMROOTCR_EL3 // encoding: [0xe3,0x9e,0x36,0xd5] - msr SPMROOTCR_EL3, x3 -// CHECK: msr SPMROOTCR_EL3, x3 // encoding: [0xe3,0x9e,0x16,0xd5] - mrs x3, SPMSCR_EL1 -// CHECK: mrs x3, SPMSCR_EL1 // encoding: [0xe3,0x9e,0x37,0xd5] - msr SPMSCR_EL1, x3 -// CHECK: msr SPMSCR_EL1, x3 // encoding: [0xe3,0x9e,0x17,0xd5] +mrs x3, SPMACCESSR_EL1 +// CHECK-INST: mrs x3, SPMACCESSR_EL1 +// CHECK-ENCODING: encoding: [0x63,0x9d,0x30,0xd5] +// CHECK-UNKNOWN: d5309d63 mrs x3, SPMACCESSR_EL1 + +msr SPMACCESSR_EL1, x1 +// CHECK-INST: msr SPMACCESSR_EL1, x1 +// CHECK-ENCODING: encoding: [0x61,0x9d,0x10,0xd5] +// CHECK-UNKNOWN: d5109d61 msr SPMACCESSR_EL1, x1 + +mrs x3, SPMACCESSR_EL12 +// CHECK-INST: mrs x3, SPMACCESSR_EL12 +// CHECK-ENCODING: encoding: [0x63,0x9d,0x35,0xd5] +// CHECK-UNKNOWN: d5359d63 mrs x3, SPMACCESSR_EL12 + +msr SPMACCESSR_EL12, x1 +// CHECK-INST: msr SPMACCESSR_EL12, x1 +// CHECK-ENCODING: encoding: [0x61,0x9d,0x15,0xd5] +// CHECK-UNKNOWN: d5159d61 msr SPMACCESSR_EL12, x1 + +mrs x3, SPMACCESSR_EL2 +// CHECK-INST: mrs x3, SPMACCESSR_EL2 +// CHECK-ENCODING: encoding: [0x63,0x9d,0x34,0xd5] +// CHECK-UNKNOWN: d5349d63 mrs x3, SPMACCESSR_EL2 + +msr SPMACCESSR_EL2, x1 +// CHECK-INST: msr SPMACCESSR_EL2, x1 +// CHECK-ENCODING: encoding: [0x61,0x9d,0x14,0xd5] +// CHECK-UNKNOWN: d5149d61 msr SPMACCESSR_EL2, x1 + +mrs x3, SPMACCESSR_EL3 +// CHECK-INST: mrs x3, SPMACCESSR_EL3 +// CHECK-ENCODING: encoding: [0x63,0x9d,0x36,0xd5] +// CHECK-UNKNOWN: d5369d63 mrs x3, SPMACCESSR_EL3 + +msr SPMACCESSR_EL3, x1 +// CHECK-INST: msr SPMACCESSR_EL3, x1 +// CHECK-ENCODING: encoding: [0x61,0x9d,0x16,0xd5] +// CHECK-UNKNOWN: d5169d61 msr SPMACCESSR_EL3, x1 + +mrs x3, SPMCNTENCLR_EL0 +// CHECK-INST: mrs x3, SPMCNTENCLR_EL0 +// CHECK-ENCODING: encoding: [0x43,0x9c,0x33,0xd5] +// CHECK-UNKNOWN: d5339c43 mrs x3, SPMCNTENCLR_EL0 + +msr SPMCNTENCLR_EL0, x1 +// CHECK-INST: msr SPMCNTENCLR_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0x9c,0x13,0xd5] +// CHECK-UNKNOWN: d5139c41 msr SPMCNTENCLR_EL0, x1 + +mrs x3, SPMCNTENSET_EL0 +// CHECK-INST: mrs x3, SPMCNTENSET_EL0 +// CHECK-ENCODING: encoding: [0x23,0x9c,0x33,0xd5] +// CHECK-UNKNOWN: d5339c23 mrs x3, SPMCNTENSET_EL0 + +msr SPMCNTENSET_EL0, x1 +// CHECK-INST: msr SPMCNTENSET_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0x9c,0x13,0xd5] +// CHECK-UNKNOWN: d5139c21 msr SPMCNTENSET_EL0, x1 + +mrs x3, SPMCR_EL0 +// CHECK-INST: mrs x3, SPMCR_EL0 +// CHECK-ENCODING: encoding: [0x03,0x9c,0x33,0xd5] +// CHECK-UNKNOWN: d5339c03 mrs x3, SPMCR_EL0 + +msr SPMCR_EL0, x1 +// CHECK-INST: msr SPMCR_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0x9c,0x13,0xd5] +// CHECK-UNKNOWN: d5139c01 msr SPMCR_EL0, x1 + +mrs x3, SPMDEVAFF_EL1 +// CHECK-INST: mrs x3, SPMDEVAFF_EL1 +// CHECK-ENCODING: encoding: [0xc3,0x9d,0x30,0xd5] +// CHECK-UNKNOWN: d5309dc3 mrs x3, SPMDEVAFF_EL1 + +mrs x3, SPMDEVARCH_EL1 +// CHECK-INST: mrs x3, SPMDEVARCH_EL1 +// CHECK-ENCODING: encoding: [0xa3,0x9d,0x30,0xd5] +// CHECK-UNKNOWN: d5309da3 mrs x3, SPMDEVARCH_EL1 + +mrs x3, SPMEVCNTR0_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR0_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e003 mrs x3, SPMEVCNTR0_EL0 + +msr SPMEVCNTR0_EL0, x1 +// CHECK-INST: msr SPMEVCNTR0_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e001 msr SPMEVCNTR0_EL0, x1 + +mrs x3, SPMEVCNTR1_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR1_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e023 mrs x3, SPMEVCNTR1_EL0 + +msr SPMEVCNTR1_EL0, x1 +// CHECK-INST: msr SPMEVCNTR1_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e021 msr SPMEVCNTR1_EL0, x1 + +mrs x3, SPMEVCNTR2_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR2_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e043 mrs x3, SPMEVCNTR2_EL0 + +msr SPMEVCNTR2_EL0, x1 +// CHECK-INST: msr SPMEVCNTR2_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e041 msr SPMEVCNTR2_EL0, x1 + +mrs x3, SPMEVCNTR3_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR3_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e063 mrs x3, SPMEVCNTR3_EL0 + +msr SPMEVCNTR3_EL0, x1 +// CHECK-INST: msr SPMEVCNTR3_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e061 msr SPMEVCNTR3_EL0, x1 + +mrs x3, SPMEVCNTR4_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR4_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e083 mrs x3, SPMEVCNTR4_EL0 + +msr SPMEVCNTR4_EL0, x1 +// CHECK-INST: msr SPMEVCNTR4_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e081 msr SPMEVCNTR4_EL0, x1 + +mrs x3, SPMEVCNTR5_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR5_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e0a3 mrs x3, SPMEVCNTR5_EL0 + +msr SPMEVCNTR5_EL0, x1 +// CHECK-INST: msr SPMEVCNTR5_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e0a1 msr SPMEVCNTR5_EL0, x1 + +mrs x3, SPMEVCNTR6_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR6_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e0c3 mrs x3, SPMEVCNTR6_EL0 + +msr SPMEVCNTR6_EL0, x1 +// CHECK-INST: msr SPMEVCNTR6_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e0c1 msr SPMEVCNTR6_EL0, x1 + +mrs x3, SPMEVCNTR7_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR7_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe0,0x33,0xd5] +// CHECK-UNKNOWN: d533e0e3 mrs x3, SPMEVCNTR7_EL0 + +msr SPMEVCNTR7_EL0, x1 +// CHECK-INST: msr SPMEVCNTR7_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe0,0x13,0xd5] +// CHECK-UNKNOWN: d513e0e1 msr SPMEVCNTR7_EL0, x1 + +mrs x3, SPMEVCNTR8_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR8_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e103 mrs x3, SPMEVCNTR8_EL0 + +msr SPMEVCNTR8_EL0, x1 +// CHECK-INST: msr SPMEVCNTR8_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e101 msr SPMEVCNTR8_EL0, x1 + +mrs x3, SPMEVCNTR9_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR9_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e123 mrs x3, SPMEVCNTR9_EL0 + +msr SPMEVCNTR9_EL0, x1 +// CHECK-INST: msr SPMEVCNTR9_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e121 msr SPMEVCNTR9_EL0, x1 + +mrs x3, SPMEVCNTR10_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR10_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e143 mrs x3, SPMEVCNTR10_EL0 + +msr SPMEVCNTR10_EL0, x1 +// CHECK-INST: msr SPMEVCNTR10_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e141 msr SPMEVCNTR10_EL0, x1 + +mrs x3, SPMEVCNTR11_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR11_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e163 mrs x3, SPMEVCNTR11_EL0 + +msr SPMEVCNTR11_EL0, x1 +// CHECK-INST: msr SPMEVCNTR11_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e161 msr SPMEVCNTR11_EL0, x1 + +mrs x3, SPMEVCNTR12_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR12_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e183 mrs x3, SPMEVCNTR12_EL0 + +msr SPMEVCNTR12_EL0, x1 +// CHECK-INST: msr SPMEVCNTR12_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e181 msr SPMEVCNTR12_EL0, x1 + +mrs x3, SPMEVCNTR13_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR13_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e1a3 mrs x3, SPMEVCNTR13_EL0 + +msr SPMEVCNTR13_EL0, x1 +// CHECK-INST: msr SPMEVCNTR13_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e1a1 msr SPMEVCNTR13_EL0, x1 + +mrs x3, SPMEVCNTR14_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR14_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e1c3 mrs x3, SPMEVCNTR14_EL0 + +msr SPMEVCNTR14_EL0, x1 +// CHECK-INST: msr SPMEVCNTR14_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e1c1 msr SPMEVCNTR14_EL0, x1 + +mrs x3, SPMEVCNTR15_EL0 +// CHECK-INST: mrs x3, SPMEVCNTR15_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe1,0x33,0xd5] +// CHECK-UNKNOWN: d533e1e3 mrs x3, SPMEVCNTR15_EL0 + +msr SPMEVCNTR15_EL0, x1 +// CHECK-INST: msr SPMEVCNTR15_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe1,0x13,0xd5] +// CHECK-UNKNOWN: d513e1e1 msr SPMEVCNTR15_EL0, x1 + +mrs x3, SPMEVFILT2R0_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R0_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e603 mrs x3, SPMEVFILT2R0_EL0 + +msr SPMEVFILT2R0_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R0_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e601 msr SPMEVFILT2R0_EL0, x1 + +mrs x3, SPMEVFILT2R1_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R1_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e623 mrs x3, SPMEVFILT2R1_EL0 + +msr SPMEVFILT2R1_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R1_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e621 msr SPMEVFILT2R1_EL0, x1 + +mrs x3, SPMEVFILT2R2_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R2_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e643 mrs x3, SPMEVFILT2R2_EL0 + +msr SPMEVFILT2R2_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R2_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e641 msr SPMEVFILT2R2_EL0, x1 + +mrs x3, SPMEVFILT2R3_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R3_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e663 mrs x3, SPMEVFILT2R3_EL0 + +msr SPMEVFILT2R3_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R3_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e661 msr SPMEVFILT2R3_EL0, x1 + +mrs x3, SPMEVFILT2R4_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R4_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e683 mrs x3, SPMEVFILT2R4_EL0 + +msr SPMEVFILT2R4_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R4_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e681 msr SPMEVFILT2R4_EL0, x1 + +mrs x3, SPMEVFILT2R5_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R5_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e6a3 mrs x3, SPMEVFILT2R5_EL0 + +msr SPMEVFILT2R5_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R5_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e6a1 msr SPMEVFILT2R5_EL0, x1 + +mrs x3, SPMEVFILT2R6_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R6_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e6c3 mrs x3, SPMEVFILT2R6_EL0 + +msr SPMEVFILT2R6_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R6_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e6c1 msr SPMEVFILT2R6_EL0, x1 + +mrs x3, SPMEVFILT2R7_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R7_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe6,0x33,0xd5] +// CHECK-UNKNOWN: d533e6e3 mrs x3, SPMEVFILT2R7_EL0 + +msr SPMEVFILT2R7_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R7_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe6,0x13,0xd5] +// CHECK-UNKNOWN: d513e6e1 msr SPMEVFILT2R7_EL0, x1 + +mrs x3, SPMEVFILT2R8_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R8_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e703 mrs x3, SPMEVFILT2R8_EL0 + +msr SPMEVFILT2R8_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R8_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e701 msr SPMEVFILT2R8_EL0, x1 + +mrs x3, SPMEVFILT2R9_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R9_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e723 mrs x3, SPMEVFILT2R9_EL0 + +msr SPMEVFILT2R9_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R9_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e721 msr SPMEVFILT2R9_EL0, x1 + +mrs x3, SPMEVFILT2R10_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R10_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e743 mrs x3, SPMEVFILT2R10_EL0 + +msr SPMEVFILT2R10_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R10_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e741 msr SPMEVFILT2R10_EL0, x1 + +mrs x3, SPMEVFILT2R11_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R11_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e763 mrs x3, SPMEVFILT2R11_EL0 + +msr SPMEVFILT2R11_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R11_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e761 msr SPMEVFILT2R11_EL0, x1 + +mrs x3, SPMEVFILT2R12_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R12_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e783 mrs x3, SPMEVFILT2R12_EL0 + +msr SPMEVFILT2R12_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R12_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e781 msr SPMEVFILT2R12_EL0, x1 + +mrs x3, SPMEVFILT2R13_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R13_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e7a3 mrs x3, SPMEVFILT2R13_EL0 + +msr SPMEVFILT2R13_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R13_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e7a1 msr SPMEVFILT2R13_EL0, x1 + +mrs x3, SPMEVFILT2R14_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R14_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e7c3 mrs x3, SPMEVFILT2R14_EL0 + +msr SPMEVFILT2R14_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R14_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e7c1 msr SPMEVFILT2R14_EL0, x1 + +mrs x3, SPMEVFILT2R15_EL0 +// CHECK-INST: mrs x3, SPMEVFILT2R15_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe7,0x33,0xd5] +// CHECK-UNKNOWN: d533e7e3 mrs x3, SPMEVFILT2R15_EL0 + +msr SPMEVFILT2R15_EL0, x1 +// CHECK-INST: msr SPMEVFILT2R15_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe7,0x13,0xd5] +// CHECK-UNKNOWN: d513e7e1 msr SPMEVFILT2R15_EL0, x1 + +mrs x3, SPMEVFILTR0_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR0_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e403 mrs x3, SPMEVFILTR0_EL0 + +msr SPMEVFILTR0_EL0, x1 +// CHECK-INST: msr SPMEVFILTR0_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e401 msr SPMEVFILTR0_EL0, x1 + +mrs x3, SPMEVFILTR1_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR1_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e423 mrs x3, SPMEVFILTR1_EL0 + +msr SPMEVFILTR1_EL0, x1 +// CHECK-INST: msr SPMEVFILTR1_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e421 msr SPMEVFILTR1_EL0, x1 + +mrs x3, SPMEVFILTR2_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR2_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e443 mrs x3, SPMEVFILTR2_EL0 + +msr SPMEVFILTR2_EL0, x1 +// CHECK-INST: msr SPMEVFILTR2_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e441 msr SPMEVFILTR2_EL0, x1 + +mrs x3, SPMEVFILTR3_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR3_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e463 mrs x3, SPMEVFILTR3_EL0 + +msr SPMEVFILTR3_EL0, x1 +// CHECK-INST: msr SPMEVFILTR3_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e461 msr SPMEVFILTR3_EL0, x1 + +mrs x3, SPMEVFILTR4_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR4_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e483 mrs x3, SPMEVFILTR4_EL0 + +msr SPMEVFILTR4_EL0, x1 +// CHECK-INST: msr SPMEVFILTR4_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e481 msr SPMEVFILTR4_EL0, x1 + +mrs x3, SPMEVFILTR5_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR5_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e4a3 mrs x3, SPMEVFILTR5_EL0 + +msr SPMEVFILTR5_EL0, x1 +// CHECK-INST: msr SPMEVFILTR5_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e4a1 msr SPMEVFILTR5_EL0, x1 + +mrs x3, SPMEVFILTR6_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR6_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e4c3 mrs x3, SPMEVFILTR6_EL0 + +msr SPMEVFILTR6_EL0, x1 +// CHECK-INST: msr SPMEVFILTR6_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e4c1 msr SPMEVFILTR6_EL0, x1 + +mrs x3, SPMEVFILTR7_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR7_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe4,0x33,0xd5] +// CHECK-UNKNOWN: d533e4e3 mrs x3, SPMEVFILTR7_EL0 + +msr SPMEVFILTR7_EL0, x1 +// CHECK-INST: msr SPMEVFILTR7_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe4,0x13,0xd5] +// CHECK-UNKNOWN: d513e4e1 msr SPMEVFILTR7_EL0, x1 + +mrs x3, SPMEVFILTR8_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR8_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e503 mrs x3, SPMEVFILTR8_EL0 + +msr SPMEVFILTR8_EL0, x1 +// CHECK-INST: msr SPMEVFILTR8_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e501 msr SPMEVFILTR8_EL0, x1 + +mrs x3, SPMEVFILTR9_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR9_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e523 mrs x3, SPMEVFILTR9_EL0 + +msr SPMEVFILTR9_EL0, x1 +// CHECK-INST: msr SPMEVFILTR9_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e521 msr SPMEVFILTR9_EL0, x1 + +mrs x3, SPMEVFILTR10_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR10_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e543 mrs x3, SPMEVFILTR10_EL0 + +msr SPMEVFILTR10_EL0, x1 +// CHECK-INST: msr SPMEVFILTR10_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e541 msr SPMEVFILTR10_EL0, x1 + +mrs x3, SPMEVFILTR11_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR11_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e563 mrs x3, SPMEVFILTR11_EL0 + +msr SPMEVFILTR11_EL0, x1 +// CHECK-INST: msr SPMEVFILTR11_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e561 msr SPMEVFILTR11_EL0, x1 + +mrs x3, SPMEVFILTR12_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR12_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e583 mrs x3, SPMEVFILTR12_EL0 + +msr SPMEVFILTR12_EL0, x1 +// CHECK-INST: msr SPMEVFILTR12_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e581 msr SPMEVFILTR12_EL0, x1 + +mrs x3, SPMEVFILTR13_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR13_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e5a3 mrs x3, SPMEVFILTR13_EL0 + +msr SPMEVFILTR13_EL0, x1 +// CHECK-INST: msr SPMEVFILTR13_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e5a1 msr SPMEVFILTR13_EL0, x1 + +mrs x3, SPMEVFILTR14_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR14_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e5c3 mrs x3, SPMEVFILTR14_EL0 + +msr SPMEVFILTR14_EL0, x1 +// CHECK-INST: msr SPMEVFILTR14_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e5c1 msr SPMEVFILTR14_EL0, x1 + +mrs x3, SPMEVFILTR15_EL0 +// CHECK-INST: mrs x3, SPMEVFILTR15_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe5,0x33,0xd5] +// CHECK-UNKNOWN: d533e5e3 mrs x3, SPMEVFILTR15_EL0 + +msr SPMEVFILTR15_EL0, x1 +// CHECK-INST: msr SPMEVFILTR15_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe5,0x13,0xd5] +// CHECK-UNKNOWN: d513e5e1 msr SPMEVFILTR15_EL0, x1 + +mrs x3, SPMEVTYPER0_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER0_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e203 mrs x3, SPMEVTYPER0_EL0 + +msr SPMEVTYPER0_EL0, x1 +// CHECK-INST: msr SPMEVTYPER0_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e201 msr SPMEVTYPER0_EL0, x1 + +mrs x3, SPMEVTYPER1_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER1_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e223 mrs x3, SPMEVTYPER1_EL0 + +msr SPMEVTYPER1_EL0, x1 +// CHECK-INST: msr SPMEVTYPER1_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e221 msr SPMEVTYPER1_EL0, x1 + +mrs x3, SPMEVTYPER2_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER2_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e243 mrs x3, SPMEVTYPER2_EL0 + +msr SPMEVTYPER2_EL0, x1 +// CHECK-INST: msr SPMEVTYPER2_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e241 msr SPMEVTYPER2_EL0, x1 + +mrs x3, SPMEVTYPER3_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER3_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e263 mrs x3, SPMEVTYPER3_EL0 + +msr SPMEVTYPER3_EL0, x1 +// CHECK-INST: msr SPMEVTYPER3_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e261 msr SPMEVTYPER3_EL0, x1 + +mrs x3, SPMEVTYPER4_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER4_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e283 mrs x3, SPMEVTYPER4_EL0 + +msr SPMEVTYPER4_EL0, x1 +// CHECK-INST: msr SPMEVTYPER4_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e281 msr SPMEVTYPER4_EL0, x1 + +mrs x3, SPMEVTYPER5_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER5_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e2a3 mrs x3, SPMEVTYPER5_EL0 + +msr SPMEVTYPER5_EL0, x1 +// CHECK-INST: msr SPMEVTYPER5_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e2a1 msr SPMEVTYPER5_EL0, x1 + +mrs x3, SPMEVTYPER6_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER6_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e2c3 mrs x3, SPMEVTYPER6_EL0 + +msr SPMEVTYPER6_EL0, x1 +// CHECK-INST: msr SPMEVTYPER6_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e2c1 msr SPMEVTYPER6_EL0, x1 + +mrs x3, SPMEVTYPER7_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER7_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe2,0x33,0xd5] +// CHECK-UNKNOWN: d533e2e3 mrs x3, SPMEVTYPER7_EL0 + +msr SPMEVTYPER7_EL0, x1 +// CHECK-INST: msr SPMEVTYPER7_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe2,0x13,0xd5] +// CHECK-UNKNOWN: d513e2e1 msr SPMEVTYPER7_EL0, x1 + +mrs x3, SPMEVTYPER8_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER8_EL0 +// CHECK-ENCODING: encoding: [0x03,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e303 mrs x3, SPMEVTYPER8_EL0 + +msr SPMEVTYPER8_EL0, x1 +// CHECK-INST: msr SPMEVTYPER8_EL0, x1 +// CHECK-ENCODING: encoding: [0x01,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e301 msr SPMEVTYPER8_EL0, x1 + +mrs x3, SPMEVTYPER9_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER9_EL0 +// CHECK-ENCODING: encoding: [0x23,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e323 mrs x3, SPMEVTYPER9_EL0 + +msr SPMEVTYPER9_EL0, x1 +// CHECK-INST: msr SPMEVTYPER9_EL0, x1 +// CHECK-ENCODING: encoding: [0x21,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e321 msr SPMEVTYPER9_EL0, x1 + +mrs x3, SPMEVTYPER10_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER10_EL0 +// CHECK-ENCODING: encoding: [0x43,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e343 mrs x3, SPMEVTYPER10_EL0 + +msr SPMEVTYPER10_EL0, x1 +// CHECK-INST: msr SPMEVTYPER10_EL0, x1 +// CHECK-ENCODING: encoding: [0x41,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e341 msr SPMEVTYPER10_EL0, x1 + +mrs x3, SPMEVTYPER11_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER11_EL0 +// CHECK-ENCODING: encoding: [0x63,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e363 mrs x3, SPMEVTYPER11_EL0 + +msr SPMEVTYPER11_EL0, x1 +// CHECK-INST: msr SPMEVTYPER11_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e361 msr SPMEVTYPER11_EL0, x1 + +mrs x3, SPMEVTYPER12_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER12_EL0 +// CHECK-ENCODING: encoding: [0x83,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e383 mrs x3, SPMEVTYPER12_EL0 + +msr SPMEVTYPER12_EL0, x1 +// CHECK-INST: msr SPMEVTYPER12_EL0, x1 +// CHECK-ENCODING: encoding: [0x81,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e381 msr SPMEVTYPER12_EL0, x1 + +mrs x3, SPMEVTYPER13_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER13_EL0 +// CHECK-ENCODING: encoding: [0xa3,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e3a3 mrs x3, SPMEVTYPER13_EL0 + +msr SPMEVTYPER13_EL0, x1 +// CHECK-INST: msr SPMEVTYPER13_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e3a1 msr SPMEVTYPER13_EL0, x1 + +mrs x3, SPMEVTYPER14_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER14_EL0 +// CHECK-ENCODING: encoding: [0xc3,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e3c3 mrs x3, SPMEVTYPER14_EL0 + +msr SPMEVTYPER14_EL0, x1 +// CHECK-INST: msr SPMEVTYPER14_EL0, x1 +// CHECK-ENCODING: encoding: [0xc1,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e3c1 msr SPMEVTYPER14_EL0, x1 + +mrs x3, SPMEVTYPER15_EL0 +// CHECK-INST: mrs x3, SPMEVTYPER15_EL0 +// CHECK-ENCODING: encoding: [0xe3,0xe3,0x33,0xd5] +// CHECK-UNKNOWN: d533e3e3 mrs x3, SPMEVTYPER15_EL0 + +msr SPMEVTYPER15_EL0, x1 +// CHECK-INST: msr SPMEVTYPER15_EL0, x1 +// CHECK-ENCODING: encoding: [0xe1,0xe3,0x13,0xd5] +// CHECK-UNKNOWN: d513e3e1 msr SPMEVTYPER15_EL0, x1 + +mrs x3, SPMIIDR_EL1 +// CHECK-INST: mrs x3, SPMIIDR_EL1 +// CHECK-ENCODING: encoding: [0x83,0x9d,0x30,0xd5] +// CHECK-UNKNOWN: d5309d83 mrs x3, SPMIIDR_EL1 + +mrs x3, SPMINTENCLR_EL1 +// CHECK-INST: mrs x3, SPMINTENCLR_EL1 +// CHECK-ENCODING: encoding: [0x43,0x9e,0x30,0xd5] +// CHECK-UNKNOWN: d5309e43 mrs x3, SPMINTENCLR_EL1 + +msr SPMINTENCLR_EL1, x1 +// CHECK-INST: msr SPMINTENCLR_EL1, x1 +// CHECK-ENCODING: encoding: [0x41,0x9e,0x10,0xd5] +// CHECK-UNKNOWN: d5109e41 msr SPMINTENCLR_EL1, x1 + +mrs x3, SPMINTENSET_EL1 +// CHECK-INST: mrs x3, SPMINTENSET_EL1 +// CHECK-ENCODING: encoding: [0x23,0x9e,0x30,0xd5] +// CHECK-UNKNOWN: d5309e23 mrs x3, SPMINTENSET_EL1 + +msr SPMINTENSET_EL1, x1 +// CHECK-INST: msr SPMINTENSET_EL1, x1 +// CHECK-ENCODING: encoding: [0x21,0x9e,0x10,0xd5] +// CHECK-UNKNOWN: d5109e21 msr SPMINTENSET_EL1, x1 + +mrs x3, SPMOVSCLR_EL0 +// CHECK-INST: mrs x3, SPMOVSCLR_EL0 +// CHECK-ENCODING: encoding: [0x63,0x9c,0x33,0xd5] +// CHECK-UNKNOWN: d5339c63 mrs x3, SPMOVSCLR_EL0 + +msr SPMOVSCLR_EL0, x1 +// CHECK-INST: msr SPMOVSCLR_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0x9c,0x13,0xd5] +// CHECK-UNKNOWN: d5139c61 msr SPMOVSCLR_EL0, x1 + +mrs x3, SPMOVSSET_EL0 +// CHECK-INST: mrs x3, SPMOVSSET_EL0 +// CHECK-ENCODING: encoding: [0x63,0x9e,0x33,0xd5] +// CHECK-UNKNOWN: d5339e63 mrs x3, SPMOVSSET_EL0 + +msr SPMOVSSET_EL0, x1 +// CHECK-INST: msr SPMOVSSET_EL0, x1 +// CHECK-ENCODING: encoding: [0x61,0x9e,0x13,0xd5] +// CHECK-UNKNOWN: d5139e61 msr SPMOVSSET_EL0, x1 + +mrs x3, SPMSELR_EL0 +// CHECK-INST: mrs x3, SPMSELR_EL0 +// CHECK-ENCODING: encoding: [0xa3,0x9c,0x33,0xd5] +// CHECK-UNKNOWN: d5339ca3 mrs x3, SPMSELR_EL0 + +msr SPMSELR_EL0, x1 +// CHECK-INST: msr SPMSELR_EL0, x1 +// CHECK-ENCODING: encoding: [0xa1,0x9c,0x13,0xd5] +// CHECK-UNKNOWN: d5139ca1 msr SPMSELR_EL0, x1 + +mrs x3, SPMCGCR0_EL1 +// CHECK-INST: mrs x3, SPMCGCR0_EL1 +// CHECK-ENCODING: encoding: [0x03,0x9d,0x30,0xd5] +// CHECK-UNKNOWN: d5309d03 mrs x3, SPMCGCR0_EL1 + +mrs x3, SPMCGCR1_EL1 +// CHECK-INST: mrs x3, SPMCGCR1_EL1 +// CHECK-ENCODING: encoding: [0x23,0x9d,0x30,0xd5] +// CHECK-UNKNOWN: d5309d23 mrs x3, SPMCGCR1_EL1 + +mrs x3, SPMCFGR_EL1 +// CHECK-INST: mrs x3, SPMCFGR_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x9d,0x30,0xd5] +// CHECK-UNKNOWN: d5309de3 mrs x3, SPMCFGR_EL1 + +mrs x3, SPMROOTCR_EL3 +// CHECK-INST: mrs x3, SPMROOTCR_EL3 +// CHECK-ENCODING: encoding: [0xe3,0x9e,0x36,0xd5] +// CHECK-UNKNOWN: d5369ee3 mrs x3, SPMROOTCR_EL3 + +msr SPMROOTCR_EL3, x3 +// CHECK-INST: msr SPMROOTCR_EL3, x3 +// CHECK-ENCODING: encoding: [0xe3,0x9e,0x16,0xd5] +// CHECK-UNKNOWN: d5169ee3 msr SPMROOTCR_EL3, x3 + +mrs x3, SPMSCR_EL1 +// CHECK-INST: mrs x3, SPMSCR_EL1 +// CHECK-ENCODING: encoding: [0xe3,0x9e,0x37,0xd5] +// CHECK-UNKNOWN: d5379ee3 mrs x3, SPMSCR_EL1 + +msr SPMSCR_EL1, x3 +// CHECK-INST: msr SPMSCR_EL1, x3 +// CHECK-ENCODING: encoding: [0xe3,0x9e,0x17,0xd5] +// CHECK-UNKNOWN: d5179ee3 msr SPMSCR_EL1, x3 // FEAT_ITE - mrs x3, TRCITEEDCR -// CHECK: mrs x3, TRCITEEDCR // encoding: [0x23,0x02,0x31,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register - msr TRCITEEDCR, x3 -// CHECK: msr TRCITEEDCR, x3 // encoding: [0x23,0x02,0x11,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register - mrs x3, TRCITECR_EL1 -// CHECK: mrs x3, TRCITECR_EL1 // encoding: [0x63,0x12,0x38,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register - msr TRCITECR_EL1, x1 -// CHECK: msr TRCITECR_EL1, x1 // encoding: [0x61,0x12,0x18,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register or pstate - mrs x3, TRCITECR_EL12 -// CHECK: mrs x3, TRCITECR_EL12 // encoding: [0x63,0x12,0x3d,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register - msr TRCITECR_EL12, x1 -// CHECK: msr TRCITECR_EL12, x1 // encoding: [0x61,0x12,0x1d,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register or pstate - mrs x3, TRCITECR_EL2 -// CHECK: mrs x3, TRCITECR_EL2 // encoding: [0x63,0x12,0x3c,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:21: error: expected readable system register - msr TRCITECR_EL2, x1 -// CHECK: msr TRCITECR_EL2, x1 // encoding: [0x61,0x12,0x1c,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:17: error: expected writable system register or pstate - trcit x1 -// CHECK: trcit x1 // encoding: [0xe1,0x72,0x0b,0xd5] -// ERROR-NO-ITE: [[@LINE-2]]:13: error: instruction requires: ite +mrs x3, TRCITEEDCR +// CHECK-INST: mrs x3, TRCITEEDCR +// CHECK-ENCODING: encoding: [0x23,0x02,0x31,0xd5] +// CHECK-ERROR: error: expected readable system register +// CHECK-UNKNOWN: d5310223 mrs x3, S2_1_C0_C2_1 + +msr TRCITEEDCR, x3 +// CHECK-INST: msr TRCITEEDCR, x3 +// CHECK-ENCODING: encoding: [0x23,0x02,0x11,0xd5] +// CHECK-ERROR: error: expected writable system register or pstate +// CHECK-UNKNOWN: d5110223 msr S2_1_C0_C2_1, x3 + +mrs x3, TRCITECR_EL1 +// CHECK-INST: mrs x3, TRCITECR_EL1 +// CHECK-ENCODING: encoding: [0x63,0x12,0x38,0xd5] +// CHECK-ERROR: error: expected readable system register +// CHECK-UNKNOWN: d5381263 mrs x3, S3_0_C1_C2_3 + +msr TRCITECR_EL1, x1 +// CHECK-INST: msr TRCITECR_EL1, x1 +// CHECK-ENCODING: encoding: [0x61,0x12,0x18,0xd5] +// CHECK-ERROR: error: expected writable system register or pstate +// CHECK-UNKNOWN: d5181261 msr S3_0_C1_C2_3, x1 + +mrs x3, TRCITECR_EL12 +// CHECK-INST: mrs x3, TRCITECR_EL12 +// CHECK-ENCODING: encoding: [0x63,0x12,0x3d,0xd5] +// CHECK-ERROR: error: expected readable system register +// CHECK-UNKNOWN: d53d1263 mrs x3, S3_5_C1_C2_3 + +msr TRCITECR_EL12, x1 +// CHECK-INST: msr TRCITECR_EL12, x1 +// CHECK-ENCODING: encoding: [0x61,0x12,0x1d,0xd5] +// CHECK-ERROR: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51d1261 msr S3_5_C1_C2_3, x1 + +mrs x3, TRCITECR_EL2 +// CHECK-INST: mrs x3, TRCITECR_EL2 +// CHECK-ENCODING: encoding: [0x63,0x12,0x3c,0xd5] +// CHECK-ERROR: error: expected readable system register +// CHECK-UNKNOWN: d53c1263 mrs x3, S3_4_C1_C2_3 + +msr TRCITECR_EL2, x1 +// CHECK-INST: msr TRCITECR_EL2, x1 +// CHECK-ENCODING: encoding: [0x61,0x12,0x1c,0xd5] +// CHECK-ERROR: error: expected writable system register or pstate +// CHECK-UNKNOWN: d51c1261 msr S3_4_C1_C2_3, x1 + +trcit x1 +// CHECK-INST: trcit x1 +// CHECK-ENCODING: encoding: [0xe1,0x72,0x0b,0xd5] +// CHECK-ERROR: error: instruction requires: ite +// CHECK-UNKNOWN: d50b72e1 sys #3, c7, c2, #7, x1 // FEAT_SPE_FDS - mrs x3, PMSDSFR_EL1 -// CHECK: mrs x3, PMSDSFR_EL1 // encoding: [0x83,0x9a,0x38,0xd5] - msr PMSDSFR_EL1, x3 -// CHECK: msr PMSDSFR_EL1, x3 // encoding: [0x83,0x9a,0x18,0xd5] +mrs x3, PMSDSFR_EL1 +// CHECK-INST: mrs x3, PMSDSFR_EL1 +// CHECK-ENCODING: encoding: [0x83,0x9a,0x38,0xd5] +// CHECK-UNKNOWN: d5389a83 mrs x3, PMSDSFR_EL1 + +msr PMSDSFR_EL1, x3 +// CHECK-INST: msr PMSDSFR_EL1, x3 +// CHECK-ENCODING: encoding: [0x83,0x9a,0x18,0xd5] +// CHECK-UNKNOWN: d5189a83 msr PMSDSFR_EL1, x3 diff --git a/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s b/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s index 263f200428b68..4ccc800310f28 100644 --- a/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s +++ b/llvm/test/MC/AArch64/armv8.9a-lrcpc3.s @@ -1,143 +1,282 @@ -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+rcpc3 < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a -mattr=+rcpc3 < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a -mattr=+rcpc3 < %s | FileCheck %s - -// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.9a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v9.4a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s - - stilp w24, w0, [x16, #-8]! -// CHECK: stilp w24, w0, [x16, #-8]! // encoding: [0x18,0x0a,0x00,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stilp w24, w0, [x16, -8]! -// CHECK: stilp w24, w0, [x16, #-8]! // encoding: [0x18,0x0a,0x00,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stilp x25, x1, [x17, -16]! -// CHECK: stilp x25, x1, [x17, #-16]! // encoding: [0x39,0x0a,0x01,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stilp x25, x1, [x17, #-16]! -// CHECK: stilp x25, x1, [x17, #-16]! // encoding: [0x39,0x0a,0x01,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stilp w26, w2, [x18] -// CHECK: stilp w26, w2, [x18] // encoding: [0x5a,0x1a,0x02,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stilp w26, w2, [x18, #0] -// CHECK: stilp w26, w2, [x18] // encoding: [0x5a,0x1a,0x02,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stilp x27, x3, [sp] -// CHECK: stilp x27, x3, [sp] // encoding: [0xfb,0x1b,0x03,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stilp x27, x3, [sp, 0] -// CHECK: stilp x27, x3, [sp] // encoding: [0xfb,0x1b,0x03,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp w28, w4, [x20], #8 -// CHECK: ldiapp w28, w4, [x20], #8 // encoding: [0x9c,0x0a,0x44,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp w28, w4, [x20, #0], #8 -// CHECK: ldiapp w28, w4, [x20], #8 // encoding: [0x9c,0x0a,0x44,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp w28, w4, [x20], 8 -// CHECK: ldiapp w28, w4, [x20], #8 // encoding: [0x9c,0x0a,0x44,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp w28, w4, [x20, 0], 8 -// CHECK: ldiapp w28, w4, [x20], #8 // encoding: [0x9c,0x0a,0x44,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp x29, x5, [x21], #16 -// CHECK: ldiapp x29, x5, [x21], #16 // encoding: [0xbd,0x0a,0x45,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp x29, x5, [x21], 16 -// CHECK: ldiapp x29, x5, [x21], #16 // encoding: [0xbd,0x0a,0x45,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp w30, w6, [sp] -// CHECK: ldiapp w30, w6, [sp] // encoding: [0xfe,0x1b,0x46,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp w30, w6, [sp, #0] -// CHECK: ldiapp w30, w6, [sp] // encoding: [0xfe,0x1b,0x46,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp xzr, x7, [x23] -// CHECK: ldiapp xzr, x7, [x23] // encoding: [0xff,0x1a,0x47,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldiapp xzr, x7, [x23, 0] -// CHECK: ldiapp xzr, x7, [x23] // encoding: [0xff,0x1a,0x47,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - - stlr w3, [x15, #-4]! -// CHECK: stlr w3, [x15, #-4]! // encoding: [0xe3,0x09,0x80,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stlr w3, [x15, -4]! -// CHECK: stlr w3, [x15, #-4]! // encoding: [0xe3,0x09,0x80,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stlr x3, [x15, #-8]! -// CHECK: stlr x3, [x15, #-8]! // encoding: [0xe3,0x09,0x80,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stlr x3, [sp, -8]! -// CHECK: stlr x3, [sp, #-8]! // encoding: [0xe3,0x0b,0x80,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapr w3, [sp], #4 -// CHECK: ldapr w3, [sp], #4 // encoding: [0xe3,0x0b,0xc0,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapr w3, [x15], 4 -// CHECK: ldapr w3, [x15], #4 // encoding: [0xe3,0x09,0xc0,0x99] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapr x3, [x15], #8 -// CHECK: ldapr x3, [x15], #8 // encoding: [0xe3,0x09,0xc0,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapr x3, [x15], 8 -// CHECK: ldapr x3, [x15], #8 // encoding: [0xe3,0x09,0xc0,0xd9] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - - stlur b3, [x15, #-1] -// CHECK: stlur b3, [x15, #-1] // encoding: [0xe3,0xf9,0x1f,0x1d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stlur h3, [x15, #2] -// CHECK: stlur h3, [x15, #2] // encoding: [0xe3,0x29,0x00,0x5d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stlur s3, [x15, #-3] -// CHECK: stlur s3, [x15, #-3] // encoding: [0xe3,0xd9,0x1f,0x9d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stlur d3, [sp, #4] -// CHECK: stlur d3, [sp, #4] // encoding: [0xe3,0x4b,0x00,0xdd] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stlur q3, [x15, #-5] -// CHECK: stlur q3, [x15, #-5] // encoding: [0xe3,0xb9,0x9f,0x1d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapur b3, [x15, #6] -// CHECK: ldapur b3, [x15, #6] // encoding: [0xe3,0x69,0x40,0x1d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapur h3, [x15, #-7] -// CHECK: ldapur h3, [x15, #-7] // encoding: [0xe3,0x99,0x5f,0x5d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapur s3, [x15, #8] -// CHECK: ldapur s3, [x15, #8] // encoding: [0xe3,0x89,0x40,0x9d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapur d3, [x15, #-9] -// CHECK: ldapur d3, [x15, #-9] // encoding: [0xe3,0x79,0x5f,0xdd] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldapur q3, [sp, #10] -// CHECK: ldapur q3, [sp, #10] // encoding: [0xe3,0xab,0xc0,0x1d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - - stl1 { v3.d }[0], [x15] -// CHECK: stl1 { v3.d }[0], [x15] // encoding: [0xe3,0x85,0x01,0x0d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stl1 { v3.d }[0], [x15, #0] -// CHECK: stl1 { v3.d }[0], [x15] // encoding: [0xe3,0x85,0x01,0x0d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stl1 { v3.d }[1], [sp] -// CHECK: stl1 { v3.d }[1], [sp] // encoding: [0xe3,0x87,0x01,0x4d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - stl1 { v3.d }[1], [sp, 0] -// CHECK: stl1 { v3.d }[1], [sp] // encoding: [0xe3,0x87,0x01,0x4d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldap1 { v3.d }[0], [sp] -// CHECK: ldap1 { v3.d }[0], [sp] // encoding: [0xe3,0x87,0x41,0x0d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldap1 { v3.d }[0], [sp, #0] -// CHECK: ldap1 { v3.d }[0], [sp] // encoding: [0xe3,0x87,0x41,0x0d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldap1 { v3.d }[1], [x15] -// CHECK: ldap1 { v3.d }[1], [x15] // encoding: [0xe3,0x85,0x41,0x4d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 - ldap1 { v3.d }[1], [x15, 0] -// CHECK: ldap1 { v3.d }[1], [x15] // encoding: [0xe3,0x85,0x41,0x4d] -// ERROR-NO-RCPC3: [[@LINE-2]]:16: error: instruction requires: rcpc3 +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+rcpc3 < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+rcpc3,+v8.9a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+rcpc3,+v9.4a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+rcpc3 < %s \ +// RUN: | llvm-objdump -d --mattr=+rcpc3 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+rcpc3 < %s \ +// RUN: | llvm-objdump -d --mattr=-rcpc3 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+rcpc3 < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+rcpc3 -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + +stilp w24, w0, [x16, #-8]! +// CHECK-INST: stilp w24, w0, [x16, #-8]! +// CHECK-ENCODING: encoding: [0x18,0x0a,0x00,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99000a18 + +stilp w24, w0, [x16, -8]! +// CHECK-INST: stilp w24, w0, [x16, #-8]! +// CHECK-ENCODING: encoding: [0x18,0x0a,0x00,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99000a18 + +stilp x25, x1, [x17, -16]! +// CHECK-INST: stilp x25, x1, [x17, #-16]! +// CHECK-ENCODING: encoding: [0x39,0x0a,0x01,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9010a39 + +stilp x25, x1, [x17, #-16]! +// CHECK-INST: stilp x25, x1, [x17, #-16]! +// CHECK-ENCODING: encoding: [0x39,0x0a,0x01,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9010a39 + +stilp w26, w2, [x18] +// CHECK-INST: stilp w26, w2, [x18] +// CHECK-ENCODING: encoding: [0x5a,0x1a,0x02,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99021a5a + +stilp w26, w2, [x18, #0] +// CHECK-INST: stilp w26, w2, [x18] +// CHECK-ENCODING: encoding: [0x5a,0x1a,0x02,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99021a5a + +stilp x27, x3, [sp] +// CHECK-INST: stilp x27, x3, [sp] +// CHECK-ENCODING: encoding: [0xfb,0x1b,0x03,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9031bfb + +stilp x27, x3, [sp, 0] +// CHECK-INST: stilp x27, x3, [sp] +// CHECK-ENCODING: encoding: [0xfb,0x1b,0x03,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9031bfb + +ldiapp w28, w4, [x20], #8 +// CHECK-INST: ldiapp w28, w4, [x20], #8 +// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99440a9c + +ldiapp w28, w4, [x20, #0], #8 +// CHECK-INST: ldiapp w28, w4, [x20], #8 +// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99440a9c + +ldiapp w28, w4, [x20], 8 +// CHECK-INST: ldiapp w28, w4, [x20], #8 +// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99440a9c + +ldiapp w28, w4, [x20, 0], 8 +// CHECK-INST: ldiapp w28, w4, [x20], #8 +// CHECK-ENCODING: encoding: [0x9c,0x0a,0x44,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99440a9c + +ldiapp x29, x5, [x21], #16 +// CHECK-INST: ldiapp x29, x5, [x21], #16 +// CHECK-ENCODING: encoding: [0xbd,0x0a,0x45,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9450abd + +ldiapp x29, x5, [x21], 16 +// CHECK-INST: ldiapp x29, x5, [x21], #16 +// CHECK-ENCODING: encoding: [0xbd,0x0a,0x45,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9450abd + +ldiapp w30, w6, [sp] +// CHECK-INST: ldiapp w30, w6, [sp] +// CHECK-ENCODING: encoding: [0xfe,0x1b,0x46,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99461bfe + +ldiapp w30, w6, [sp, #0] +// CHECK-INST: ldiapp w30, w6, [sp] +// CHECK-ENCODING: encoding: [0xfe,0x1b,0x46,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99461bfe + +ldiapp xzr, x7, [x23] +// CHECK-INST: ldiapp xzr, x7, [x23] +// CHECK-ENCODING: encoding: [0xff,0x1a,0x47,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9471aff + +ldiapp xzr, x7, [x23, 0] +// CHECK-INST: ldiapp xzr, x7, [x23] +// CHECK-ENCODING: encoding: [0xff,0x1a,0x47,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9471aff + +stlr w3, [x15, #-4]! +// CHECK-INST: stlr w3, [x15, #-4]! +// CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 998009e3 + +stlr w3, [x15, -4]! +// CHECK-INST: stlr w3, [x15, #-4]! +// CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 998009e3 + +stlr x3, [x15, #-8]! +// CHECK-INST: stlr x3, [x15, #-8]! +// CHECK-ENCODING: encoding: [0xe3,0x09,0x80,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d98009e3 + +stlr x3, [sp, -8]! +// CHECK-INST: stlr x3, [sp, #-8]! +// CHECK-ENCODING: encoding: [0xe3,0x0b,0x80,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9800be3 + +ldapr w3, [sp], #4 +// CHECK-INST: ldapr w3, [sp], #4 +// CHECK-ENCODING: encoding: [0xe3,0x0b,0xc0,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99c00be3 + +ldapr w3, [x15], 4 +// CHECK-INST: ldapr w3, [x15], #4 +// CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0x99] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 99c009e3 + +ldapr x3, [x15], #8 +// CHECK-INST: ldapr x3, [x15], #8 +// CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9c009e3 + +ldapr x3, [x15], 8 +// CHECK-INST: ldapr x3, [x15], #8 +// CHECK-ENCODING: encoding: [0xe3,0x09,0xc0,0xd9] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: d9c009e3 + +stlur b3, [x15, #-1] +// CHECK-INST: stlur b3, [x15, #-1] +// CHECK-ENCODING: encoding: [0xe3,0xf9,0x1f,0x1d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 1d1ff9e3 + +stlur h3, [x15, #2] +// CHECK-INST: stlur h3, [x15, #2] +// CHECK-ENCODING: encoding: [0xe3,0x29,0x00,0x5d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 5d0029e3 + +stlur s3, [x15, #-3] +// CHECK-INST: stlur s3, [x15, #-3] +// CHECK-ENCODING: encoding: [0xe3,0xd9,0x1f,0x9d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 9d1fd9e3 + +stlur d3, [sp, #4] +// CHECK-INST: stlur d3, [sp, #4] +// CHECK-ENCODING: encoding: [0xe3,0x4b,0x00,0xdd] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: dd004be3 + +stlur q3, [x15, #-5] +// CHECK-INST: stlur q3, [x15, #-5] +// CHECK-ENCODING: encoding: [0xe3,0xb9,0x9f,0x1d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 1d9fb9e3 + +ldapur b3, [x15, #6] +// CHECK-INST: ldapur b3, [x15, #6] +// CHECK-ENCODING: encoding: [0xe3,0x69,0x40,0x1d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 1d4069e3 + +ldapur h3, [x15, #-7] +// CHECK-INST: ldapur h3, [x15, #-7] +// CHECK-ENCODING: encoding: [0xe3,0x99,0x5f,0x5d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 5d5f99e3 + +ldapur s3, [x15, #8] +// CHECK-INST: ldapur s3, [x15, #8] +// CHECK-ENCODING: encoding: [0xe3,0x89,0x40,0x9d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 9d4089e3 + +ldapur d3, [x15, #-9] +// CHECK-INST: ldapur d3, [x15, #-9] +// CHECK-ENCODING: encoding: [0xe3,0x79,0x5f,0xdd] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: dd5f79e3 + +ldapur q3, [sp, #10] +// CHECK-INST: ldapur q3, [sp, #10] +// CHECK-ENCODING: encoding: [0xe3,0xab,0xc0,0x1d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 1dc0abe3 + +stl1 { v3.d }[0], [x15] +// CHECK-INST: stl1 { v3.d }[0], [x15] +// CHECK-ENCODING: encoding: [0xe3,0x85,0x01,0x0d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 0d0185e3 + +stl1 { v3.d }[0], [x15, #0] +// CHECK-INST: stl1 { v3.d }[0], [x15] +// CHECK-ENCODING: encoding: [0xe3,0x85,0x01,0x0d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 0d0185e3 + +stl1 { v3.d }[1], [sp] +// CHECK-INST: stl1 { v3.d }[1], [sp] +// CHECK-ENCODING: encoding: [0xe3,0x87,0x01,0x4d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 4d0187e3 + +stl1 { v3.d }[1], [sp, 0] +// CHECK-INST: stl1 { v3.d }[1], [sp] +// CHECK-ENCODING: encoding: [0xe3,0x87,0x01,0x4d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 4d0187e3 + +ldap1 { v3.d }[0], [sp] +// CHECK-INST: ldap1 { v3.d }[0], [sp] +// CHECK-ENCODING: encoding: [0xe3,0x87,0x41,0x0d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 0d4187e3 + +ldap1 { v3.d }[0], [sp, #0] +// CHECK-INST: ldap1 { v3.d }[0], [sp] +// CHECK-ENCODING: encoding: [0xe3,0x87,0x41,0x0d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 0d4187e3 + +ldap1 { v3.d }[1], [x15] +// CHECK-INST: ldap1 { v3.d }[1], [x15] +// CHECK-ENCODING: encoding: [0xe3,0x85,0x41,0x4d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 4d4185e3 + +ldap1 { v3.d }[1], [x15, 0] +// CHECK-INST: ldap1 { v3.d }[1], [x15] +// CHECK-ENCODING: encoding: [0xe3,0x85,0x41,0x4d] +// CHECK-ERROR:error: instruction requires: rcpc3 +// CHECK-UNKNOWN: 4d4185e3 diff --git a/llvm/test/MC/AArch64/armv8.9a-specres2.s b/llvm/test/MC/AArch64/armv8.9a-specres2.s index b411ec31580b9..b79124d09e926 100644 --- a/llvm/test/MC/AArch64/armv8.9a-specres2.s +++ b/llvm/test/MC/AArch64/armv8.9a-specres2.s @@ -1,13 +1,32 @@ -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+specres2 < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a < %s | FileCheck %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-specres2 < %s 2>&1 | FileCheck %s --check-prefix=NOSPECRES2 +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.9a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.4a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+specres2 < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+specres2 < %s \ +// RUN: | llvm-objdump -d --mattr=+specres2 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+specres2 < %s \ +// RUN: | llvm-objdump -d --mattr=-specres2 --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+specres2 < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+specres2 -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + cosp rctx, x0 +// CHECK-INST: cosp rctx, x0 +// CHECK-ENCODING: encoding: [0xc0,0x73,0x0b,0xd5] +// CHECK-ERROR: error: COSP requires: predres2 +// CHECK-UNKNOWN: d50b73c0 sys #3, c7, c3, #6, x0 + sys #3, c7, c3, #6, x0 +// CHECK-INST: cosp rctx, x0 +// CHECK-ENCODING: encoding: [0xc0,0x73,0x0b,0xd5] +// CHECK-UNKNOWN: d50b73c0 sys #3, c7, c3, #6, x0 -// CHECK: cosp rctx, x0 // encoding: [0xc0,0x73,0x0b,0xd5] -// CHECK: cosp rctx, x0 // encoding: [0xc0,0x73,0x0b,0xd5] -// NOSPECRES2: COSP requires: predres2 -// NOSPECRES2-NEXT: cosp diff --git a/llvm/test/MC/AArch64/armv8.9a-the-diagnostics.s b/llvm/test/MC/AArch64/armv8.9a-the-diagnostics.s new file mode 100644 index 0000000000000..0fccbe1134d03 --- /dev/null +++ b/llvm/test/MC/AArch64/armv8.9a-the-diagnostics.s @@ -0,0 +1,103 @@ +// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+the -mattr=+d128 < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ZXR %s + +rcwswpp xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwswppa xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwswppal xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwswppl xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwswpp x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwswppa x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwswppal x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwswppl x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction + +rcwclrp xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwclrpa xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwclrpal xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwclrpl xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwclrp x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwclrpa x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwclrpal x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwclrpl x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction + +rcwsetp xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsetpa xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsetpal xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsetpl xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsetp x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsetpa x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsetpal x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsetpl x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction + +rcwsswpp xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsswppa xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsswppal xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsswppl xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsswpp x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsswppa x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsswppal x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsswppl x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction + +rcwsclrp xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsclrpa xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsclrpal xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsclrpl xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsclrp x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsclrpa x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsclrpal x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwsclrpl x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction + +rcwssetp xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwssetpa xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwssetpal xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwssetpl xzr, x5, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwssetp x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwssetpa x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwssetpal x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction +rcwssetpl x5, xzr, [x4] +// ERROR-NO-ZXR: error: invalid operand for instruction diff --git a/llvm/test/MC/AArch64/armv8.9a-the.s b/llvm/test/MC/AArch64/armv8.9a-the.s index 33e1b5d27fa76..689b6c9280e7c 100644 --- a/llvm/test/MC/AArch64/armv8.9a-the.s +++ b/llvm/test/MC/AArch64/armv8.9a-the.s @@ -1,592 +1,843 @@ -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+the -mattr=+d128 < %s | FileCheck %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.9a -mattr=+the -mattr=+d128 < %s | FileCheck %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9.4a -mattr=+the -mattr=+d128 < %s | FileCheck %s - -// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-THE %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.9a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-THE %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v9.4a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-THE %s - -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.9a -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v9.4a -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s - -// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+the -mattr=+d128 < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-ZXR %s - - mrs x3, RCWMASK_EL1 -// CHECK: mrs x3, RCWMASK_EL1 // encoding: [0xc3,0xd0,0x38,0xd5] -// ERROR-NO-THE: [[@LINE-2]]:21: error: expected readable system register - msr RCWMASK_EL1, x1 -// CHECK: msr RCWMASK_EL1, x1 // encoding: [0xc1,0xd0,0x18,0xd5] -// ERROR-NO-THE: [[@LINE-2]]:17: error: expected writable system register or pstate - mrs x3, RCWSMASK_EL1 -// CHECK: mrs x3, RCWSMASK_EL1 // encoding: [0x63,0xd0,0x38,0xd5] -// ERROR-NO-THE: [[@LINE-2]]:21: error: expected readable system register - msr RCWSMASK_EL1, x1 -// CHECK: msr RCWSMASK_EL1, x1 // encoding: [0x61,0xd0,0x18,0xd5] -// ERROR-NO-THE: [[@LINE-2]]:17: error: expected writable system register or pstate - - rcwcas x0, x1, [x4] -// CHECK: rcwcas x0, x1, [x4] // encoding: [0x81,0x08,0x20,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwcasa x0, x1, [x4] -// CHECK: rcwcasa x0, x1, [x4] // encoding: [0x81,0x08,0xa0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwcasal x0, x1, [x4] -// CHECK: rcwcasal x0, x1, [x4] // encoding: [0x81,0x08,0xe0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwcasl x0, x1, [x4] -// CHECK: rcwcasl x0, x1, [x4] // encoding: [0x81,0x08,0x60,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwcas x3, x5, [sp] -// CHECK: rcwcas x3, x5, [sp] // encoding: [0xe5,0x0b,0x23,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwcasa x3, x5, [sp] -// CHECK: rcwcasa x3, x5, [sp] // encoding: [0xe5,0x0b,0xa3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwcasal x3, x5, [sp] -// CHECK: rcwcasal x3, x5, [sp] // encoding: [0xe5,0x0b,0xe3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwcasl x3, x5, [sp] -// CHECK: rcwcasl x3, x5, [sp] // encoding: [0xe5,0x0b,0x63,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwscas x0, x1, [x4] -// CHECK: rcwscas x0, x1, [x4] // encoding: [0x81,0x08,0x20,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwscasa x0, x1, [x4] -// CHECK: rcwscasa x0, x1, [x4] // encoding: [0x81,0x08,0xa0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwscasal x0, x1, [x4] -// CHECK: rcwscasal x0, x1, [x4] // encoding: [0x81,0x08,0xe0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwscasl x0, x1, [x4] -// CHECK: rcwscasl x0, x1, [x4] // encoding: [0x81,0x08,0x60,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwscas x3, x5, [sp] -// CHECK: rcwscas x3, x5, [sp] // encoding: [0xe5,0x0b,0x23,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwscasa x3, x5, [sp] -// CHECK: rcwscasa x3, x5, [sp] // encoding: [0xe5,0x0b,0xa3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwscasal x3, x5, [sp] -// CHECK: rcwscasal x3, x5, [sp] // encoding: [0xe5,0x0b,0xe3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwscasl x3, x5, [sp] -// CHECK: rcwscasl x3, x5, [sp] // encoding: [0xe5,0x0b,0x63,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwcasp x0, x1, x6, x7, [x4] -// CHECK: rcwcasp x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x20,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwcaspa x0, x1, x6, x7, [x4] -// CHECK: rcwcaspa x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xa0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwcaspal x0, x1, x6, x7, [x4] -// CHECK: rcwcaspal x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xe0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwcaspl x0, x1, x6, x7, [x4] -// CHECK: rcwcaspl x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x60,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwcasp x4, x5, x6, x7, [sp] -// CHECK: rcwcasp x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x24,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwcaspa x4, x5, x6, x7, [sp] -// CHECK: rcwcaspa x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xa4,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwcaspal x4, x5, x6, x7, [sp] -// CHECK: rcwcaspal x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xe4,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwcaspl x4, x5, x6, x7, [sp] -// CHECK: rcwcaspl x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x64,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwscasp x0, x1, x6, x7, [x4] -// CHECK: rcwscasp x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x20,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwscaspa x0, x1, x6, x7, [x4] -// CHECK: rcwscaspa x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xa0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwscaspal x0, x1, x6, x7, [x4] -// CHECK: rcwscaspal x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0xe0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwscaspl x0, x1, x6, x7, [x4] -// CHECK: rcwscaspl x0, x1, x6, x7, [x4] // encoding: [0x86,0x0c,0x60,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwscasp x4, x5, x6, x7, [sp] -// CHECK: rcwscasp x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x24,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwscaspa x4, x5, x6, x7, [sp] -// CHECK: rcwscaspa x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xa4,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwscaspal x4, x5, x6, x7, [sp] -// CHECK: rcwscaspal x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0xe4,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwscaspl x4, x5, x6, x7, [sp] -// CHECK: rcwscaspl x4, x5, x6, x7, [sp] // encoding: [0xe6,0x0f,0x64,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwclr x0, x1, [x4] -// CHECK: rcwclr x0, x1, [x4] // encoding: [0x81,0x90,0x20,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwclra x0, x1, [x4] -// CHECK: rcwclra x0, x1, [x4] // encoding: [0x81,0x90,0xa0,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwclral x0, x1, [x4] -// CHECK: rcwclral x0, x1, [x4] // encoding: [0x81,0x90,0xe0,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwclrl x0, x1, [x4] -// CHECK: rcwclrl x0, x1, [x4] // encoding: [0x81,0x90,0x60,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwclr x3, x5, [sp] -// CHECK: rcwclr x3, x5, [sp] // encoding: [0xe5,0x93,0x23,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwclra x3, x5, [sp] -// CHECK: rcwclra x3, x5, [sp] // encoding: [0xe5,0x93,0xa3,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwclral x3, x5, [sp] -// CHECK: rcwclral x3, x5, [sp] // encoding: [0xe5,0x93,0xe3,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwclrl x3, x5, [sp] -// CHECK: rcwclrl x3, x5, [sp] // encoding: [0xe5,0x93,0x63,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwsclr x0, x1, [x4] -// CHECK: rcwsclr x0, x1, [x4] // encoding: [0x81,0x90,0x20,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsclra x0, x1, [x4] -// CHECK: rcwsclra x0, x1, [x4] // encoding: [0x81,0x90,0xa0,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsclral x0, x1, [x4] -// CHECK: rcwsclral x0, x1, [x4] // encoding: [0x81,0x90,0xe0,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsclrl x0, x1, [x4] -// CHECK: rcwsclrl x0, x1, [x4] // encoding: [0x81,0x90,0x60,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsclr x3, x5, [sp] -// CHECK: rcwsclr x3, x5, [sp] // encoding: [0xe5,0x93,0x23,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsclra x3, x5, [sp] -// CHECK: rcwsclra x3, x5, [sp] // encoding: [0xe5,0x93,0xa3,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsclral x3, x5, [sp] -// CHECK: rcwsclral x3, x5, [sp] // encoding: [0xe5,0x93,0xe3,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsclrl x3, x5, [sp] -// CHECK: rcwsclrl x3, x5, [sp] // encoding: [0xe5,0x93,0x63,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwclrp x1, x0, [x4] -// CHECK: rcwclrp x1, x0, [x4] // encoding: [0x81,0x90,0x20,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwclrpa x1, x0, [x4] -// CHECK: rcwclrpa x1, x0, [x4] // encoding: [0x81,0x90,0xa0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwclrpal x1, x0, [x4] -// CHECK: rcwclrpal x1, x0, [x4] // encoding: [0x81,0x90,0xe0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwclrpl x1, x0, [x4] -// CHECK: rcwclrpl x1, x0, [x4] // encoding: [0x81,0x90,0x60,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwclrp x5, x3, [sp] -// CHECK: rcwclrp x5, x3, [sp] // encoding: [0xe5,0x93,0x23,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwclrpa x5, x3, [sp] -// CHECK: rcwclrpa x5, x3, [sp] // encoding: [0xe5,0x93,0xa3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwclrpal x5, x3, [sp] -// CHECK: rcwclrpal x5, x3, [sp] // encoding: [0xe5,0x93,0xe3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwclrpl x5, x3, [sp] -// CHECK: rcwclrpl x5, x3, [sp] // encoding: [0xe5,0x93,0x63,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwsclrp x1, x0, [x4] -// CHECK: rcwsclrp x1, x0, [x4] // encoding: [0x81,0x90,0x20,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsclrpa x1, x0, [x4] -// CHECK: rcwsclrpa x1, x0, [x4] // encoding: [0x81,0x90,0xa0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsclrpal x1, x0, [x4] -// CHECK: rcwsclrpal x1, x0, [x4] // encoding: [0x81,0x90,0xe0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsclrpl x1, x0, [x4] -// CHECK: rcwsclrpl x1, x0, [x4] // encoding: [0x81,0x90,0x60,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsclrp x5, x3, [sp] -// CHECK: rcwsclrp x5, x3, [sp] // encoding: [0xe5,0x93,0x23,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsclrpa x5, x3, [sp] -// CHECK: rcwsclrpa x5, x3, [sp] // encoding: [0xe5,0x93,0xa3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsclrpal x5, x3, [sp] -// CHECK: rcwsclrpal x5, x3, [sp] // encoding: [0xe5,0x93,0xe3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsclrpl x5, x3, [sp] -// CHECK: rcwsclrpl x5, x3, [sp] // encoding: [0xe5,0x93,0x63,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwset x0, x1, [x4] -// CHECK: rcwset x0, x1, [x4] // encoding: [0x81,0xb0,0x20,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwseta x0, x1, [x4] -// CHECK: rcwseta x0, x1, [x4] // encoding: [0x81,0xb0,0xa0,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsetal x0, x1, [x4] -// CHECK: rcwsetal x0, x1, [x4] // encoding: [0x81,0xb0,0xe0,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsetl x0, x1, [x4] -// CHECK: rcwsetl x0, x1, [x4] // encoding: [0x81,0xb0,0x60,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwset x3, x5, [sp] -// CHECK: rcwset x3, x5, [sp] // encoding: [0xe5,0xb3,0x23,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwseta x3, x5, [sp] -// CHECK: rcwseta x3, x5, [sp] // encoding: [0xe5,0xb3,0xa3,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsetal x3, x5, [sp] -// CHECK: rcwsetal x3, x5, [sp] // encoding: [0xe5,0xb3,0xe3,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsetl x3, x5, [sp] -// CHECK: rcwsetl x3, x5, [sp] // encoding: [0xe5,0xb3,0x63,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwsset x0, x1, [x4] -// CHECK: rcwsset x0, x1, [x4] // encoding: [0x81,0xb0,0x20,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsseta x0, x1, [x4] -// CHECK: rcwsseta x0, x1, [x4] // encoding: [0x81,0xb0,0xa0,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwssetal x0, x1, [x4] -// CHECK: rcwssetal x0, x1, [x4] // encoding: [0x81,0xb0,0xe0,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwssetl x0, x1, [x4] -// CHECK: rcwssetl x0, x1, [x4] // encoding: [0x81,0xb0,0x60,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsset x3, x5, [sp] -// CHECK: rcwsset x3, x5, [sp] // encoding: [0xe5,0xb3,0x23,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsseta x3, x5, [sp] -// CHECK: rcwsseta x3, x5, [sp] // encoding: [0xe5,0xb3,0xa3,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwssetal x3, x5, [sp] -// CHECK: rcwssetal x3, x5, [sp] // encoding: [0xe5,0xb3,0xe3,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwssetl x3, x5, [sp] -// CHECK: rcwssetl x3, x5, [sp] // encoding: [0xe5,0xb3,0x63,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwsetp x1, x0, [x4] -// CHECK: rcwsetp x1, x0, [x4] // encoding: [0x81,0xb0,0x20,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsetpa x1, x0, [x4] -// CHECK: rcwsetpa x1, x0, [x4] // encoding: [0x81,0xb0,0xa0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsetpal x1, x0, [x4] -// CHECK: rcwsetpal x1, x0, [x4] // encoding: [0x81,0xb0,0xe0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsetpl x1, x0, [x4] -// CHECK: rcwsetpl x1, x0, [x4] // encoding: [0x81,0xb0,0x60,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsetp x5, x3, [sp] -// CHECK: rcwsetp x5, x3, [sp] // encoding: [0xe5,0xb3,0x23,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsetpa x5, x3, [sp] -// CHECK: rcwsetpa x5, x3, [sp] // encoding: [0xe5,0xb3,0xa3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsetpal x5, x3, [sp] -// CHECK: rcwsetpal x5, x3, [sp] // encoding: [0xe5,0xb3,0xe3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsetpl x5, x3, [sp] -// CHECK: rcwsetpl x5, x3, [sp] // encoding: [0xe5,0xb3,0x63,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwssetp x1, x0, [x4] -// CHECK: rcwssetp x1, x0, [x4] // encoding: [0x81,0xb0,0x20,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwssetpa x1, x0, [x4] -// CHECK: rcwssetpa x1, x0, [x4] // encoding: [0x81,0xb0,0xa0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwssetpal x1, x0, [x4] -// CHECK: rcwssetpal x1, x0, [x4] // encoding: [0x81,0xb0,0xe0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwssetpl x1, x0, [x4] -// CHECK: rcwssetpl x1, x0, [x4] // encoding: [0x81,0xb0,0x60,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwssetp x5, x3, [sp] -// CHECK: rcwssetp x5, x3, [sp] // encoding: [0xe5,0xb3,0x23,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwssetpa x5, x3, [sp] -// CHECK: rcwssetpa x5, x3, [sp] // encoding: [0xe5,0xb3,0xa3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwssetpal x5, x3, [sp] -// CHECK: rcwssetpal x5, x3, [sp] // encoding: [0xe5,0xb3,0xe3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwssetpl x5, x3, [sp] -// CHECK: rcwssetpl x5, x3, [sp] // encoding: [0xe5,0xb3,0x63,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwswp x0, x1, [x4] -// CHECK: rcwswp x0, x1, [x4] // encoding: [0x81,0xa0,0x20,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwswpa x0, x1, [x4] -// CHECK: rcwswpa x0, x1, [x4] // encoding: [0x81,0xa0,0xa0,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwswpal x0, x1, [x4] -// CHECK: rcwswpal x0, x1, [x4] // encoding: [0x81,0xa0,0xe0,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwswpl x0, x1, [x4] -// CHECK: rcwswpl x0, x1, [x4] // encoding: [0x81,0xa0,0x60,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwswp x3, x5, [sp] -// CHECK: rcwswp x3, x5, [sp] // encoding: [0xe5,0xa3,0x23,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwswpa x3, x5, [sp] -// CHECK: rcwswpa x3, x5, [sp] // encoding: [0xe5,0xa3,0xa3,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwswpal x3, x5, [sp] -// CHECK: rcwswpal x3, x5, [sp] // encoding: [0xe5,0xa3,0xe3,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwswpl x3, x5, [sp] -// CHECK: rcwswpl x3, x5, [sp] // encoding: [0xe5,0xa3,0x63,0x38] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwsswp x0, x1, [x4] -// CHECK: rcwsswp x0, x1, [x4] // encoding: [0x81,0xa0,0x20,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsswpa x0, x1, [x4] -// CHECK: rcwsswpa x0, x1, [x4] // encoding: [0x81,0xa0,0xa0,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsswpal x0, x1, [x4] -// CHECK: rcwsswpal x0, x1, [x4] // encoding: [0x81,0xa0,0xe0,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsswpl x0, x1, [x4] -// CHECK: rcwsswpl x0, x1, [x4] // encoding: [0x81,0xa0,0x60,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsswp x3, x5, [sp] -// CHECK: rcwsswp x3, x5, [sp] // encoding: [0xe5,0xa3,0x23,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsswpa x3, x5, [sp] -// CHECK: rcwsswpa x3, x5, [sp] // encoding: [0xe5,0xa3,0xa3,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsswpal x3, x5, [sp] -// CHECK: rcwsswpal x3, x5, [sp] // encoding: [0xe5,0xa3,0xe3,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - rcwsswpl x3, x5, [sp] -// CHECK: rcwsswpl x3, x5, [sp] // encoding: [0xe5,0xa3,0x63,0x78] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: the - - rcwswpp x1, x0, [x4] -// CHECK: rcwswpp x1, x0, [x4] // encoding: [0x81,0xa0,0x20,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwswppa x1, x0, [x4] -// CHECK: rcwswppa x1, x0, [x4] // encoding: [0x81,0xa0,0xa0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwswppal x1, x0, [x4] -// CHECK: rcwswppal x1, x0, [x4] // encoding: [0x81,0xa0,0xe0,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwswppl x1, x0, [x4] -// CHECK: rcwswppl x1, x0, [x4] // encoding: [0x81,0xa0,0x60,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwswpp x5, x3, [sp] -// CHECK: rcwswpp x5, x3, [sp] // encoding: [0xe5,0xa3,0x23,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwswppa x5, x3, [sp] -// CHECK: rcwswppa x5, x3, [sp] // encoding: [0xe5,0xa3,0xa3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwswppal x5, x3, [sp] -// CHECK: rcwswppal x5, x3, [sp] // encoding: [0xe5,0xa3,0xe3,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwswppl x5, x3, [sp] -// CHECK: rcwswppl x5, x3, [sp] // encoding: [0xe5,0xa3,0x63,0x19] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwsswpp x1, x0, [x4] -// CHECK: rcwsswpp x1, x0, [x4] // encoding: [0x81,0xa0,0x20,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsswppa x1, x0, [x4] -// CHECK: rcwsswppa x1, x0, [x4] // encoding: [0x81,0xa0,0xa0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsswppal x1, x0, [x4] -// CHECK: rcwsswppal x1, x0, [x4] // encoding: [0x81,0xa0,0xe0,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsswppl x1, x0, [x4] -// CHECK: rcwsswppl x1, x0, [x4] // encoding: [0x81,0xa0,0x60,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsswpp x5, x3, [sp] -// CHECK: rcwsswpp x5, x3, [sp] // encoding: [0xe5,0xa3,0x23,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsswppa x5, x3, [sp] -// CHECK: rcwsswppa x5, x3, [sp] // encoding: [0xe5,0xa3,0xa3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsswppal x5, x3, [sp] -// CHECK: rcwsswppal x5, x3, [sp] // encoding: [0xe5,0xa3,0xe3,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - rcwsswppl x5, x3, [sp] -// CHECK: rcwsswppl x5, x3, [sp] // encoding: [0xe5,0xa3,0x63,0x59] -// ERROR-NO-THE: [[@LINE-2]]:13: error: instruction requires: d128 the -// ERROR-NO-D128: [[@LINE-3]]:13: error: instruction requires: d128 - - rcwswpp xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwswppa xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwswppal xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwswppl xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwswpp x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwswppa x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwswppal x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwswppl x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - - rcwclrp xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwclrpa xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwclrpal xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwclrpl xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwclrp x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwclrpa x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwclrpal x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwclrpl x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - - rcwsetp xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwsetpa xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwsetpal xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwsetpl xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:23: error: invalid operand for instruction - rcwsetp x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwsetpa x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwsetpal x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - rcwsetpl x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:27: error: invalid operand for instruction - - rcwsswpp xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsswppa xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsswppal xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsswppl xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsswpp x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwsswppa x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwsswppal x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwsswppl x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - - rcwsclrp xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsclrpa xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsclrpal xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsclrpl xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwsclrp x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwsclrpa x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwsclrpal x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwsclrpl x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - - rcwssetp xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwssetpa xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwssetpal xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwssetpl xzr, x5, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:24: error: invalid operand for instruction - rcwssetp x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwssetpa x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwssetpal x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction - rcwssetpl x5, xzr, [x4] -// ERROR-NO-ZXR: [[@LINE-1]]:28: error: invalid operand for instruction +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128 < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128,v8.9a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128,v9.4a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+the,+d128 < %s \ +// RUN: | llvm-objdump -d --mattr=+the,+d128 - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+the,+d128 < %s \ +// RUN: | llvm-objdump -d --mattr=-the,-d128 - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+the,+d128 < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+the,+d128 -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -mattr=+the < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-D128 %s + + +mrs x3, RCWMASK_EL1 +// CHECK-INST: mrs x3, RCWMASK_EL1 +// CHECK-ENCODING: encoding: [0xc3,0xd0,0x38,0xd5] +// CHECK-ERROR: error: expected readable system register +// CHECK-UNKNOWN: d538d0c3 mrs x3, S3_0_C13_C0_6 + +msr RCWMASK_EL1, x1 +// CHECK-INST: msr RCWMASK_EL1, x1 +// CHECK-ENCODING: encoding: [0xc1,0xd0,0x18,0xd5] +// CHECK-ERROR: error: expected writable system register or pstate +// CHECK-UNKNOWN: d518d0c1 msr S3_0_C13_C0_6, x1 + +mrs x3, RCWSMASK_EL1 +// CHECK-INST: mrs x3, RCWSMASK_EL1 +// CHECK-ENCODING: encoding: [0x63,0xd0,0x38,0xd5] +// CHECK-ERROR: error: expected readable system register +// CHECK-UNKNOWN: d538d063 mrs x3, S3_0_C13_C0_3 + +msr RCWSMASK_EL1, x1 +// CHECK-INST: msr RCWSMASK_EL1, x1 +// CHECK-ENCODING: encoding: [0x61,0xd0,0x18,0xd5] +// CHECK-ERROR: error: expected writable system register or pstate +// CHECK-UNKNOWN: d518d061 msr S3_0_C13_C0_3, x1 + +rcwcas x0, x1, [x4] +// CHECK-INST: rcwcas x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0x20,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19200881 + +rcwcasa x0, x1, [x4] +// CHECK-INST: rcwcasa x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0xa0,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19a00881 + +rcwcasal x0, x1, [x4] +// CHECK-INST: rcwcasal x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0xe0,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19e00881 + +rcwcasl x0, x1, [x4] +// CHECK-INST: rcwcasl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0x60,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19600881 + +rcwcas x3, x5, [sp] +// CHECK-INST: rcwcas x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0x23,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19230be5 + +rcwcasa x3, x5, [sp] +// CHECK-INST: rcwcasa x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0xa3,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19a30be5 + +rcwcasal x3, x5, [sp] +// CHECK-INST: rcwcasal x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0xe3,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19e30be5 + +rcwcasl x3, x5, [sp] +// CHECK-INST: rcwcasl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0x63,0x19] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 19630be5 + +rcwscas x0, x1, [x4] +// CHECK-INST: rcwscas x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0x20,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59200881 + +rcwscasa x0, x1, [x4] +// CHECK-INST: rcwscasa x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0xa0,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59a00881 + +rcwscasal x0, x1, [x4] +// CHECK-INST: rcwscasal x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0xe0,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59e00881 + +rcwscasl x0, x1, [x4] +// CHECK-INST: rcwscasl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x08,0x60,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59600881 + +rcwscas x3, x5, [sp] +// CHECK-INST: rcwscas x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0x23,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59230be5 + +rcwscasa x3, x5, [sp] +// CHECK-INST: rcwscasa x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0xa3,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59a30be5 + +rcwscasal x3, x5, [sp] +// CHECK-INST: rcwscasal x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0xe3,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59e30be5 + +rcwscasl x3, x5, [sp] +// CHECK-INST: rcwscasl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x0b,0x63,0x59] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 59630be5 + +rcwcasp x0, x1, x6, x7, [x4] +// CHECK-INST: rcwcasp x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0x20,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19200c86 + +rcwcaspa x0, x1, x6, x7, [x4] +// CHECK-INST: rcwcaspa x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0xa0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19a00c86 + +rcwcaspal x0, x1, x6, x7, [x4] +// CHECK-INST: rcwcaspal x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0xe0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19e00c86 + +rcwcaspl x0, x1, x6, x7, [x4] +// CHECK-INST: rcwcaspl x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0x60,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19600c86 + +rcwcasp x4, x5, x6, x7, [sp] +// CHECK-INST: rcwcasp x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0x24,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19240fe6 + +rcwcaspa x4, x5, x6, x7, [sp] +// CHECK-INST: rcwcaspa x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0xa4,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19a40fe6 + +rcwcaspal x4, x5, x6, x7, [sp] +// CHECK-INST: rcwcaspal x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0xe4,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19e40fe6 + +rcwcaspl x4, x5, x6, x7, [sp] +// CHECK-INST: rcwcaspl x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0x64,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19640fe6 + +rcwscasp x0, x1, x6, x7, [x4] +// CHECK-INST: rcwscasp x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0x20,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59200c86 + +rcwscaspa x0, x1, x6, x7, [x4] +// CHECK-INST: rcwscaspa x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0xa0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59a00c86 + +rcwscaspal x0, x1, x6, x7, [x4] +// CHECK-INST: rcwscaspal x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0xe0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59e00c86 + +rcwscaspl x0, x1, x6, x7, [x4] +// CHECK-INST: rcwscaspl x0, x1, x6, x7, [x4] +// CHECK-ENCODING: encoding: [0x86,0x0c,0x60,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59600c86 + +rcwscasp x4, x5, x6, x7, [sp] +// CHECK-INST: rcwscasp x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0x24,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59240fe6 + +rcwscaspa x4, x5, x6, x7, [sp] +// CHECK-INST: rcwscaspa x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0xa4,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59a40fe6 + +rcwscaspal x4, x5, x6, x7, [sp] +// CHECK-INST: rcwscaspal x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0xe4,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59e40fe6 + +rcwscaspl x4, x5, x6, x7, [sp] +// CHECK-INST: rcwscaspl x4, x5, x6, x7, [sp] +// CHECK-ENCODING: encoding: [0xe6,0x0f,0x64,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59640fe6 + +rcwclr x0, x1, [x4] +// CHECK-INST: rcwclr x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38209081 + +rcwclra x0, x1, [x4] +// CHECK-INST: rcwclra x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38a09081 + +rcwclral x0, x1, [x4] +// CHECK-INST: rcwclral x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38e09081 + +rcwclrl x0, x1, [x4] +// CHECK-INST: rcwclrl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38609081 + +rcwclr x3, x5, [sp] +// CHECK-INST: rcwclr x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 382393e5 + +rcwclra x3, x5, [sp] +// CHECK-INST: rcwclra x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38a393e5 + +rcwclral x3, x5, [sp] +// CHECK-INST: rcwclral x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38e393e5 + +rcwclrl x3, x5, [sp] +// CHECK-INST: rcwclrl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 386393e5 + +rcwsclr x0, x1, [x4] +// CHECK-INST: rcwsclr x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78209081 + +rcwsclra x0, x1, [x4] +// CHECK-INST: rcwsclra x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78a09081 + +rcwsclral x0, x1, [x4] +// CHECK-INST: rcwsclral x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78e09081 + +rcwsclrl x0, x1, [x4] +// CHECK-INST: rcwsclrl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78609081 + +rcwsclr x3, x5, [sp] +// CHECK-INST: rcwsclr x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 782393e5 + +rcwsclra x3, x5, [sp] +// CHECK-INST: rcwsclra x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78a393e5 + +rcwsclral x3, x5, [sp] +// CHECK-INST: rcwsclral x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78e393e5 + +rcwsclrl x3, x5, [sp] +// CHECK-INST: rcwsclrl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 786393e5 + +rcwclrp x1, x0, [x4] +// CHECK-INST: rcwclrp x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19209081 + +rcwclrpa x1, x0, [x4] +// CHECK-INST: rcwclrpa x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19a09081 + +rcwclrpal x1, x0, [x4] +// CHECK-INST: rcwclrpal x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19e09081 + +rcwclrpl x1, x0, [x4] +// CHECK-INST: rcwclrpl x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19609081 + +rcwclrp x5, x3, [sp] +// CHECK-INST: rcwclrp x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 192393e5 + +rcwclrpa x5, x3, [sp] +// CHECK-INST: rcwclrpa x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19a393e5 + +rcwclrpal x5, x3, [sp] +// CHECK-INST: rcwclrpal x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19e393e5 + +rcwclrpl x5, x3, [sp] +// CHECK-INST: rcwclrpl x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 196393e5 + +rcwsclrp x1, x0, [x4] +// CHECK-INST: rcwsclrp x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x20,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59209081 + +rcwsclrpa x1, x0, [x4] +// CHECK-INST: rcwsclrpa x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xa0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59a09081 + +rcwsclrpal x1, x0, [x4] +// CHECK-INST: rcwsclrpal x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0xe0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59e09081 + +rcwsclrpl x1, x0, [x4] +// CHECK-INST: rcwsclrpl x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0x90,0x60,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59609081 + +rcwsclrp x5, x3, [sp] +// CHECK-INST: rcwsclrp x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x23,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 592393e5 + +rcwsclrpa x5, x3, [sp] +// CHECK-INST: rcwsclrpa x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xa3,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59a393e5 + +rcwsclrpal x5, x3, [sp] +// CHECK-INST: rcwsclrpal x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0xe3,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59e393e5 + +rcwsclrpl x5, x3, [sp] +// CHECK-INST: rcwsclrpl x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0x93,0x63,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 596393e5 + +rcwset x0, x1, [x4] +// CHECK-INST: rcwset x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3820b081 + +rcwseta x0, x1, [x4] +// CHECK-INST: rcwseta x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38a0b081 + +rcwsetal x0, x1, [x4] +// CHECK-INST: rcwsetal x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38e0b081 + +rcwsetl x0, x1, [x4] +// CHECK-INST: rcwsetl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3860b081 + +rcwset x3, x5, [sp] +// CHECK-INST: rcwset x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3823b3e5 + +rcwseta x3, x5, [sp] +// CHECK-INST: rcwseta x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38a3b3e5 + +rcwsetal x3, x5, [sp] +// CHECK-INST: rcwsetal x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38e3b3e5 + +rcwsetl x3, x5, [sp] +// CHECK-INST: rcwsetl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3863b3e5 + +rcwsset x0, x1, [x4] +// CHECK-INST: rcwsset x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7820b081 + +rcwsseta x0, x1, [x4] +// CHECK-INST: rcwsseta x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78a0b081 + +rcwssetal x0, x1, [x4] +// CHECK-INST: rcwssetal x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78e0b081 + +rcwssetl x0, x1, [x4] +// CHECK-INST: rcwssetl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7860b081 + +rcwsset x3, x5, [sp] +// CHECK-INST: rcwsset x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7823b3e5 + +rcwsseta x3, x5, [sp] +// CHECK-INST: rcwsseta x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78a3b3e5 + +rcwssetal x3, x5, [sp] +// CHECK-INST: rcwssetal x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78e3b3e5 + +rcwssetl x3, x5, [sp] +// CHECK-INST: rcwssetl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7863b3e5 + +rcwsetp x1, x0, [x4] +// CHECK-INST: rcwsetp x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 1920b081 + +rcwsetpa x1, x0, [x4] +// CHECK-INST: rcwsetpa x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19a0b081 + +rcwsetpal x1, x0, [x4] +// CHECK-INST: rcwsetpal x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19e0b081 + +rcwsetpl x1, x0, [x4] +// CHECK-INST: rcwsetpl x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 1960b081 + +rcwsetp x5, x3, [sp] +// CHECK-INST: rcwsetp x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 1923b3e5 + +rcwsetpa x5, x3, [sp] +// CHECK-INST: rcwsetpa x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19a3b3e5 + +rcwsetpal x5, x3, [sp] +// CHECK-INST: rcwsetpal x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 19e3b3e5 + +rcwsetpl x5, x3, [sp] +// CHECK-INST: rcwsetpl x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 1963b3e5 + +rcwssetp x1, x0, [x4] +// CHECK-INST: rcwssetp x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x20,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 5920b081 + +rcwssetpa x1, x0, [x4] +// CHECK-INST: rcwssetpa x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xa0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 59a0b081 + +rcwssetpal x1, x0, [x4] +// CHECK-INST: rcwssetpal x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0xe0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 59e0b081 + +rcwssetpl x1, x0, [x4] +// CHECK-INST: rcwssetpl x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xb0,0x60,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 5960b081 + +rcwssetp x5, x3, [sp] +// CHECK-INST: rcwssetp x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x23,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 5923b3e5 + +rcwssetpa x5, x3, [sp] +// CHECK-INST: rcwssetpa x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xa3,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 59a3b3e5 + +rcwssetpal x5, x3, [sp] +// CHECK-INST: rcwssetpal x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0xe3,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 59e3b3e5 + +rcwssetpl x5, x3, [sp] +// CHECK-INST: rcwssetpl x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xb3,0x63,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// ERROR-NO-D128: error: instruction requires: d128 +// CHECK-UNKNOWN: 5963b3e5 + +rcwswp x0, x1, [x4] +// CHECK-INST: rcwswp x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3820a081 + +rcwswpa x0, x1, [x4] +// CHECK-INST: rcwswpa x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38a0a081 + +rcwswpal x0, x1, [x4] +// CHECK-INST: rcwswpal x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38e0a081 + +rcwswpl x0, x1, [x4] +// CHECK-INST: rcwswpl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3860a081 + +rcwswp x3, x5, [sp] +// CHECK-INST: rcwswp x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3823a3e5 + +rcwswpa x3, x5, [sp] +// CHECK-INST: rcwswpa x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38a3a3e5 + +rcwswpal x3, x5, [sp] +// CHECK-INST: rcwswpal x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 38e3a3e5 + +rcwswpl x3, x5, [sp] +// CHECK-INST: rcwswpl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x38] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 3863a3e5 + +rcwsswp x0, x1, [x4] +// CHECK-INST: rcwsswp x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7820a081 + +rcwsswpa x0, x1, [x4] +// CHECK-INST: rcwsswpa x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78a0a081 + +rcwsswpal x0, x1, [x4] +// CHECK-INST: rcwsswpal x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78e0a081 + +rcwsswpl x0, x1, [x4] +// CHECK-INST: rcwsswpl x0, x1, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7860a081 + +rcwsswp x3, x5, [sp] +// CHECK-INST: rcwsswp x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7823a3e5 + +rcwsswpa x3, x5, [sp] +// CHECK-INST: rcwsswpa x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78a3a3e5 + +rcwsswpal x3, x5, [sp] +// CHECK-INST: rcwsswpal x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 78e3a3e5 + +rcwsswpl x3, x5, [sp] +// CHECK-INST: rcwsswpl x3, x5, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x78] +// CHECK-ERROR: error: instruction requires: the +// CHECK-UNKNOWN: 7863a3e5 + +rcwswpp x1, x0, [x4] +// CHECK-INST: rcwswpp x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 1920a081 + +rcwswppa x1, x0, [x4] +// CHECK-INST: rcwswppa x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 19a0a081 + +rcwswppal x1, x0, [x4] +// CHECK-INST: rcwswppal x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 19e0a081 + +rcwswppl x1, x0, [x4] +// CHECK-INST: rcwswppl x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 1960a081 + +rcwswpp x5, x3, [sp] +// CHECK-INST: rcwswpp x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 1923a3e5 + +rcwswppa x5, x3, [sp] +// CHECK-INST: rcwswppa x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 19a3a3e5 + +rcwswppal x5, x3, [sp] +// CHECK-INST: rcwswppal x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 19e3a3e5 + +rcwswppl x5, x3, [sp] +// CHECK-INST: rcwswppl x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x19] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 1963a3e5 + +rcwsswpp x1, x0, [x4] +// CHECK-INST: rcwsswpp x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x20,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 5920a081 + +rcwsswppa x1, x0, [x4] +// CHECK-INST: rcwsswppa x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xa0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59a0a081 + +rcwsswppal x1, x0, [x4] +// CHECK-INST: rcwsswppal x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0xe0,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59e0a081 + +rcwsswppl x1, x0, [x4] +// CHECK-INST: rcwsswppl x1, x0, [x4] +// CHECK-ENCODING: encoding: [0x81,0xa0,0x60,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 5960a081 + +rcwsswpp x5, x3, [sp] +// CHECK-INST: rcwsswpp x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x23,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 5923a3e5 + +rcwsswppa x5, x3, [sp] +// CHECK-INST: rcwsswppa x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xa3,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59a3a3e5 + +rcwsswppal x5, x3, [sp] +// CHECK-INST: rcwsswppal x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0xe3,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 59e3a3e5 + +rcwsswppl x5, x3, [sp] +// CHECK-INST: rcwsswppl x5, x3, [sp] +// CHECK-ENCODING: encoding: [0xe5,0xa3,0x63,0x59] +// CHECK-ERROR: error: instruction requires: d128 the +// CHECK-UNKNOWN: 5963a3e5 diff --git a/llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s b/llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s new file mode 100644 index 0000000000000..4eb8861784653 --- /dev/null +++ b/llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s @@ -0,0 +1,30 @@ +// +the required for RCWSMASK_EL1, RCWMASK_EL1 +// +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2 +// +vh required for TTBR1_EL2 + +// RUN: not llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR + +mrrs x0, x2, TTBR0_EL1 +// CHECK-ERROR: error: expected second odd register of a consecutive same-size even/odd register pair + +mrrs x0, TTBR0_EL1 +// CHECK-ERROR: error: expected second odd register of a consecutive same-size even/odd register pair + +mrrs x1, x2, TTBR0_EL1 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +mrrs x31, x0, TTBR0_EL1 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +mrrs xzr, x30, TTBR0_EL1 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +mrrs xzr, TTBR0_EL1 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +mrrs S3_0_c2_c0_1 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +mrrs S3_0_c2_c0_1, x0, x1 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair diff --git a/llvm/test/MC/AArch64/armv9-mrrs.s b/llvm/test/MC/AArch64/armv9-mrrs.s index 870127826cb1f..1fc7274f64d4a 100644 --- a/llvm/test/MC/AArch64/armv9-mrrs.s +++ b/llvm/test/MC/AArch64/armv9-mrrs.s @@ -1,100 +1,282 @@ +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | llvm-objdump -d --mattr=+d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | llvm-objdump -d --mattr=-d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + // +the required for RCWSMASK_EL1, RCWMASK_EL1 // +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2 // +vh required for TTBR1_EL2 -// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding %s -o - 2> %t | FileCheck %s -// RUN: FileCheck %s --input-file=%t --check-prefix=ERRORS - -// RUN: not llvm-mc -triple aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 - - mrrs x0, x1, TTBR0_EL1 -// CHECK: mrrs x0, x1, TTBR0_EL1 // encoding: [0x00,0x20,0x78,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x0, x1, TTBR1_EL1 -// CHECK: mrrs x0, x1, TTBR1_EL1 // encoding: [0x20,0x20,0x78,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x0, x1, PAR_EL1 -// CHECK: mrrs x0, x1, PAR_EL1 // encoding: [0x00,0x74,0x78,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x0, x1, RCWSMASK_EL1 -// CHECK: mrrs x0, x1, RCWSMASK_EL1 // encoding: [0x60,0xd0,0x78,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x0, x1, RCWMASK_EL1 -// CHECK: mrrs x0, x1, RCWMASK_EL1 // encoding: [0xc0,0xd0,0x78,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x0, x1, TTBR0_EL2 -// CHECK: mrrs x0, x1, TTBR0_EL2 // encoding: [0x00,0x20,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x0, x1, TTBR1_EL2 -// CHECK: mrrs x0, x1, TTBR1_EL2 // encoding: [0x20,0x20,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x0, x1, VTTBR_EL2 -// CHECK: mrrs x0, x1, VTTBR_EL2 // encoding: [0x00,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - mrrs x0, x1, VTTBR_EL2 -// CHECK: mrrs x0, x1, VTTBR_EL2 // encoding: [0x00,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x2, x3, VTTBR_EL2 -// CHECK: mrrs x2, x3, VTTBR_EL2 // encoding: [0x02,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x4, x5, VTTBR_EL2 -// CHECK: mrrs x4, x5, VTTBR_EL2 // encoding: [0x04,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x6, x7, VTTBR_EL2 -// CHECK: mrrs x6, x7, VTTBR_EL2 // encoding: [0x06,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x8, x9, VTTBR_EL2 -// CHECK: mrrs x8, x9, VTTBR_EL2 // encoding: [0x08,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x10, x11, VTTBR_EL2 -// CHECK: mrrs x10, x11, VTTBR_EL2 // encoding: [0x0a,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x12, x13, VTTBR_EL2 -// CHECK: mrrs x12, x13, VTTBR_EL2 // encoding: [0x0c,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x14, x15, VTTBR_EL2 -// CHECK: mrrs x14, x15, VTTBR_EL2 // encoding: [0x0e,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x16, x17, VTTBR_EL2 -// CHECK: mrrs x16, x17, VTTBR_EL2 // encoding: [0x10,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x18, x19, VTTBR_EL2 -// CHECK: mrrs x18, x19, VTTBR_EL2 // encoding: [0x12,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x20, x21, VTTBR_EL2 -// CHECK: mrrs x20, x21, VTTBR_EL2 // encoding: [0x14,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x22, x23, VTTBR_EL2 -// CHECK: mrrs x22, x23, VTTBR_EL2 // encoding: [0x16,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x24, x25, VTTBR_EL2 -// CHECK: mrrs x24, x25, VTTBR_EL2 // encoding: [0x18,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - mrrs x26, x27, VTTBR_EL2 -// CHECK: mrrs x26, x27, VTTBR_EL2 // encoding: [0x1a,0x21,0x7c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - mrrs x0, x2, TTBR0_EL1 -// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair - - mrrs x0, TTBR0_EL1 -// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair - - mrrs x1, x2, TTBR0_EL1 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - mrrs x31, x0, TTBR0_EL1 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - mrrs xzr, x30, TTBR0_EL1 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - mrrs xzr, TTBR0_EL1 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - mrrs S3_0_c2_c0_1 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - mrrs S3_0_c2_c0_1, x0, x1 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair +mrrs x0, x1, TTBR0_EL1 +// CHECK-INST: mrrs x0, x1, TTBR0_EL1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x78,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5782000 + +mrrs x0, x1, TTBR1_EL1 +// CHECK-INST: mrrs x0, x1, TTBR1_EL1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x78,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5782020 + +mrrs x0, x1, PAR_EL1 +// CHECK-INST: mrrs x0, x1, PAR_EL1 +// CHECK-ENCODING: encoding: [0x00,0x74,0x78,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5787400 + +mrrs x0, x1, RCWSMASK_EL1 +// CHECK-INST: mrrs x0, x1, RCWSMASK_EL1 +// CHECK-ENCODING: encoding: [0x60,0xd0,0x78,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d578d060 + +mrrs x0, x1, RCWMASK_EL1 +// CHECK-INST: mrrs x0, x1, RCWMASK_EL1 +// CHECK-ENCODING: encoding: [0xc0,0xd0,0x78,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d578d0c0 + +mrrs x0, x1, TTBR0_EL2 +// CHECK-INST: mrrs x0, x1, TTBR0_EL2 +// CHECK-ENCODING: encoding: [0x00,0x20,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2000 + +mrrs x0, x1, TTBR1_EL2 +// CHECK-INST: mrrs x0, x1, TTBR1_EL2 +// CHECK-ENCODING: encoding: [0x20,0x20,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2020 + +mrrs x0, x1, VTTBR_EL2 +// CHECK-INST: mrrs x0, x1, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x00,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2100 + +mrrs x0, x1, VTTBR_EL2 +// CHECK-INST: mrrs x0, x1, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x00,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2100 + +mrrs x2, x3, VTTBR_EL2 +// CHECK-INST: mrrs x2, x3, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x02,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2102 + +mrrs x4, x5, VTTBR_EL2 +// CHECK-INST: mrrs x4, x5, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x04,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2104 + +mrrs x6, x7, VTTBR_EL2 +// CHECK-INST: mrrs x6, x7, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x06,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2106 + +mrrs x8, x9, VTTBR_EL2 +// CHECK-INST: mrrs x8, x9, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x08,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2108 + +mrrs x10, x11, VTTBR_EL2 +// CHECK-INST: mrrs x10, x11, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x0a,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c210a + +mrrs x12, x13, VTTBR_EL2 +// CHECK-INST: mrrs x12, x13, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x0c,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c210c + +mrrs x14, x15, VTTBR_EL2 +// CHECK-INST: mrrs x14, x15, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x0e,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c210e + +mrrs x16, x17, VTTBR_EL2 +// CHECK-INST: mrrs x16, x17, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x10,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2110 + +mrrs x18, x19, VTTBR_EL2 +// CHECK-INST: mrrs x18, x19, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x12,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2112 + +mrrs x20, x21, VTTBR_EL2 +// CHECK-INST: mrrs x20, x21, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x14,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2114 + +mrrs x22, x23, VTTBR_EL2 +// CHECK-INST: mrrs x22, x23, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x16,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2116 + +mrrs x24, x25, VTTBR_EL2 +// CHECK-INST: mrrs x24, x25, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x18,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c2118 + +mrrs x26, x27, VTTBR_EL2 +// CHECK-INST: mrrs x26, x27, VTTBR_EL2 +// CHECK-ENCODING: encoding: [0x1a,0x21,0x7c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d57c211a + +msrr TTBR0_EL1, x0, x1 +// CHECK-INST: msrr TTBR0_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d5582000 + +msrr TTBR1_EL1, x0, x1 +// CHECK-INST: msrr TTBR1_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d5582020 + +msrr PAR_EL1, x0, x1 +// CHECK-INST: msrr PAR_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x74,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d5587400 + +msrr RCWSMASK_EL1, x0, x1 +// CHECK-INST: msrr RCWSMASK_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x60,0xd0,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d558d060 + +msrr RCWMASK_EL1, x0, x1 +// CHECK-INST: msrr RCWMASK_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0xc0,0xd0,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d558d0c0 + +msrr TTBR0_EL2, x0, x1 +// CHECK-INST: msrr TTBR0_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2000 + +msrr TTBR1_EL2, x0, x1 +// CHECK-INST: msrr TTBR1_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2020 + +msrr VTTBR_EL2, x0, x1 +// CHECK-INST: msrr VTTBR_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2100 + +msrr VTTBR_EL2, x0, x1 +// CHECK-INST: msrr VTTBR_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2100 + +msrr VTTBR_EL2, x2, x3 +// CHECK-INST: msrr VTTBR_EL2, x2, x3 +// CHECK-ENCODING: encoding: [0x02,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2102 + +msrr VTTBR_EL2, x4, x5 +// CHECK-INST: msrr VTTBR_EL2, x4, x5 +// CHECK-ENCODING: encoding: [0x04,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2104 + +msrr VTTBR_EL2, x6, x7 +// CHECK-INST: msrr VTTBR_EL2, x6, x7 +// CHECK-ENCODING: encoding: [0x06,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2106 + +msrr VTTBR_EL2, x8, x9 +// CHECK-INST: msrr VTTBR_EL2, x8, x9 +// CHECK-ENCODING: encoding: [0x08,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2108 + +msrr VTTBR_EL2, x10, x11 +// CHECK-INST: msrr VTTBR_EL2, x10, x11 +// CHECK-ENCODING: encoding: [0x0a,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c210a + +msrr VTTBR_EL2, x12, x13 +// CHECK-INST: msrr VTTBR_EL2, x12, x13 +// CHECK-ENCODING: encoding: [0x0c,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c210c + +msrr VTTBR_EL2, x14, x15 +// CHECK-INST: msrr VTTBR_EL2, x14, x15 +// CHECK-ENCODING: encoding: [0x0e,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c210e + +msrr VTTBR_EL2, x16, x17 +// CHECK-INST: msrr VTTBR_EL2, x16, x17 +// CHECK-ENCODING: encoding: [0x10,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2110 + +msrr VTTBR_EL2, x18, x19 +// CHECK-INST: msrr VTTBR_EL2, x18, x19 +// CHECK-ENCODING: encoding: [0x12,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2112 + +msrr VTTBR_EL2, x20, x21 +// CHECK-INST: msrr VTTBR_EL2, x20, x21 +// CHECK-ENCODING: encoding: [0x14,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2114 + +msrr VTTBR_EL2, x22, x23 +// CHECK-INST: msrr VTTBR_EL2, x22, x23 +// CHECK-ENCODING: encoding: [0x16,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2116 + +msrr VTTBR_EL2, x24, x25 +// CHECK-INST: msrr VTTBR_EL2, x24, x25 +// CHECK-ENCODING: encoding: [0x18,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2118 + +msrr VTTBR_EL2, x26, x27 +// CHECK-INST: msrr VTTBR_EL2, x26, x27 +// CHECK-ENCODING: encoding: [0x1a,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c211a diff --git a/llvm/test/MC/AArch64/armv9-msrr-diagnostics.s b/llvm/test/MC/AArch64/armv9-msrr-diagnostics.s new file mode 100644 index 0000000000000..d49a3ee68b63f --- /dev/null +++ b/llvm/test/MC/AArch64/armv9-msrr-diagnostics.s @@ -0,0 +1,30 @@ +// +the required for RCWSMASK_EL1, RCWMASK_EL1 +// +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2 +// +vh required for TTBR1_EL2 + +// RUN: not llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR + +msrr TTBR0_EL1, x0, x2 +// CHECK-ERROR: error: expected second odd register of a consecutive same-size even/odd register pair + +msrr TTBR0_EL1, x0 +// CHECK-ERROR: error: expected comma + +msrr TTBR0_EL1, x1, x2 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +msrr TTBR0_EL1, x31, x0 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +msrr TTBR0_EL1, xzr, x30 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +msrr TTBR0_EL1, xzr +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair + +msrr S3_0_c2_c0_1 +// CHECK-ERROR: error: too few operands for instruction + +msrr x0, x1, S3_0_c2_c0_1 +// CHECK-ERROR: error: expected first even register of a consecutive same-size even/odd register pair diff --git a/llvm/test/MC/AArch64/armv9-msrr.s b/llvm/test/MC/AArch64/armv9-msrr.s index 2be17a71e7d47..439e054779b07 100644 --- a/llvm/test/MC/AArch64/armv9-msrr.s +++ b/llvm/test/MC/AArch64/armv9-msrr.s @@ -1,100 +1,150 @@ +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | llvm-objdump -d --mattr=+d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | llvm-objdump -d --mattr=-d128,+the,+el2vmsa,+vh - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+the,+el2vmsa,+vh < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+d128,+the,+el2vmsa,+vh -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + // +the required for RCWSMASK_EL1, RCWMASK_EL1 // +el2vmsa required for TTBR0_EL2 (VSCTLR_EL2), VTTBR_EL2 // +vh required for TTBR1_EL2 -// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+the,+el2vmsa,+vh -show-encoding %s -o - 2> %t | FileCheck %s -// RUN: FileCheck %s --input-file=%t --check-prefix=ERRORS - -// RUN: not llvm-mc -triple aarch64 -mattr=+the,+el2vmsa,+vh -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 - - msrr TTBR0_EL1, x0, x1 -// CHECK: msrr TTBR0_EL1, x0, x1 // encoding: [0x00,0x20,0x58,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr TTBR1_EL1, x0, x1 -// CHECK: msrr TTBR1_EL1, x0, x1 // encoding: [0x20,0x20,0x58,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr PAR_EL1, x0, x1 -// CHECK: msrr PAR_EL1, x0, x1 // encoding: [0x00,0x74,0x58,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr RCWSMASK_EL1, x0, x1 -// CHECK: msrr RCWSMASK_EL1, x0, x1 // encoding: [0x60,0xd0,0x58,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr RCWMASK_EL1, x0, x1 -// CHECK: msrr RCWMASK_EL1, x0, x1 // encoding: [0xc0,0xd0,0x58,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr TTBR0_EL2, x0, x1 -// CHECK: msrr TTBR0_EL2, x0, x1 // encoding: [0x00,0x20,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr TTBR1_EL2, x0, x1 -// CHECK: msrr TTBR1_EL2, x0, x1 // encoding: [0x20,0x20,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x0, x1 -// CHECK: msrr VTTBR_EL2, x0, x1 // encoding: [0x00,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - msrr VTTBR_EL2, x0, x1 -// CHECK: msrr VTTBR_EL2, x0, x1 // encoding: [0x00,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x2, x3 -// CHECK: msrr VTTBR_EL2, x2, x3 // encoding: [0x02,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x4, x5 -// CHECK: msrr VTTBR_EL2, x4, x5 // encoding: [0x04,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x6, x7 -// CHECK: msrr VTTBR_EL2, x6, x7 // encoding: [0x06,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x8, x9 -// CHECK: msrr VTTBR_EL2, x8, x9 // encoding: [0x08,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x10, x11 -// CHECK: msrr VTTBR_EL2, x10, x11 // encoding: [0x0a,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x12, x13 -// CHECK: msrr VTTBR_EL2, x12, x13 // encoding: [0x0c,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x14, x15 -// CHECK: msrr VTTBR_EL2, x14, x15 // encoding: [0x0e,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x16, x17 -// CHECK: msrr VTTBR_EL2, x16, x17 // encoding: [0x10,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x18, x19 -// CHECK: msrr VTTBR_EL2, x18, x19 // encoding: [0x12,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x20, x21 -// CHECK: msrr VTTBR_EL2, x20, x21 // encoding: [0x14,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x22, x23 -// CHECK: msrr VTTBR_EL2, x22, x23 // encoding: [0x16,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x24, x25 -// CHECK: msrr VTTBR_EL2, x24, x25 // encoding: [0x18,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - msrr VTTBR_EL2, x26, x27 -// CHECK: msrr VTTBR_EL2, x26, x27 // encoding: [0x1a,0x21,0x5c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - msrr TTBR0_EL1, x0, x2 -// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair - - msrr TTBR0_EL1, x0 -// ERRORS: error: expected comma - - msrr TTBR0_EL1, x1, x2 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - msrr TTBR0_EL1, x31, x0 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - msrr TTBR0_EL1, xzr, x30 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - msrr TTBR0_EL1, xzr -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - msrr S3_0_c2_c0_1 -// ERRORS: error: too few operands for instruction - - msrr x0, x1, S3_0_c2_c0_1 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair +msrr TTBR0_EL1, x0, x1 +// CHECK-INST: msrr TTBR0_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d5582000 + +msrr TTBR1_EL1, x0, x1 +// CHECK-INST: msrr TTBR1_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d5582020 + +msrr PAR_EL1, x0, x1 +// CHECK-INST: msrr PAR_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x74,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d5587400 + +msrr RCWSMASK_EL1, x0, x1 +// CHECK-INST: msrr RCWSMASK_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0x60,0xd0,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d558d060 + +msrr RCWMASK_EL1, x0, x1 +// CHECK-INST: msrr RCWMASK_EL1, x0, x1 +// CHECK-ENCODING: encoding: [0xc0,0xd0,0x58,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d558d0c0 + +msrr TTBR0_EL2, x0, x1 +// CHECK-INST: msrr TTBR0_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2000 + +msrr TTBR1_EL2, x0, x1 +// CHECK-INST: msrr TTBR1_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2020 + +msrr VTTBR_EL2, x0, x1 +// CHECK-INST: msrr VTTBR_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2100 + +msrr VTTBR_EL2, x0, x1 +// CHECK-INST: msrr VTTBR_EL2, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2100 + +msrr VTTBR_EL2, x2, x3 +// CHECK-INST: msrr VTTBR_EL2, x2, x3 +// CHECK-ENCODING: encoding: [0x02,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2102 + +msrr VTTBR_EL2, x4, x5 +// CHECK-INST: msrr VTTBR_EL2, x4, x5 +// CHECK-ENCODING: encoding: [0x04,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2104 + +msrr VTTBR_EL2, x6, x7 +// CHECK-INST: msrr VTTBR_EL2, x6, x7 +// CHECK-ENCODING: encoding: [0x06,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2106 + +msrr VTTBR_EL2, x8, x9 +// CHECK-INST: msrr VTTBR_EL2, x8, x9 +// CHECK-ENCODING: encoding: [0x08,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2108 + +msrr VTTBR_EL2, x10, x11 +// CHECK-INST: msrr VTTBR_EL2, x10, x11 +// CHECK-ENCODING: encoding: [0x0a,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c210a + +msrr VTTBR_EL2, x12, x13 +// CHECK-INST: msrr VTTBR_EL2, x12, x13 +// CHECK-ENCODING: encoding: [0x0c,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c210c + +msrr VTTBR_EL2, x14, x15 +// CHECK-INST: msrr VTTBR_EL2, x14, x15 +// CHECK-ENCODING: encoding: [0x0e,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c210e + +msrr VTTBR_EL2, x16, x17 +// CHECK-INST: msrr VTTBR_EL2, x16, x17 +// CHECK-ENCODING: encoding: [0x10,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2110 + +msrr VTTBR_EL2, x18, x19 +// CHECK-INST: msrr VTTBR_EL2, x18, x19 +// CHECK-ENCODING: encoding: [0x12,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2112 + +msrr VTTBR_EL2, x20, x21 +// CHECK-INST: msrr VTTBR_EL2, x20, x21 +// CHECK-ENCODING: encoding: [0x14,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2114 + +msrr VTTBR_EL2, x22, x23 +// CHECK-INST: msrr VTTBR_EL2, x22, x23 +// CHECK-ENCODING: encoding: [0x16,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2116 + +msrr VTTBR_EL2, x24, x25 +// CHECK-INST: msrr VTTBR_EL2, x24, x25 +// CHECK-ENCODING: encoding: [0x18,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c2118 + +msrr VTTBR_EL2, x26, x27 +// CHECK-INST: msrr VTTBR_EL2, x26, x27 +// CHECK-ENCODING: encoding: [0x1a,0x21,0x5c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:1: error: instruction requires: d128 +// CHECK-UNKNOWN: d55c211a diff --git a/llvm/test/MC/AArch64/armv9-sysp-diagnostics.s b/llvm/test/MC/AArch64/armv9-sysp-diagnostics.s new file mode 100644 index 0000000000000..8b466c10b0aa7 --- /dev/null +++ b/llvm/test/MC/AArch64/armv9-sysp-diagnostics.s @@ -0,0 +1,35 @@ +// +tbl-rmi required for RIPA*/RVA* +// +xs required for *NXS + +// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+tlb-rmi,+xs -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERRORS + +// sysp #, , , #{, , } +// registers with 128-bit formats (op0, op1, Cn, Cm, op2) +// For sysp, op0 is 0 + +sysp #0, c2, c0, #0, x0, x2 +// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair +sysp #0, c2, c0, #0, x0 +// ERRORS: error: expected comma +sysp #0, c2, c0, #0, x1, x2 +// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair +sysp #0, c2, c0, #0, x31, x0 +// ERRORS: error: xzr must be followed by xzr +sysp #0, c2, c0, #0, xzr, x30 +// ERRORS: error: xzr must be followed by xzr +sysp #0, c2, c0, #0, xzr +// ERRORS: error: expected comma +sysp #0, c2, c0, #0, xzr, +// ERRORS: error: expected register operand + + +tlbip RVAE3IS +// ERRORS: error: expected comma +tlbip RVAE3IS, +// ERRORS: error: expected register identifier +tlbip VAE3, +// ERRORS: error: expected register identifier +tlbip IPAS2E1, x4, x8 +// ERRORS: error: specified tlbip op requires a pair of registers +tlbip RVAE3, x11, x11 +// ERRORS: error: specified tlbip op requires a pair of registers diff --git a/llvm/test/MC/AArch64/armv9-sysp.s b/llvm/test/MC/AArch64/armv9-sysp.s deleted file mode 100644 index 908e880ad0aa4..0000000000000 --- a/llvm/test/MC/AArch64/armv9-sysp.s +++ /dev/null @@ -1,538 +0,0 @@ -// +tbl-rmi required for RIPA*/RVA* -// +xs required for *NXS - -// RUN: not llvm-mc -triple aarch64 -mattr=+d128,+tlb-rmi,+xs -show-encoding %s -o - 2> %t | FileCheck %s -// RUN: FileCheck %s --input-file=%t --check-prefix=ERRORS - -// RUN: not llvm-mc -triple aarch64 -mattr=+tlb-rmi,+xs -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 - -// sysp #, , , #{, , } -// registers with 128-bit formats (op0, op1, Cn, Cm, op2) -// For sysp, op0 is 0 - - sysp #0, c2, c0, #0, x0, x1 // TTBR0_EL1 3 0 2 0 0 -// CHECK: sysp #0, c2, c0, #0, x0, x1 // encoding: [0x00,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #1, x0, x1 // TTBR1_EL1 3 0 2 0 1 -// CHECK: sysp #0, c2, c0, #1, x0, x1 // encoding: [0x20,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c7, c4, #0, x0, x1 // PAR_EL1 3 0 7 4 0 -// CHECK: sysp #0, c7, c4, #0, x0, x1 // encoding: [0x00,0x74,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c13, c0, #3, x0, x1 // RCWSMASK_EL1 3 0 13 0 3 -// CHECK: sysp #0, c13, c0, #3, x0, x1 // encoding: [0x60,0xd0,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c13, c0, #6, x0, x1 // RCWMASK_EL1 3 0 13 0 6 -// CHECK: sysp #0, c13, c0, #6, x0, x1 // encoding: [0xc0,0xd0,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #4, c2, c0, #0, x0, x1 // TTBR0_EL2 3 4 2 0 0 -// CHECK: sysp #4, c2, c0, #0, x0, x1 // encoding: [0x00,0x20,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #4, c2, c0, #1, x0, x1 // TTBR1_EL2 3 4 2 0 1 -// CHECK: sysp #4, c2, c0, #1, x0, x1 // encoding: [0x20,0x20,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #4, c2, c1, #0, x0, x1 // VTTBR_EL2 3 4 2 1 0 -// CHECK: sysp #4, c2, c1, #0, x0, x1 // encoding: [0x00,0x21,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - - sysp #0, c2, c0, #0, x0, x1 -// CHECK: sysp #0, c2, c0, #0, x0, x1 // encoding: [0x00,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #1, x0, x1 -// CHECK: sysp #0, c2, c0, #1, x0, x1 // encoding: [0x20,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c7, c4, #0, x0, x1 -// CHECK: sysp #0, c7, c4, #0, x0, x1 // encoding: [0x00,0x74,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c13, c0, #3, x0, x1 -// CHECK: sysp #0, c13, c0, #3, x0, x1 // encoding: [0x60,0xd0,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c13, c0, #6, x0, x1 -// CHECK: sysp #0, c13, c0, #6, x0, x1 // encoding: [0xc0,0xd0,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #4, c2, c0, #0, x0, x1 -// CHECK: sysp #4, c2, c0, #0, x0, x1 // encoding: [0x00,0x20,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #4, c2, c0, #1, x0, x1 -// CHECK: sysp #4, c2, c0, #1, x0, x1 // encoding: [0x20,0x20,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #4, c2, c1, #0, x0, x1 -// CHECK: sysp #4, c2, c1, #0, x0, x1 // encoding: [0x00,0x21,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - sysp #0, c2, c0, #0, x0, x1 -// CHECK: sysp #0, c2, c0, #0, x0, x1 // encoding: [0x00,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x2, x3 -// CHECK: sysp #0, c2, c0, #0, x2, x3 // encoding: [0x02,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x4, x5 -// CHECK: sysp #0, c2, c0, #0, x4, x5 // encoding: [0x04,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x6, x7 -// CHECK: sysp #0, c2, c0, #0, x6, x7 // encoding: [0x06,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x8, x9 -// CHECK: sysp #0, c2, c0, #0, x8, x9 // encoding: [0x08,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x10, x11 -// CHECK: sysp #0, c2, c0, #0, x10, x11 // encoding: [0x0a,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x12, x13 -// CHECK: sysp #0, c2, c0, #0, x12, x13 // encoding: [0x0c,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x14, x15 -// CHECK: sysp #0, c2, c0, #0, x14, x15 // encoding: [0x0e,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x16, x17 -// CHECK: sysp #0, c2, c0, #0, x16, x17 // encoding: [0x10,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x18, x19 -// CHECK: sysp #0, c2, c0, #0, x18, x19 // encoding: [0x12,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x20, x21 -// CHECK: sysp #0, c2, c0, #0, x20, x21 // encoding: [0x14,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x22, x23 -// CHECK: sysp #0, c2, c0, #0, x22, x23 // encoding: [0x16,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x24, x25 -// CHECK: sysp #0, c2, c0, #0, x24, x25 // encoding: [0x18,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x26, x27 -// CHECK: sysp #0, c2, c0, #0, x26, x27 // encoding: [0x1a,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x28, x29 -// CHECK: sysp #0, c2, c0, #0, x28, x29 // encoding: [0x1c,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x30, x31 -// CHECK: sysp #0, c2, c0, #0, x30, xzr // encoding: [0x1e,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - sysp #0, c2, c0, #0, x31, x31 -// CHECK: sysp #0, c2, c0, #0 // encoding: [0x1f,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, xzr, xzr -// CHECK: sysp #0, c2, c0, #0 // encoding: [0x1f,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, x31, xzr -// CHECK: sysp #0, c2, c0, #0 // encoding: [0x1f,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0, xzr, x31 -// CHECK: sysp #0, c2, c0, #0 // encoding: [0x1f,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - sysp #0, c2, c0, #0 -// CHECK: sysp #0, c2, c0, #0 // encoding: [0x1f,0x20,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - - sysp #0, c2, c0, #0, x0, x2 -// ERRORS: error: expected second odd register of a consecutive same-size even/odd register pair - - sysp #0, c2, c0, #0, x0 -// ERRORS: error: expected comma - - sysp #0, c2, c0, #0, x1, x2 -// ERRORS: error: expected first even register of a consecutive same-size even/odd register pair - - sysp #0, c2, c0, #0, x31, x0 -// ERRORS: error: xzr must be followed by xzr - - sysp #0, c2, c0, #0, xzr, x30 -// ERRORS: error: xzr must be followed by xzr - - sysp #0, c2, c0, #0, xzr -// ERRORS: error: expected comma - - sysp #0, c2, c0, #0, xzr, -// ERRORS: error: expected register operand - - - tlbip IPAS2E1, x4, x5 -// CHECK: tlbip ipas2e1, x4, x5 // encoding: [0x24,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2E1NXS, x4, x5 -// CHECK: tlbip ipas2e1nxs, x4, x5 // encoding: [0x24,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2E1IS, x4, x5 -// CHECK: tlbip ipas2e1is, x4, x5 // encoding: [0x24,0x80,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2E1ISNXS, x4, x5 -// CHECK: tlbip ipas2e1isnxs, x4, x5 // encoding: [0x24,0x90,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2E1OS, x4, x5 -// CHECK: tlbip ipas2e1os, x4, x5 // encoding: [0x04,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2E1OSNXS, x4, x5 -// CHECK: tlbip ipas2e1osnxs, x4, x5 // encoding: [0x04,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2LE1, x4, x5 -// CHECK: tlbip ipas2le1, x4, x5 // encoding: [0xa4,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2LE1NXS, x4, x5 -// CHECK: tlbip ipas2le1nxs, x4, x5 // encoding: [0xa4,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2LE1IS, x4, x5 -// CHECK: tlbip ipas2le1is, x4, x5 // encoding: [0xa4,0x80,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2LE1ISNXS, x4, x5 -// CHECK: tlbip ipas2le1isnxs, x4, x5 // encoding: [0xa4,0x90,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2LE1OS, x4, x5 -// CHECK: tlbip ipas2le1os, x4, x5 // encoding: [0x84,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip IPAS2LE1OSNXS, x4, x5 -// CHECK: tlbip ipas2le1osnxs, x4, x5 // encoding: [0x84,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - - tlbip VAE1, x8, x9 -// CHECK: tlbip vae1, x8, x9 // encoding: [0x28,0x87,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE1NXS, x8, x9 -// CHECK: tlbip vae1nxs, x8, x9 // encoding: [0x28,0x97,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE1IS, x8, x9 -// CHECK: tlbip vae1is, x8, x9 // encoding: [0x28,0x83,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE1ISNXS, x8, x9 -// CHECK: tlbip vae1isnxs, x8, x9 // encoding: [0x28,0x93,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE1OS, x8, x9 -// CHECK: tlbip vae1os, x8, x9 // encoding: [0x28,0x81,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE1OSNXS, x8, x9 -// CHECK: tlbip vae1osnxs, x8, x9 // encoding: [0x28,0x91,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE1, x8, x9 -// CHECK: tlbip vale1, x8, x9 // encoding: [0xa8,0x87,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE1NXS, x8, x9 -// CHECK: tlbip vale1nxs, x8, x9 // encoding: [0xa8,0x97,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE1IS, x8, x9 -// CHECK: tlbip vale1is, x8, x9 // encoding: [0xa8,0x83,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE1ISNXS, x8, x9 -// CHECK: tlbip vale1isnxs, x8, x9 // encoding: [0xa8,0x93,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE1OS, x8, x9 -// CHECK: tlbip vale1os, x8, x9 // encoding: [0xa8,0x81,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE1OSNXS, x8, x9 -// CHECK: tlbip vale1osnxs, x8, x9 // encoding: [0xa8,0x91,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAAE1, x8, x9 -// CHECK: tlbip vaae1, x8, x9 // encoding: [0x68,0x87,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAAE1NXS, x8, x9 -// CHECK: tlbip vaae1nxs, x8, x9 // encoding: [0x68,0x97,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAAE1IS, x8, x9 -// CHECK: tlbip vaae1is, x8, x9 // encoding: [0x68,0x83,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAAE1ISNXS, x8, x9 -// CHECK: tlbip vaae1isnxs, x8, x9 // encoding: [0x68,0x93,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAAE1OS, x8, x9 -// CHECK: tlbip vaae1os, x8, x9 // encoding: [0x68,0x81,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAAE1OSNXS, x8, x9 -// CHECK: tlbip vaae1osnxs, x8, x9 // encoding: [0x68,0x91,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAALE1, x8, x9 -// CHECK: tlbip vaale1, x8, x9 // encoding: [0xe8,0x87,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAALE1NXS, x8, x9 -// CHECK: tlbip vaale1nxs, x8, x9 // encoding: [0xe8,0x97,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAALE1IS, x8, x9 -// CHECK: tlbip vaale1is, x8, x9 // encoding: [0xe8,0x83,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAALE1ISNXS, x8, x9 -// CHECK: tlbip vaale1isnxs, x8, x9 // encoding: [0xe8,0x93,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAALE1OS, x8, x9 -// CHECK: tlbip vaale1os, x8, x9 // encoding: [0xe8,0x81,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAALE1OSNXS, x8, x9 -// CHECK: tlbip vaale1osnxs, x8, x9 // encoding: [0xe8,0x91,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - tlbip VAE2, x14, x15 -// CHECK: tlbip vae2, x14, x15 // encoding: [0x2e,0x87,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE2NXS, x14, x15 -// CHECK: tlbip vae2nxs, x14, x15 // encoding: [0x2e,0x97,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE2IS, x14, x15 -// CHECK: tlbip vae2is, x14, x15 // encoding: [0x2e,0x83,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE2ISNXS, x14, x15 -// CHECK: tlbip vae2isnxs, x14, x15 // encoding: [0x2e,0x93,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE2OS, x14, x15 -// CHECK: tlbip vae2os, x14, x15 // encoding: [0x2e,0x81,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE2OSNXS, x14, x15 -// CHECK: tlbip vae2osnxs, x14, x15 // encoding: [0x2e,0x91,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE2, x14, x15 -// CHECK: tlbip vale2, x14, x15 // encoding: [0xae,0x87,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE2NXS, x14, x15 -// CHECK: tlbip vale2nxs, x14, x15 // encoding: [0xae,0x97,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE2IS, x14, x15 -// CHECK: tlbip vale2is, x14, x15 // encoding: [0xae,0x83,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE2ISNXS, x14, x15 -// CHECK: tlbip vale2isnxs, x14, x15 // encoding: [0xae,0x93,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE2OS, x14, x15 -// CHECK: tlbip vale2os, x14, x15 // encoding: [0xae,0x81,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE2OSNXS, x14, x15 -// CHECK: tlbip vale2osnxs, x14, x15 // encoding: [0xae,0x91,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - tlbip VAE3, x24, x25 -// CHECK: tlbip vae3, x24, x25 // encoding: [0x38,0x87,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE3NXS, x24, x25 -// CHECK: tlbip vae3nxs, x24, x25 // encoding: [0x38,0x97,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE3IS, x24, x25 -// CHECK: tlbip vae3is, x24, x25 // encoding: [0x38,0x83,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE3ISNXS, x24, x25 -// CHECK: tlbip vae3isnxs, x24, x25 // encoding: [0x38,0x93,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE3OS, x24, x25 -// CHECK: tlbip vae3os, x24, x25 // encoding: [0x38,0x81,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VAE3OSNXS, x24, x25 -// CHECK: tlbip vae3osnxs, x24, x25 // encoding: [0x38,0x91,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE3, x24, x25 -// CHECK: tlbip vale3, x24, x25 // encoding: [0xb8,0x87,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE3NXS, x24, x25 -// CHECK: tlbip vale3nxs, x24, x25 // encoding: [0xb8,0x97,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE3IS, x24, x25 -// CHECK: tlbip vale3is, x24, x25 // encoding: [0xb8,0x83,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE3ISNXS, x24, x25 -// CHECK: tlbip vale3isnxs, x24, x25 // encoding: [0xb8,0x93,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE3OS, x24, x25 -// CHECK: tlbip vale3os, x24, x25 // encoding: [0xb8,0x81,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip VALE3OSNXS, x24, x25 -// CHECK: tlbip vale3osnxs, x24, x25 // encoding: [0xb8,0x91,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - - tlbip RVAE1, x18, x19 -// CHECK: tlbip rvae1, x18, x19 // encoding: [0x32,0x86,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE1NXS, x18, x19 -// CHECK: tlbip rvae1nxs, x18, x19 // encoding: [0x32,0x96,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE1IS, x18, x19 -// CHECK: tlbip rvae1is, x18, x19 // encoding: [0x32,0x82,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE1ISNXS, x18, x19 -// CHECK: tlbip rvae1isnxs, x18, x19 // encoding: [0x32,0x92,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE1OS, x18, x19 -// CHECK: tlbip rvae1os, x18, x19 // encoding: [0x32,0x85,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE1OSNXS, x18, x19 -// CHECK: tlbip rvae1osnxs, x18, x19 // encoding: [0x32,0x95,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAAE1, x18, x19 -// CHECK: tlbip rvaae1, x18, x19 // encoding: [0x72,0x86,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAAE1NXS, x18, x19 -// CHECK: tlbip rvaae1nxs, x18, x19 // encoding: [0x72,0x96,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAAE1IS, x18, x19 -// CHECK: tlbip rvaae1is, x18, x19 // encoding: [0x72,0x82,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAAE1ISNXS, x18, x19 -// CHECK: tlbip rvaae1isnxs, x18, x19 // encoding: [0x72,0x92,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAAE1OS, x18, x19 -// CHECK: tlbip rvaae1os, x18, x19 // encoding: [0x72,0x85,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAAE1OSNXS, x18, x19 -// CHECK: tlbip rvaae1osnxs, x18, x19 // encoding: [0x72,0x95,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE1, x18, x19 -// CHECK: tlbip rvale1, x18, x19 // encoding: [0xb2,0x86,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE1NXS, x18, x19 -// CHECK: tlbip rvale1nxs, x18, x19 // encoding: [0xb2,0x96,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE1IS, x18, x19 -// CHECK: tlbip rvale1is, x18, x19 // encoding: [0xb2,0x82,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE1ISNXS, x18, x19 -// CHECK: tlbip rvale1isnxs, x18, x19 // encoding: [0xb2,0x92,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE1OS, x18, x19 -// CHECK: tlbip rvale1os, x18, x19 // encoding: [0xb2,0x85,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE1OSNXS, x18, x19 -// CHECK: tlbip rvale1osnxs, x18, x19 // encoding: [0xb2,0x95,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAALE1, x18, x19 -// CHECK: tlbip rvaale1, x18, x19 // encoding: [0xf2,0x86,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAALE1NXS, x18, x19 -// CHECK: tlbip rvaale1nxs, x18, x19 // encoding: [0xf2,0x96,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAALE1IS, x18, x19 -// CHECK: tlbip rvaale1is, x18, x19 // encoding: [0xf2,0x82,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAALE1ISNXS, x18, x19 -// CHECK: tlbip rvaale1isnxs, x18, x19 // encoding: [0xf2,0x92,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAALE1OS, x18, x19 -// CHECK: tlbip rvaale1os, x18, x19 // encoding: [0xf2,0x85,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAALE1OSNXS, x18, x19 -// CHECK: tlbip rvaale1osnxs, x18, x19 // encoding: [0xf2,0x95,0x48,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - tlbip RVAE2, x28, x29 -// CHECK: tlbip rvae2, x28, x29 // encoding: [0x3c,0x86,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE2NXS, x28, x29 -// CHECK: tlbip rvae2nxs, x28, x29 // encoding: [0x3c,0x96,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE2IS, x28, x29 -// CHECK: tlbip rvae2is, x28, x29 // encoding: [0x3c,0x82,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE2ISNXS, x28, x29 -// CHECK: tlbip rvae2isnxs, x28, x29 // encoding: [0x3c,0x92,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE2OS, x28, x29 -// CHECK: tlbip rvae2os, x28, x29 // encoding: [0x3c,0x85,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE2OSNXS, x28, x29 -// CHECK: tlbip rvae2osnxs, x28, x29 // encoding: [0x3c,0x95,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE2, x28, x29 -// CHECK: tlbip rvale2, x28, x29 // encoding: [0xbc,0x86,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE2NXS, x28, x29 -// CHECK: tlbip rvale2nxs, x28, x29 // encoding: [0xbc,0x96,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE2IS, x28, x29 -// CHECK: tlbip rvale2is, x28, x29 // encoding: [0xbc,0x82,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE2ISNXS, x28, x29 -// CHECK: tlbip rvale2isnxs, x28, x29 // encoding: [0xbc,0x92,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE2OS, x28, x29 -// CHECK: tlbip rvale2os, x28, x29 // encoding: [0xbc,0x85,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE2OSNXS, x28, x29 -// CHECK: tlbip rvale2osnxs, x28, x29 // encoding: [0xbc,0x95,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - tlbip RVAE3, x10, x11 -// CHECK: tlbip rvae3, x10, x11 // encoding: [0x2a,0x86,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE3NXS, x10, x11 -// CHECK: tlbip rvae3nxs, x10, x11 // encoding: [0x2a,0x96,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE3IS, x10, x11 -// CHECK: tlbip rvae3is, x10, x11 // encoding: [0x2a,0x82,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE3ISNXS, x10, x11 -// CHECK: tlbip rvae3isnxs, x10, x11 // encoding: [0x2a,0x92,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE3OS, x10, x11 -// CHECK: tlbip rvae3os, x10, x11 // encoding: [0x2a,0x85,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE3OSNXS, x10, x11 -// CHECK: tlbip rvae3osnxs, x10, x11 // encoding: [0x2a,0x95,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE3, x10, x11 -// CHECK: tlbip rvale3, x10, x11 // encoding: [0xaa,0x86,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE3NXS, x10, x11 -// CHECK: tlbip rvale3nxs, x10, x11 // encoding: [0xaa,0x96,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE3IS, x10, x11 -// CHECK: tlbip rvale3is, x10, x11 // encoding: [0xaa,0x82,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE3ISNXS, x10, x11 -// CHECK: tlbip rvale3isnxs, x10, x11 // encoding: [0xaa,0x92,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE3OS, x10, x11 -// CHECK: tlbip rvale3os, x10, x11 // encoding: [0xaa,0x85,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVALE3OSNXS, x10, x11 -// CHECK: tlbip rvale3osnxs, x10, x11 // encoding: [0xaa,0x95,0x4e,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - - tlbip RIPAS2E1, x20, x21 -// CHECK: tlbip ripas2e1, x20, x21 // encoding: [0x54,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2E1NXS, x20, x21 -// CHECK: tlbip ripas2e1nxs, x20, x21 // encoding: [0x54,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2E1IS, x20, x21 -// CHECK: tlbip ripas2e1is, x20, x21 // encoding: [0x54,0x80,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2E1ISNXS, x20, x21 -// CHECK: tlbip ripas2e1isnxs, x20, x21 // encoding: [0x54,0x90,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2E1OS, x20, x21 -// CHECK: tlbip ripas2e1os, x20, x21 // encoding: [0x74,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2E1OSNXS, x20, x21 -// CHECK: tlbip ripas2e1osnxs, x20, x21 // encoding: [0x74,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2LE1, x20, x21 -// CHECK: tlbip ripas2le1, x20, x21 // encoding: [0xd4,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2LE1NXS, x20, x21 -// CHECK: tlbip ripas2le1nxs, x20, x21 // encoding: [0xd4,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2LE1IS, x20, x21 -// CHECK: tlbip ripas2le1is, x20, x21 // encoding: [0xd4,0x80,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2LE1ISNXS, x20, x21 -// CHECK: tlbip ripas2le1isnxs, x20, x21 // encoding: [0xd4,0x90,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2LE1OS, x20, x21 -// CHECK: tlbip ripas2le1os, x20, x21 // encoding: [0xf4,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2LE1OSNXS, x20, x21 -// CHECK: tlbip ripas2le1osnxs, x20, x21 // encoding: [0xf4,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - - tlbip RIPAS2LE1OS, xzr, xzr -// CHECK: tlbip ripas2le1os, xzr, xzr // encoding: [0xff,0x84,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RIPAS2LE1OSNXS, xzr, xzr -// CHECK: tlbip ripas2le1osnxs, xzr, xzr // encoding: [0xff,0x94,0x4c,0xd5] -// ERROR-NO-D128: [[@LINE-2]]:11: error: instruction requires: d128 - tlbip RVAE3IS -// ERRORS: error: expected comma - tlbip RVAE3IS, -// ERRORS: error: expected register identifier - tlbip VAE3, -// ERRORS: error: expected register identifier - tlbip IPAS2E1, x4, x8 -// ERRORS: error: specified tlbip op requires a pair of registers - tlbip RVAE3, x11, x11 -// ERRORS: error: specified tlbip op requires a pair of registers diff --git a/llvm/test/MC/AArch64/armv9.4a-chk.s b/llvm/test/MC/AArch64/armv9.4a-chk.s index 95acee370dcb1..14b0c375a7bce 100644 --- a/llvm/test/MC/AArch64/armv9.4a-chk.s +++ b/llvm/test/MC/AArch64/armv9.4a-chk.s @@ -1,21 +1,38 @@ -// RUN: llvm-mc -triple aarch64 -mattr=+chk -show-encoding %s | FileCheck %s -// RUN: llvm-mc -triple aarch64 -mattr=+v8.9a -show-encoding %s | FileCheck %s -// RUN: llvm-mc -triple aarch64 -mattr=+v9.4a -show-encoding %s | FileCheck %s -// RUN: llvm-mc -triple aarch64 -mattr=+v8a -show-encoding %s | FileCheck %s --check-prefix=NO-CHK +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v8.9a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+v9.4a < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+chk < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+chk < %s \ +// RUN: | llvm-objdump -d --mattr=+chk - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+chk < %s \ +// RUN: | llvm-objdump -d --mattr=-chk - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+chk < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+chk -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + // FEAT_CHK is mandatory from v8.0-a, but a clang user may not be using the LLVM // integrated assembler, so we cannot just print `chkfeat x16` in all // circumstances. Thankfully, we can always print `hint #40` when we cannot // print `chkfeat x16`. -// // So, in this case, we only print `chkfeat x16` from v8.9-a onwards, as an // assembler that understands v8.9-a will understand `chkfeat x16`, and those // that understand previous versions may not. chkfeat x16 -// CHECK: chkfeat x16 // encoding: [0x1f,0x25,0x03,0xd5] -// NO-CHK: hint #40 // encoding: [0x1f,0x25,0x03,0xd5] +// CHECK-INST: chkfeat x16 +// CHECK-ENCODING: encoding: [0x1f,0x25,0x03,0xd5] +// CHECK-ERROR: hint #40 +// CHECK-UNKNOWN: d503251f hint #40 hint #40 -// CHECK: chkfeat x16 // encoding: [0x1f,0x25,0x03,0xd5] -// NO-CHK: hint #40 // encoding: [0x1f,0x25,0x03,0xd5] +// CHECK-INST: chkfeat x16 +// CHECK-ENCODING: encoding: [0x1f,0x25,0x03,0xd5] +// CHECK-ERROR: hint #40 +// CHECK-UNKNOWN: d503251f hint #40 diff --git a/llvm/test/MC/AArch64/armv9.5a-tlbiw.s b/llvm/test/MC/AArch64/armv9.5a-tlbiw.s index 435ed06b33c8c..efd410c1c2c59 100644 --- a/llvm/test/MC/AArch64/armv9.5a-tlbiw.s +++ b/llvm/test/MC/AArch64/armv9.5a-tlbiw.s @@ -1,27 +1,50 @@ -// RUN: llvm-mc -triple aarch64 -show-encoding -mattr=+tlbiw -mattr=+xs < %s | FileCheck --check-prefix=CHECK-TLBIW --check-prefix=CHECK-XS %s -// RUN: not llvm-mc -triple aarch64 -show-encoding -mattr=+tlbiw < %s 2> %t | FileCheck --check-prefix=CHECK-TLBIW %s && FileCheck --check-prefix=ERROR-NO-XS-TLBIW %s < %t -// RUN: not llvm-mc -triple aarch64 < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-TLBIW --check-prefix=ERROR-NO-XS-TLBIW %s +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+tlbiw,+xs < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbiw,+xs < %s \ +// RUN: | llvm-objdump -d --mattr=+tlbiw,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbiw,+xs < %s \ +// RUN: | llvm-objdump -d --mattr=-tlbiw,-xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+tlbiw,+xs < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+tlbiw,+xs -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + tlbi VMALLWS2E1 -// CHECK-TLBIW: tlbi vmallws2e1 // encoding: [0x5f,0x86,0x0c,0xd5] -// ERROR-NO-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1 requires: tlbiw +// CHECK-INST: tlbi vmallws2e1 +// CHECK-ENCODING: encoding: [0x5f,0x86,0x0c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1 requires: tlbiw +// CHECK-UNKNOWN: d50c865f sys #4, c8, c6, #2 tlbi VMALLWS2E1IS -// CHECK-TLBIW: tlbi vmallws2e1is // encoding: [0x5f,0x82,0x0c,0xd5] -// ERROR-NO-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1IS requires: tlbiw +// CHECK-INST: tlbi vmallws2e1is +// CHECK-ENCODING: encoding: [0x5f,0x82,0x0c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1IS requires: tlbiw +// CHECK-UNKNOWN: d50c825f sys #4, c8, c2, #2 tlbi VMALLWS2E1OS -// CHECK-TLBIW: tlbi vmallws2e1os // encoding: [0x5f,0x85,0x0c,0xd5] -// ERROR-NO-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1OS requires: tlbiw +// CHECK-INST: tlbi vmallws2e1os +// CHECK-ENCODING: encoding: [0x5f,0x85,0x0c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1OS requires: tlbiw +// CHECK-UNKNOWN: d50c855f sys #4, c8, c5, #2 tlbi VMALLWS2E1nXS -// CHECK-XS: tlbi vmallws2e1nxs // encoding: [0x5f,0x96,0x0c,0xd5] -// ERROR-NO-XS-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1nXS requires: xs, tlbiw +// CHECK-INST: tlbi vmallws2e1nxs +// CHECK-ENCODING: encoding: [0x5f,0x96,0x0c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1nXS requires: xs, tlbiw +// CHECK-UNKNOWN: d50c965f sys #4, c9, c6, #2 tlbi VMALLWS2E1ISnXS -// CHECK-XS: tlbi vmallws2e1isnxs // encoding: [0x5f,0x92,0x0c,0xd5] -// ERROR-NO-XS-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1ISnXS requires: xs, tlbiw +// CHECK-INST: tlbi vmallws2e1isnxs +// CHECK-ENCODING: encoding: [0x5f,0x92,0x0c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1ISnXS requires: xs, tlbiw +// CHECK-UNKNOWN: d50c925f sys #4, c9, c2, #2 tlbi VMALLWS2E1OSnXS -// CHECK-XS: tlbi vmallws2e1osnxs // encoding: [0x5f,0x95,0x0c,0xd5] -// ERROR-NO-XS-TLBIW: [[@LINE-2]]:6: error: TLBI VMALLWS2E1OSnXS requires: xs, tlbiw +// CHECK-INST: tlbi vmallws2e1osnxs +// CHECK-ENCODING: encoding: [0x5f,0x95,0x0c,0xd5] +// CHECK-ERROR: :[[@LINE-3]]:6: error: TLBI VMALLWS2E1OSnXS requires: xs, tlbiw +// CHECK-UNKNOWN: d50c955f sys #4, c9, c5, #2 diff --git a/llvm/test/MC/AArch64/armv9a-sysp.s b/llvm/test/MC/AArch64/armv9a-sysp.s new file mode 100644 index 0000000000000..600657595e8aa --- /dev/null +++ b/llvm/test/MC/AArch64/armv9a-sysp.s @@ -0,0 +1,978 @@ +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+tlb-rmi,+xs < %s \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST +// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+tlb-rmi,+xs < %s 2>&1 \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ERROR +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+tlb-rmi,+xs < %s \ +// RUN: | llvm-objdump -d --mattr=+d128,+tlb-rmi,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST +// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+d128,+tlb-rmi,+xs < %s \ +// RUN: | llvm-objdump -d --mattr=-d128,+tlb-rmi,+xs --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN +// Disassemble encoding and check the re-encoding (-show-encoding) matches. +// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+d128,+tlb-rmi,+xs < %s \ +// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ +// RUN: | llvm-mc -triple=aarch64 -mattr=+d128,+tlb-rmi,+xs -disassemble -show-encoding \ +// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST + + +// +tbl-rmi required for RIPA*/RVA* +// +xs required for *NXS + +// sysp #, , , #{, , } +// registers with 128-bit formats (op0, op1, Cn, Cm, op2) +// For sysp, op0 is 0 + +sysp #0, c2, c0, #0, x0, x1// TTBR0_EL1 3 0 2 0 0 +// CHECK-INST: sysp #0, c2, c0, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482000 + +sysp #0, c2, c0, #1, x0, x1// TTBR1_EL1 3 0 2 0 1 +// CHECK-INST: sysp #0, c2, c0, #1, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482020 + +sysp #0, c7, c4, #0, x0, x1// PAR_EL1 3 0 7 4 0 +// CHECK-INST: sysp #0, c7, c4, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x74,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5487400 + +sysp #0, c13, c0, #3, x0, x1 // RCWSMASK_EL1 3 0 13 0 3 +// CHECK-INST: sysp #0, c13, c0, #3, x0, x1 +// CHECK-ENCODING: encoding: [0x60,0xd0,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548d060 + +sysp #0, c13, c0, #6, x0, x1 // RCWMASK_EL1 3 0 13 0 6 +// CHECK-INST: sysp #0, c13, c0, #6, x0, x1 +// CHECK-ENCODING: encoding: [0xc0,0xd0,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548d0c0 + +sysp #4, c2, c0, #0, x0, x1// TTBR0_EL2 3 4 2 0 0 +// CHECK-INST: sysp #4, c2, c0, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c2000 + +sysp #4, c2, c0, #1, x0, x1// TTBR1_EL2 3 4 2 0 1 +// CHECK-INST: sysp #4, c2, c0, #1, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c2020 + +sysp #4, c2, c1, #0, x0, x1// VTTBR_EL2 3 4 2 1 0 +// CHECK-INST: sysp #4, c2, c1, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x21,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c2100 + + + +sysp #0, c2, c0, #0, x0, x1 +// CHECK-INST: sysp #0, c2, c0, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482000 + +sysp #0, c2, c0, #1, x0, x1 +// CHECK-INST: sysp #0, c2, c0, #1, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482020 + +sysp #0, c7, c4, #0, x0, x1 +// CHECK-INST: sysp #0, c7, c4, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x74,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5487400 + +sysp #0, c13, c0, #3, x0, x1 +// CHECK-INST: sysp #0, c13, c0, #3, x0, x1 +// CHECK-ENCODING: encoding: [0x60,0xd0,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548d060 + +sysp #0, c13, c0, #6, x0, x1 +// CHECK-INST: sysp #0, c13, c0, #6, x0, x1 +// CHECK-ENCODING: encoding: [0xc0,0xd0,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548d0c0 + +sysp #4, c2, c0, #0, x0, x1 +// CHECK-INST: sysp #4, c2, c0, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c2000 + +sysp #4, c2, c0, #1, x0, x1 +// CHECK-INST: sysp #4, c2, c0, #1, x0, x1 +// CHECK-ENCODING: encoding: [0x20,0x20,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c2020 + +sysp #4, c2, c1, #0, x0, x1 +// CHECK-INST: sysp #4, c2, c1, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x21,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c2100 + +sysp #0, c2, c0, #0, x0, x1 +// CHECK-INST: sysp #0, c2, c0, #0, x0, x1 +// CHECK-ENCODING: encoding: [0x00,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482000 + +sysp #0, c2, c0, #0, x2, x3 +// CHECK-INST: sysp #0, c2, c0, #0, x2, x3 +// CHECK-ENCODING: encoding: [0x02,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482002 + +sysp #0, c2, c0, #0, x4, x5 +// CHECK-INST: sysp #0, c2, c0, #0, x4, x5 +// CHECK-ENCODING: encoding: [0x04,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482004 + +sysp #0, c2, c0, #0, x6, x7 +// CHECK-INST: sysp #0, c2, c0, #0, x6, x7 +// CHECK-ENCODING: encoding: [0x06,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482006 + +sysp #0, c2, c0, #0, x8, x9 +// CHECK-INST: sysp #0, c2, c0, #0, x8, x9 +// CHECK-ENCODING: encoding: [0x08,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482008 + +sysp #0, c2, c0, #0, x10, x11 +// CHECK-INST: sysp #0, c2, c0, #0, x10, x11 +// CHECK-ENCODING: encoding: [0x0a,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548200a + +sysp #0, c2, c0, #0, x12, x13 +// CHECK-INST: sysp #0, c2, c0, #0, x12, x13 +// CHECK-ENCODING: encoding: [0x0c,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548200c + +sysp #0, c2, c0, #0, x14, x15 +// CHECK-INST: sysp #0, c2, c0, #0, x14, x15 +// CHECK-ENCODING: encoding: [0x0e,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548200e + +sysp #0, c2, c0, #0, x16, x17 +// CHECK-INST: sysp #0, c2, c0, #0, x16, x17 +// CHECK-ENCODING: encoding: [0x10,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482010 + +sysp #0, c2, c0, #0, x18, x19 +// CHECK-INST: sysp #0, c2, c0, #0, x18, x19 +// CHECK-ENCODING: encoding: [0x12,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482012 + +sysp #0, c2, c0, #0, x20, x21 +// CHECK-INST: sysp #0, c2, c0, #0, x20, x21 +// CHECK-ENCODING: encoding: [0x14,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482014 + +sysp #0, c2, c0, #0, x22, x23 +// CHECK-INST: sysp #0, c2, c0, #0, x22, x23 +// CHECK-ENCODING: encoding: [0x16,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482016 + +sysp #0, c2, c0, #0, x24, x25 +// CHECK-INST: sysp #0, c2, c0, #0, x24, x25 +// CHECK-ENCODING: encoding: [0x18,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5482018 + +sysp #0, c2, c0, #0, x26, x27 +// CHECK-INST: sysp #0, c2, c0, #0, x26, x27 +// CHECK-ENCODING: encoding: [0x1a,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201a + +sysp #0, c2, c0, #0, x28, x29 +// CHECK-INST: sysp #0, c2, c0, #0, x28, x29 +// CHECK-ENCODING: encoding: [0x1c,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201c + +sysp #0, c2, c0, #0, x30, x31 +// CHECK-INST: sysp #0, c2, c0, #0, x30, xzr +// CHECK-ENCODING: encoding: [0x1e,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201e + + +sysp #0, c2, c0, #0, x31, x31 +// CHECK-INST: sysp #0, c2, c0, #0 +// CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201f + +sysp #0, c2, c0, #0, xzr, xzr +// CHECK-INST: sysp #0, c2, c0, #0 +// CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201f + +sysp #0, c2, c0, #0, x31, xzr +// CHECK-INST: sysp #0, c2, c0, #0 +// CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201f + +sysp #0, c2, c0, #0, xzr, x31 +// CHECK-INST: sysp #0, c2, c0, #0 +// CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201f + +sysp #0, c2, c0, #0 +// CHECK-INST: sysp #0, c2, c0, #0 +// CHECK-ENCODING: encoding: [0x1f,0x20,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d548201f + +tlbip IPAS2E1, x4, x5 +// CHECK-INST: tlbip ipas2e1, x4, x5 +// CHECK-ENCODING: encoding: [0x24,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c8424 + +tlbip IPAS2E1NXS, x4, x5 +// CHECK-INST: tlbip ipas2e1nxs, x4, x5 +// CHECK-ENCODING: encoding: [0x24,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c9424 + +tlbip IPAS2E1IS, x4, x5 +// CHECK-INST: tlbip ipas2e1is, x4, x5 +// CHECK-ENCODING: encoding: [0x24,0x80,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c8024 + +tlbip IPAS2E1ISNXS, x4, x5 +// CHECK-INST: tlbip ipas2e1isnxs, x4, x5 +// CHECK-ENCODING: encoding: [0x24,0x90,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c9024 + +tlbip IPAS2E1OS, x4, x5 +// CHECK-INST: tlbip ipas2e1os, x4, x5 +// CHECK-ENCODING: encoding: [0x04,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c8404 + +tlbip IPAS2E1OSNXS, x4, x5 +// CHECK-INST: tlbip ipas2e1osnxs, x4, x5 +// CHECK-ENCODING: encoding: [0x04,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c9404 + +tlbip IPAS2LE1, x4, x5 +// CHECK-INST: tlbip ipas2le1, x4, x5 +// CHECK-ENCODING: encoding: [0xa4,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c84a4 + +tlbip IPAS2LE1NXS, x4, x5 +// CHECK-INST: tlbip ipas2le1nxs, x4, x5 +// CHECK-ENCODING: encoding: [0xa4,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c94a4 + +tlbip IPAS2LE1IS, x4, x5 +// CHECK-INST: tlbip ipas2le1is, x4, x5 +// CHECK-ENCODING: encoding: [0xa4,0x80,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c80a4 + +tlbip IPAS2LE1ISNXS, x4, x5 +// CHECK-INST: tlbip ipas2le1isnxs, x4, x5 +// CHECK-ENCODING: encoding: [0xa4,0x90,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c90a4 + +tlbip IPAS2LE1OS, x4, x5 +// CHECK-INST: tlbip ipas2le1os, x4, x5 +// CHECK-ENCODING: encoding: [0x84,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c8484 + +tlbip IPAS2LE1OSNXS, x4, x5 +// CHECK-INST: tlbip ipas2le1osnxs, x4, x5 +// CHECK-ENCODING: encoding: [0x84,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c9484 + +tlbip VAE1, x8, x9 +// CHECK-INST: tlbip vae1, x8, x9 +// CHECK-ENCODING: encoding: [0x28,0x87,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488728 + +tlbip VAE1NXS, x8, x9 +// CHECK-INST: tlbip vae1nxs, x8, x9 +// CHECK-ENCODING: encoding: [0x28,0x97,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489728 + +tlbip VAE1IS, x8, x9 +// CHECK-INST: tlbip vae1is, x8, x9 +// CHECK-ENCODING: encoding: [0x28,0x83,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488328 + +tlbip VAE1ISNXS, x8, x9 +// CHECK-INST: tlbip vae1isnxs, x8, x9 +// CHECK-ENCODING: encoding: [0x28,0x93,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489328 + +tlbip VAE1OS, x8, x9 +// CHECK-INST: tlbip vae1os, x8, x9 +// CHECK-ENCODING: encoding: [0x28,0x81,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488128 + +tlbip VAE1OSNXS, x8, x9 +// CHECK-INST: tlbip vae1osnxs, x8, x9 +// CHECK-ENCODING: encoding: [0x28,0x91,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489128 + +tlbip VALE1, x8, x9 +// CHECK-INST: tlbip vale1, x8, x9 +// CHECK-ENCODING: encoding: [0xa8,0x87,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54887a8 + +tlbip VALE1NXS, x8, x9 +// CHECK-INST: tlbip vale1nxs, x8, x9 +// CHECK-ENCODING: encoding: [0xa8,0x97,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54897a8 + +tlbip VALE1IS, x8, x9 +// CHECK-INST: tlbip vale1is, x8, x9 +// CHECK-ENCODING: encoding: [0xa8,0x83,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54883a8 + +tlbip VALE1ISNXS, x8, x9 +// CHECK-INST: tlbip vale1isnxs, x8, x9 +// CHECK-ENCODING: encoding: [0xa8,0x93,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54893a8 + +tlbip VALE1OS, x8, x9 +// CHECK-INST: tlbip vale1os, x8, x9 +// CHECK-ENCODING: encoding: [0xa8,0x81,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54881a8 + +tlbip VALE1OSNXS, x8, x9 +// CHECK-INST: tlbip vale1osnxs, x8, x9 +// CHECK-ENCODING: encoding: [0xa8,0x91,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54891a8 + +tlbip VAAE1, x8, x9 +// CHECK-INST: tlbip vaae1, x8, x9 +// CHECK-ENCODING: encoding: [0x68,0x87,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488768 + +tlbip VAAE1NXS, x8, x9 +// CHECK-INST: tlbip vaae1nxs, x8, x9 +// CHECK-ENCODING: encoding: [0x68,0x97,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489768 + +tlbip VAAE1IS, x8, x9 +// CHECK-INST: tlbip vaae1is, x8, x9 +// CHECK-ENCODING: encoding: [0x68,0x83,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488368 + +tlbip VAAE1ISNXS, x8, x9 +// CHECK-INST: tlbip vaae1isnxs, x8, x9 +// CHECK-ENCODING: encoding: [0x68,0x93,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489368 + +tlbip VAAE1OS, x8, x9 +// CHECK-INST: tlbip vaae1os, x8, x9 +// CHECK-ENCODING: encoding: [0x68,0x81,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488168 + +tlbip VAAE1OSNXS, x8, x9 +// CHECK-INST: tlbip vaae1osnxs, x8, x9 +// CHECK-ENCODING: encoding: [0x68,0x91,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489168 + +tlbip VAALE1, x8, x9 +// CHECK-INST: tlbip vaale1, x8, x9 +// CHECK-ENCODING: encoding: [0xe8,0x87,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54887e8 + +tlbip VAALE1NXS, x8, x9 +// CHECK-INST: tlbip vaale1nxs, x8, x9 +// CHECK-ENCODING: encoding: [0xe8,0x97,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54897e8 + +tlbip VAALE1IS, x8, x9 +// CHECK-INST: tlbip vaale1is, x8, x9 +// CHECK-ENCODING: encoding: [0xe8,0x83,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54883e8 + +tlbip VAALE1ISNXS, x8, x9 +// CHECK-INST: tlbip vaale1isnxs, x8, x9 +// CHECK-ENCODING: encoding: [0xe8,0x93,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54893e8 + +tlbip VAALE1OS, x8, x9 +// CHECK-INST: tlbip vaale1os, x8, x9 +// CHECK-ENCODING: encoding: [0xe8,0x81,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54881e8 + +tlbip VAALE1OSNXS, x8, x9 +// CHECK-INST: tlbip vaale1osnxs, x8, x9 +// CHECK-ENCODING: encoding: [0xe8,0x91,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54891e8 + +tlbip VAE2, x14, x15 +// CHECK-INST: tlbip vae2, x14, x15 +// CHECK-ENCODING: encoding: [0x2e,0x87,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c872e + +tlbip VAE2NXS, x14, x15 +// CHECK-INST: tlbip vae2nxs, x14, x15 +// CHECK-ENCODING: encoding: [0x2e,0x97,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c972e + +tlbip VAE2IS, x14, x15 +// CHECK-INST: tlbip vae2is, x14, x15 +// CHECK-ENCODING: encoding: [0x2e,0x83,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c832e + +tlbip VAE2ISNXS, x14, x15 +// CHECK-INST: tlbip vae2isnxs, x14, x15 +// CHECK-ENCODING: encoding: [0x2e,0x93,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c932e + +tlbip VAE2OS, x14, x15 +// CHECK-INST: tlbip vae2os, x14, x15 +// CHECK-ENCODING: encoding: [0x2e,0x81,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c812e + +tlbip VAE2OSNXS, x14, x15 +// CHECK-INST: tlbip vae2osnxs, x14, x15 +// CHECK-ENCODING: encoding: [0x2e,0x91,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c912e + +tlbip VALE2, x14, x15 +// CHECK-INST: tlbip vale2, x14, x15 +// CHECK-ENCODING: encoding: [0xae,0x87,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c87ae + +tlbip VALE2NXS, x14, x15 +// CHECK-INST: tlbip vale2nxs, x14, x15 +// CHECK-ENCODING: encoding: [0xae,0x97,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c97ae + +tlbip VALE2IS, x14, x15 +// CHECK-INST: tlbip vale2is, x14, x15 +// CHECK-ENCODING: encoding: [0xae,0x83,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c83ae + +tlbip VALE2ISNXS, x14, x15 +// CHECK-INST: tlbip vale2isnxs, x14, x15 +// CHECK-ENCODING: encoding: [0xae,0x93,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c93ae + +tlbip VALE2OS, x14, x15 +// CHECK-INST: tlbip vale2os, x14, x15 +// CHECK-ENCODING: encoding: [0xae,0x81,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c81ae + +tlbip VALE2OSNXS, x14, x15 +// CHECK-INST: tlbip vale2osnxs, x14, x15 +// CHECK-ENCODING: encoding: [0xae,0x91,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c91ae + +tlbip VAE3, x24, x25 +// CHECK-INST: tlbip vae3, x24, x25 +// CHECK-ENCODING: encoding: [0x38,0x87,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e8738 + +tlbip VAE3NXS, x24, x25 +// CHECK-INST: tlbip vae3nxs, x24, x25 +// CHECK-ENCODING: encoding: [0x38,0x97,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e9738 + +tlbip VAE3IS, x24, x25 +// CHECK-INST: tlbip vae3is, x24, x25 +// CHECK-ENCODING: encoding: [0x38,0x83,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e8338 + +tlbip VAE3ISNXS, x24, x25 +// CHECK-INST: tlbip vae3isnxs, x24, x25 +// CHECK-ENCODING: encoding: [0x38,0x93,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e9338 + +tlbip VAE3OS, x24, x25 +// CHECK-INST: tlbip vae3os, x24, x25 +// CHECK-ENCODING: encoding: [0x38,0x81,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e8138 + +tlbip VAE3OSNXS, x24, x25 +// CHECK-INST: tlbip vae3osnxs, x24, x25 +// CHECK-ENCODING: encoding: [0x38,0x91,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e9138 + +tlbip VALE3, x24, x25 +// CHECK-INST: tlbip vale3, x24, x25 +// CHECK-ENCODING: encoding: [0xb8,0x87,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e87b8 + +tlbip VALE3NXS, x24, x25 +// CHECK-INST: tlbip vale3nxs, x24, x25 +// CHECK-ENCODING: encoding: [0xb8,0x97,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e97b8 + +tlbip VALE3IS, x24, x25 +// CHECK-INST: tlbip vale3is, x24, x25 +// CHECK-ENCODING: encoding: [0xb8,0x83,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e83b8 + +tlbip VALE3ISNXS, x24, x25 +// CHECK-INST: tlbip vale3isnxs, x24, x25 +// CHECK-ENCODING: encoding: [0xb8,0x93,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e93b8 + +tlbip VALE3OS, x24, x25 +// CHECK-INST: tlbip vale3os, x24, x25 +// CHECK-ENCODING: encoding: [0xb8,0x81,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e81b8 + +tlbip VALE3OSNXS, x24, x25 +// CHECK-INST: tlbip vale3osnxs, x24, x25 +// CHECK-ENCODING: encoding: [0xb8,0x91,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e91b8 + +tlbip RVAE1, x18, x19 +// CHECK-INST: tlbip rvae1, x18, x19 +// CHECK-ENCODING: encoding: [0x32,0x86,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488632 + +tlbip RVAE1NXS, x18, x19 +// CHECK-INST: tlbip rvae1nxs, x18, x19 +// CHECK-ENCODING: encoding: [0x32,0x96,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489632 + +tlbip RVAE1IS, x18, x19 +// CHECK-INST: tlbip rvae1is, x18, x19 +// CHECK-ENCODING: encoding: [0x32,0x82,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488232 + +tlbip RVAE1ISNXS, x18, x19 +// CHECK-INST: tlbip rvae1isnxs, x18, x19 +// CHECK-ENCODING: encoding: [0x32,0x92,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489232 + +tlbip RVAE1OS, x18, x19 +// CHECK-INST: tlbip rvae1os, x18, x19 +// CHECK-ENCODING: encoding: [0x32,0x85,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488532 + +tlbip RVAE1OSNXS, x18, x19 +// CHECK-INST: tlbip rvae1osnxs, x18, x19 +// CHECK-ENCODING: encoding: [0x32,0x95,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489532 + +tlbip RVAAE1, x18, x19 +// CHECK-INST: tlbip rvaae1, x18, x19 +// CHECK-ENCODING: encoding: [0x72,0x86,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488672 + +tlbip RVAAE1NXS, x18, x19 +// CHECK-INST: tlbip rvaae1nxs, x18, x19 +// CHECK-ENCODING: encoding: [0x72,0x96,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489672 + +tlbip RVAAE1IS, x18, x19 +// CHECK-INST: tlbip rvaae1is, x18, x19 +// CHECK-ENCODING: encoding: [0x72,0x82,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488272 + +tlbip RVAAE1ISNXS, x18, x19 +// CHECK-INST: tlbip rvaae1isnxs, x18, x19 +// CHECK-ENCODING: encoding: [0x72,0x92,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489272 + +tlbip RVAAE1OS, x18, x19 +// CHECK-INST: tlbip rvaae1os, x18, x19 +// CHECK-ENCODING: encoding: [0x72,0x85,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5488572 + +tlbip RVAAE1OSNXS, x18, x19 +// CHECK-INST: tlbip rvaae1osnxs, x18, x19 +// CHECK-ENCODING: encoding: [0x72,0x95,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d5489572 + +tlbip RVALE1, x18, x19 +// CHECK-INST: tlbip rvale1, x18, x19 +// CHECK-ENCODING: encoding: [0xb2,0x86,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54886b2 + +tlbip RVALE1NXS, x18, x19 +// CHECK-INST: tlbip rvale1nxs, x18, x19 +// CHECK-ENCODING: encoding: [0xb2,0x96,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54896b2 + +tlbip RVALE1IS, x18, x19 +// CHECK-INST: tlbip rvale1is, x18, x19 +// CHECK-ENCODING: encoding: [0xb2,0x82,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54882b2 + +tlbip RVALE1ISNXS, x18, x19 +// CHECK-INST: tlbip rvale1isnxs, x18, x19 +// CHECK-ENCODING: encoding: [0xb2,0x92,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54892b2 + +tlbip RVALE1OS, x18, x19 +// CHECK-INST: tlbip rvale1os, x18, x19 +// CHECK-ENCODING: encoding: [0xb2,0x85,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54885b2 + +tlbip RVALE1OSNXS, x18, x19 +// CHECK-INST: tlbip rvale1osnxs, x18, x19 +// CHECK-ENCODING: encoding: [0xb2,0x95,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54895b2 + +tlbip RVAALE1, x18, x19 +// CHECK-INST: tlbip rvaale1, x18, x19 +// CHECK-ENCODING: encoding: [0xf2,0x86,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54886f2 + +tlbip RVAALE1NXS, x18, x19 +// CHECK-INST: tlbip rvaale1nxs, x18, x19 +// CHECK-ENCODING: encoding: [0xf2,0x96,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54896f2 + +tlbip RVAALE1IS, x18, x19 +// CHECK-INST: tlbip rvaale1is, x18, x19 +// CHECK-ENCODING: encoding: [0xf2,0x82,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54882f2 + +tlbip RVAALE1ISNXS, x18, x19 +// CHECK-INST: tlbip rvaale1isnxs, x18, x19 +// CHECK-ENCODING: encoding: [0xf2,0x92,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54892f2 + +tlbip RVAALE1OS, x18, x19 +// CHECK-INST: tlbip rvaale1os, x18, x19 +// CHECK-ENCODING: encoding: [0xf2,0x85,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54885f2 + +tlbip RVAALE1OSNXS, x18, x19 +// CHECK-INST: tlbip rvaale1osnxs, x18, x19 +// CHECK-ENCODING: encoding: [0xf2,0x95,0x48,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54895f2 + +tlbip RVAE2, x28, x29 +// CHECK-INST: tlbip rvae2, x28, x29 +// CHECK-ENCODING: encoding: [0x3c,0x86,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c863c + +tlbip RVAE2NXS, x28, x29 +// CHECK-INST: tlbip rvae2nxs, x28, x29 +// CHECK-ENCODING: encoding: [0x3c,0x96,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c963c + +tlbip RVAE2IS, x28, x29 +// CHECK-INST: tlbip rvae2is, x28, x29 +// CHECK-ENCODING: encoding: [0x3c,0x82,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c823c + +tlbip RVAE2ISNXS, x28, x29 +// CHECK-INST: tlbip rvae2isnxs, x28, x29 +// CHECK-ENCODING: encoding: [0x3c,0x92,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c923c + +tlbip RVAE2OS, x28, x29 +// CHECK-INST: tlbip rvae2os, x28, x29 +// CHECK-ENCODING: encoding: [0x3c,0x85,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c853c + +tlbip RVAE2OSNXS, x28, x29 +// CHECK-INST: tlbip rvae2osnxs, x28, x29 +// CHECK-ENCODING: encoding: [0x3c,0x95,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c953c + +tlbip RVALE2, x28, x29 +// CHECK-INST: tlbip rvale2, x28, x29 +// CHECK-ENCODING: encoding: [0xbc,0x86,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c86bc + +tlbip RVALE2NXS, x28, x29 +// CHECK-INST: tlbip rvale2nxs, x28, x29 +// CHECK-ENCODING: encoding: [0xbc,0x96,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c96bc + +tlbip RVALE2IS, x28, x29 +// CHECK-INST: tlbip rvale2is, x28, x29 +// CHECK-ENCODING: encoding: [0xbc,0x82,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c82bc + +tlbip RVALE2ISNXS, x28, x29 +// CHECK-INST: tlbip rvale2isnxs, x28, x29 +// CHECK-ENCODING: encoding: [0xbc,0x92,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c92bc + +tlbip RVALE2OS, x28, x29 +// CHECK-INST: tlbip rvale2os, x28, x29 +// CHECK-ENCODING: encoding: [0xbc,0x85,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c85bc + +tlbip RVALE2OSNXS, x28, x29 +// CHECK-INST: tlbip rvale2osnxs, x28, x29 +// CHECK-ENCODING: encoding: [0xbc,0x95,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c95bc + +tlbip RVAE3, x10, x11 +// CHECK-INST: tlbip rvae3, x10, x11 +// CHECK-ENCODING: encoding: [0x2a,0x86,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e862a + +tlbip RVAE3NXS, x10, x11 +// CHECK-INST: tlbip rvae3nxs, x10, x11 +// CHECK-ENCODING: encoding: [0x2a,0x96,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e962a + +tlbip RVAE3IS, x10, x11 +// CHECK-INST: tlbip rvae3is, x10, x11 +// CHECK-ENCODING: encoding: [0x2a,0x82,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e822a + +tlbip RVAE3ISNXS, x10, x11 +// CHECK-INST: tlbip rvae3isnxs, x10, x11 +// CHECK-ENCODING: encoding: [0x2a,0x92,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e922a + +tlbip RVAE3OS, x10, x11 +// CHECK-INST: tlbip rvae3os, x10, x11 +// CHECK-ENCODING: encoding: [0x2a,0x85,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e852a + +tlbip RVAE3OSNXS, x10, x11 +// CHECK-INST: tlbip rvae3osnxs, x10, x11 +// CHECK-ENCODING: encoding: [0x2a,0x95,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e952a + +tlbip RVALE3, x10, x11 +// CHECK-INST: tlbip rvale3, x10, x11 +// CHECK-ENCODING: encoding: [0xaa,0x86,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e86aa + +tlbip RVALE3NXS, x10, x11 +// CHECK-INST: tlbip rvale3nxs, x10, x11 +// CHECK-ENCODING: encoding: [0xaa,0x96,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e96aa + +tlbip RVALE3IS, x10, x11 +// CHECK-INST: tlbip rvale3is, x10, x11 +// CHECK-ENCODING: encoding: [0xaa,0x82,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e82aa + +tlbip RVALE3ISNXS, x10, x11 +// CHECK-INST: tlbip rvale3isnxs, x10, x11 +// CHECK-ENCODING: encoding: [0xaa,0x92,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e92aa + +tlbip RVALE3OS, x10, x11 +// CHECK-INST: tlbip rvale3os, x10, x11 +// CHECK-ENCODING: encoding: [0xaa,0x85,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e85aa + +tlbip RVALE3OSNXS, x10, x11 +// CHECK-INST: tlbip rvale3osnxs, x10, x11 +// CHECK-ENCODING: encoding: [0xaa,0x95,0x4e,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54e95aa + +tlbip RIPAS2E1, x20, x21 +// CHECK-INST: tlbip ripas2e1, x20, x21 +// CHECK-ENCODING: encoding: [0x54,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c8454 + +tlbip RIPAS2E1NXS, x20, x21 +// CHECK-INST: tlbip ripas2e1nxs, x20, x21 +// CHECK-ENCODING: encoding: [0x54,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c9454 + +tlbip RIPAS2E1IS, x20, x21 +// CHECK-INST: tlbip ripas2e1is, x20, x21 +// CHECK-ENCODING: encoding: [0x54,0x80,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c8054 + +tlbip RIPAS2E1ISNXS, x20, x21 +// CHECK-INST: tlbip ripas2e1isnxs, x20, x21 +// CHECK-ENCODING: encoding: [0x54,0x90,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c9054 + +tlbip RIPAS2E1OS, x20, x21 +// CHECK-INST: tlbip ripas2e1os, x20, x21 +// CHECK-ENCODING: encoding: [0x74,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c8474 + +tlbip RIPAS2E1OSNXS, x20, x21 +// CHECK-INST: tlbip ripas2e1osnxs, x20, x21 +// CHECK-ENCODING: encoding: [0x74,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c9474 + +tlbip RIPAS2LE1, x20, x21 +// CHECK-INST: tlbip ripas2le1, x20, x21 +// CHECK-ENCODING: encoding: [0xd4,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c84d4 + +tlbip RIPAS2LE1NXS, x20, x21 +// CHECK-INST: tlbip ripas2le1nxs, x20, x21 +// CHECK-ENCODING: encoding: [0xd4,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c94d4 + +tlbip RIPAS2LE1IS, x20, x21 +// CHECK-INST: tlbip ripas2le1is, x20, x21 +// CHECK-ENCODING: encoding: [0xd4,0x80,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c80d4 + +tlbip RIPAS2LE1ISNXS, x20, x21 +// CHECK-INST: tlbip ripas2le1isnxs, x20, x21 +// CHECK-ENCODING: encoding: [0xd4,0x90,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c90d4 + +tlbip RIPAS2LE1OS, x20, x21 +// CHECK-INST: tlbip ripas2le1os, x20, x21 +// CHECK-ENCODING: encoding: [0xf4,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c84f4 + +tlbip RIPAS2LE1OSNXS, x20, x21 +// CHECK-INST: tlbip ripas2le1osnxs, x20, x21 +// CHECK-ENCODING: encoding: [0xf4,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c94f4 + +tlbip RIPAS2LE1OS, xzr, xzr +// CHECK-INST: tlbip ripas2le1os, xzr, xzr +// CHECK-ENCODING: encoding: [0xff,0x84,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c84ff + +tlbip RIPAS2LE1OSNXS, xzr, xzr +// CHECK-INST: tlbip ripas2le1osnxs, xzr, xzr +// CHECK-ENCODING: encoding: [0xff,0x94,0x4c,0xd5] +// CHECK-ERROR: error: instruction requires: d128 +// CHECK-UNKNOWN: d54c94ff diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.6a-fgt.txt b/llvm/test/MC/Disassembler/AArch64/armv8.6a-fgt.txt deleted file mode 100644 index 5b8d8170145fe..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv8.6a-fgt.txt +++ /dev/null @@ -1,75 +0,0 @@ -# RUN: llvm-mc -triple=aarch64 -mattr=+fgt -disassemble < %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOFGT - -[0x80,0x11,0x1c,0xd5] -[0xa0,0x11,0x1c,0xd5] -[0xc0,0x11,0x1c,0xd5] -[0x80,0x31,0x1c,0xd5] -[0xa0,0x31,0x1c,0xd5] -[0xc0,0x31,0x1c,0xd5] - -# CHECK: msr HFGRTR_EL2, x0 -# CHECK: msr HFGWTR_EL2, x0 -# CHECK: msr HFGITR_EL2, x0 -# CHECK: msr HDFGRTR_EL2, x0 -# CHECK: msr HDFGWTR_EL2, x0 -# CHECK: msr HAFGRTR_EL2, x0 -# NOFGT: msr S3_4_C1_C1_4, x0 -# NOFGT: msr S3_4_C1_C1_5, x0 -# NOFGT: msr S3_4_C1_C1_6, x0 -# NOFGT: msr S3_4_C3_C1_4, x0 -# NOFGT: msr S3_4_C3_C1_5, x0 -# NOFGT: msr S3_4_C3_C1_6, x0 - -[0x80,0x11,0x3c,0xd5] -[0xa0,0x11,0x3c,0xd5] -[0xc0,0x11,0x3c,0xd5] -[0x80,0x31,0x3c,0xd5] -[0xa0,0x31,0x3c,0xd5] -[0xc0,0x31,0x3c,0xd5] - -# CHECK: mrs x0, HFGRTR_EL2 -# CHECK: mrs x0, HFGWTR_EL2 -# CHECK: mrs x0, HFGITR_EL2 -# CHECK: mrs x0, HDFGRTR_EL2 -# CHECK: mrs x0, HDFGWTR_EL2 -# CHECK: mrs x0, HAFGRTR_EL2 -# NOFGT: mrs x0, S3_4_C1_C1_4 -# NOFGT: mrs x0, S3_4_C1_C1_5 -# NOFGT: mrs x0, S3_4_C1_C1_6 -# NOFGT: mrs x0, S3_4_C3_C1_4 -# NOFGT: mrs x0, S3_4_C3_C1_5 -# NOFGT: mrs x0, S3_4_C3_C1_6 - -[0x03,0x31,0x3c,0xd5] -[0x23,0x31,0x3c,0xd5] -[0x43,0x31,0x3c,0xd5] -[0x63,0x31,0x3c,0xd5] -[0xe3,0x31,0x3c,0xd5] -# CHECK: mrs x3, HDFGRTR2_EL2 -# CHECK: mrs x3, HDFGWTR2_EL2 -# CHECK: mrs x3, HFGRTR2_EL2 -# CHECK: mrs x3, HFGWTR2_EL2 -# CHECK: mrs x3, HFGITR2_EL2 -# NOFGT: mrs x3, S3_4_C3_C1_0 -# NOFGT: mrs x3, S3_4_C3_C1_1 -# NOFGT: mrs x3, S3_4_C3_C1_2 -# NOFGT: mrs x3, S3_4_C3_C1_3 -# NOFGT: mrs x3, S3_4_C3_C1_7 - - -[0x03,0x31,0x1c,0xd5] -[0x23,0x31,0x1c,0xd5] -[0x43,0x31,0x1c,0xd5] -[0x63,0x31,0x1c,0xd5] -[0xe3,0x31,0x1c,0xd5] -# CHECK: msr HDFGRTR2_EL2, x3 -# CHECK: msr HDFGWTR2_EL2, x3 -# CHECK: msr HFGRTR2_EL2, x3 -# CHECK: msr HFGWTR2_EL2, x3 -# CHECK: msr HFGITR2_EL2, x3 -# NOFGT: msr S3_4_C3_C1_0, x3 -# NOFGT: msr S3_4_C3_C1_1, x3 -# NOFGT: msr S3_4_C3_C1_2, x3 -# NOFGT: msr S3_4_C3_C1_3, x3 -# NOFGT: msr S3_4_C3_C1_7, x3 diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.8a-mops.txt b/llvm/test/MC/Disassembler/AArch64/armv8.8a-mops.txt deleted file mode 100644 index de7121c3b3972..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv8.8a-mops.txt +++ /dev/null @@ -1,434 +0,0 @@ -# RUN: not llvm-mc -triple aarch64 -mattr=+mops,+mte -disassemble < %s 2> %t | FileCheck %s --check-prefixes=CHECK-MOPS,CHECK-MTE -# RUN: FileCheck %s --check-prefix=CHECK-INVALID < %t -# RUN: not llvm-mc -triple aarch64 -mattr=+v8.8a,+mte -disassemble < %s 2> %t | FileCheck %s --check-prefixes=CHECK-MOPS,CHECK-MTE -# RUN: FileCheck %s --check-prefix=CHECK-INVALID < %t -# RUN: not llvm-mc -triple aarch64 -mattr=+mops -disassemble < %s 2> %t | FileCheck %s --check-prefix=CHECK-MOPS -# RUN: FileCheck %s --check-prefixes=CHECK-INVALID,CHECK-NO-MTE < %t -# RUN: not llvm-mc -triple aarch64 -mattr=+v8.8a -disassemble < %s 2> %t | FileCheck %s --check-prefix=CHECK-MOPS -# RUN: FileCheck %s --check-prefixes=CHECK-INVALID,CHECK-NO-MTE < %t -# RUN: not llvm-mc -triple aarch64 -disassemble < %s 2> %t -# RUN: FileCheck %s --check-prefixes=CHECK-INVALID,CHECK-NO-MOPS,CHECK-NO-MTE < %t - - -[0x40,0x04,0x01,0x19] -[0x40,0x44,0x01,0x19] -[0x40,0x84,0x01,0x19] -[0x40,0xc4,0x01,0x19] -[0x40,0x14,0x01,0x19] -[0x40,0x54,0x01,0x19] -[0x40,0x94,0x01,0x19] -[0x40,0xd4,0x01,0x19] -[0x40,0x24,0x01,0x19] -[0x40,0x64,0x01,0x19] -[0x40,0xa4,0x01,0x19] -[0x40,0xe4,0x01,0x19] -[0x40,0x34,0x01,0x19] -[0x40,0x74,0x01,0x19] -[0x40,0xb4,0x01,0x19] -[0x40,0xf4,0x01,0x19] -# CHECK-MOPS: cpyfp [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfpwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfprn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfpn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfpwt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfpwtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfpwtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfpwtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfprt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfprtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfprtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfprtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfpt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfptwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfptrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfptn [x0]!, [x1]!, x2! -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x40,0x04,0x41,0x19] -[0x40,0x44,0x41,0x19] -[0x40,0x84,0x41,0x19] -[0x40,0xc4,0x41,0x19] -[0x40,0x14,0x41,0x19] -[0x40,0x54,0x41,0x19] -[0x40,0x94,0x41,0x19] -[0x40,0xd4,0x41,0x19] -[0x40,0x24,0x41,0x19] -[0x40,0x64,0x41,0x19] -[0x40,0xa4,0x41,0x19] -[0x40,0xe4,0x41,0x19] -[0x40,0x34,0x41,0x19] -[0x40,0x74,0x41,0x19] -[0x40,0xb4,0x41,0x19] -[0x40,0xf4,0x41,0x19] -# CHECK-MOPS: cpyfm [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmwt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmwtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmwtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmwtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmrt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmrtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmrtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmrtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfmtn [x0]!, [x1]!, x2! -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x40,0x04,0x81,0x19] -[0x40,0x44,0x81,0x19] -[0x40,0x84,0x81,0x19] -[0x40,0xc4,0x81,0x19] -[0x40,0x14,0x81,0x19] -[0x40,0x54,0x81,0x19] -[0x40,0x94,0x81,0x19] -[0x40,0xd4,0x81,0x19] -[0x40,0x24,0x81,0x19] -[0x40,0x64,0x81,0x19] -[0x40,0xa4,0x81,0x19] -[0x40,0xe4,0x81,0x19] -[0x40,0x34,0x81,0x19] -[0x40,0x74,0x81,0x19] -[0x40,0xb4,0x81,0x19] -[0x40,0xf4,0x81,0x19] -# CHECK-MOPS: cpyfe [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfewn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfern [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfen [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfewt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfewtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfewtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfewtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfert [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfertwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfertrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfertn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfet [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfetwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfetrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyfetn [x0]!, [x1]!, x2! -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x40,0x04,0x01,0x1d] -[0x40,0x44,0x01,0x1d] -[0x40,0x84,0x01,0x1d] -[0x40,0xc4,0x01,0x1d] -[0x40,0x14,0x01,0x1d] -[0x40,0x54,0x01,0x1d] -[0x40,0x94,0x01,0x1d] -[0x40,0xd4,0x01,0x1d] -[0x40,0x24,0x01,0x1d] -[0x40,0x64,0x01,0x1d] -[0x40,0xa4,0x01,0x1d] -[0x40,0xe4,0x01,0x1d] -[0x40,0x34,0x01,0x1d] -[0x40,0x74,0x01,0x1d] -[0x40,0xb4,0x01,0x1d] -[0x40,0xf4,0x01,0x1d] -# CHECK-MOPS: cpyp [x0]!, [x1]!, x2! -# CHECK-MOPS: cpypwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyprn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpypn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpypwt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpypwtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpypwtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpypwtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyprt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyprtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyprtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyprtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpypt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyptwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyptrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyptn [x0]!, [x1]!, x2! -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x40,0x04,0x41,0x1d] -[0x40,0x44,0x41,0x1d] -[0x40,0x84,0x41,0x1d] -[0x40,0xc4,0x41,0x1d] -[0x40,0x14,0x41,0x1d] -[0x40,0x54,0x41,0x1d] -[0x40,0x94,0x41,0x1d] -[0x40,0xd4,0x41,0x1d] -[0x40,0x24,0x41,0x1d] -[0x40,0x64,0x41,0x1d] -[0x40,0xa4,0x41,0x1d] -[0x40,0xe4,0x41,0x1d] -[0x40,0x34,0x41,0x1d] -[0x40,0x74,0x41,0x1d] -[0x40,0xb4,0x41,0x1d] -[0x40,0xf4,0x41,0x1d] -# CHECK-MOPS: cpym [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymwt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymwtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymwtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymwtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymrt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymrtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymrtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymrtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpymtn [x0]!, [x1]!, x2! -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x40,0x04,0x81,0x1d] -[0x40,0x44,0x81,0x1d] -[0x40,0x84,0x81,0x1d] -[0x40,0xc4,0x81,0x1d] -[0x40,0x14,0x81,0x1d] -[0x40,0x54,0x81,0x1d] -[0x40,0x94,0x81,0x1d] -[0x40,0xd4,0x81,0x1d] -[0x40,0x24,0x81,0x1d] -[0x40,0x64,0x81,0x1d] -[0x40,0xa4,0x81,0x1d] -[0x40,0xe4,0x81,0x1d] -[0x40,0x34,0x81,0x1d] -[0x40,0x74,0x81,0x1d] -[0x40,0xb4,0x81,0x1d] -[0x40,0xf4,0x81,0x1d] -# CHECK-MOPS: cpye [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyewn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyern [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyen [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyewt [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyewtwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyewtrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyewtn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyert [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyertwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyertrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyertn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyet [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyetwn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyetrn [x0]!, [x1]!, x2! -# CHECK-MOPS: cpyetn [x0]!, [x1]!, x2! -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x20,0x04,0xc2,0x19] -[0x20,0x14,0xc2,0x19] -[0x20,0x24,0xc2,0x19] -[0x20,0x34,0xc2,0x19] -# CHECK-MOPS: setp [x0]!, x1!, x2 -# CHECK-MOPS: setpt [x0]!, x1!, x2 -# CHECK-MOPS: setpn [x0]!, x1!, x2 -# CHECK-MOPS: setptn [x0]!, x1!, x2 -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x20,0x44,0xc2,0x19] -[0x20,0x54,0xc2,0x19] -[0x20,0x64,0xc2,0x19] -[0x20,0x74,0xc2,0x19] -# CHECK-MOPS: setm [x0]!, x1!, x2 -# CHECK-MOPS: setmt [x0]!, x1!, x2 -# CHECK-MOPS: setmn [x0]!, x1!, x2 -# CHECK-MOPS: setmtn [x0]!, x1!, x2 -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x20,0x84,0xc2,0x19] -[0x20,0x94,0xc2,0x19] -[0x20,0xa4,0xc2,0x19] -[0x20,0xb4,0xc2,0x19] -# CHECK-MOPS: sete [x0]!, x1!, x2 -# CHECK-MOPS: setet [x0]!, x1!, x2 -# CHECK-MOPS: seten [x0]!, x1!, x2 -# CHECK-MOPS: setetn [x0]!, x1!, x2 -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding -# CHECK-NO-MOPS: warning: invalid instruction encoding - -[0x20,0x04,0xc2,0x1d] -[0x20,0x14,0xc2,0x1d] -[0x20,0x24,0xc2,0x1d] -[0x20,0x34,0xc2,0x1d] -# CHECK-MTE: setgp [x0]!, x1!, x2 -# CHECK-MTE: setgpt [x0]!, x1!, x2 -# CHECK-MTE: setgpn [x0]!, x1!, x2 -# CHECK-MTE: setgptn [x0]!, x1!, x2 -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding - -[0x20,0x44,0xc2,0x1d] -[0x20,0x54,0xc2,0x1d] -[0x20,0x64,0xc2,0x1d] -[0x20,0x74,0xc2,0x1d] -# CHECK-MTE: setgm [x0]!, x1!, x2 -# CHECK-MTE: setgmt [x0]!, x1!, x2 -# CHECK-MTE: setgmn [x0]!, x1!, x2 -# CHECK-MTE: setgmtn [x0]!, x1!, x2 -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding - -[0x20,0x84,0xc2,0x1d] -[0x20,0x94,0xc2,0x1d] -[0x20,0xa4,0xc2,0x1d] -[0x20,0xb4,0xc2,0x1d] -# CHECK-MTE: setge [x0]!, x1!, x2 -# CHECK-MTE: setget [x0]!, x1!, x2 -# CHECK-MTE: setgen [x0]!, x1!, x2 -# CHECK-MTE: setgetn [x0]!, x1!, x2 -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding -# CHECK-NO-MTE: warning: invalid instruction encoding - - -# Register number 31 (SP or XZR) is not allowed in address positions. -# cpyfp -[0x5f,0x04,0x01,0x19] -[0x40,0x04,0x1f,0x19] -# cpyfm -[0x5f,0x04,0x41,0x19] -[0x40,0x04,0x5f,0x19] -# cpyfe -[0x5f,0x04,0x81,0x19] -[0x40,0x04,0x9f,0x19] -# cpyp -[0x5f,0x04,0x01,0x1d] -[0x40,0x04,0x1f,0x1d] -# cpym -[0x5f,0x04,0x41,0x1d] -[0x40,0x04,0x5f,0x1d] -# cpye -[0x5f,0x04,0x81,0x1d] -[0x40,0x04,0x9f,0x1d] -# setp -[0x5f,0x04,0xc2,0x19] -# setm -[0x5f,0x44,0xc2,0x19] -# sete -[0x5f,0x84,0xc2,0x19] -# setgp -[0x5f,0x04,0xc2,0x1d] -# setgm -[0x5f,0x44,0xc2,0x1d] -# setge -[0x5f,0x84,0xc2,0x1d] -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding -# CHECK-INVALID: warning: invalid instruction encoding diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-clrbhb.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-clrbhb.txt deleted file mode 100644 index f8c7e9fa1a15a..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-clrbhb.txt +++ /dev/null @@ -1,16 +0,0 @@ -# CLRBHB is optional for all v8a/v9a, mandatory for 8.9a/9.4a. -# Should disassemble to hint #22 if the feature is not present. -# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a,-clrbhb %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a,-clrbhb %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+clrbhb %s | FileCheck %s --check-prefix=CLRBHB -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a,+clrbhb %s | FileCheck %s --check-prefix=CLRBHB -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a %s | FileCheck %s --check-prefix=CLRBHB -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a,+clrbhb %s | FileCheck %s --check-prefix=CLRBHB -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a %s | FileCheck %s --check-prefix=CLRBHB - -[0xdf,0x22,0x03,0xd5] -# CLRBHB: clrbhb -# HINT_22: hint #22 diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-debug-pmu.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-debug-pmu.txt deleted file mode 100644 index ff898fec0c92f..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-debug-pmu.txt +++ /dev/null @@ -1,730 +0,0 @@ -# RUN: llvm-mc -triple=aarch64 -mattr=+ite -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v8.8a -mattr=+ite -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v9.3a -mattr=+ite -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a -mattr=+ite -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a -mattr=+ite -disassemble %s | FileCheck %s - -# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE -# RUN: llvm-mc -triple=aarch64 -mattr=+v8.8a -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE -# RUN: llvm-mc -triple=aarch64 -mattr=+v9.3a -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE -# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE -# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE - -[0x83,0x00,0x30,0xd5] -# CHECK: mrs x3, DBGBVR0_EL1 -[0x81,0x00,0x10,0xd5] -# CHECK: msr DBGBVR0_EL1, x1 -[0x83,0x01,0x30,0xd5] -# CHECK: mrs x3, DBGBVR1_EL1 -[0x81,0x01,0x10,0xd5] -# CHECK: msr DBGBVR1_EL1, x1 -[0x83,0x02,0x30,0xd5] -# CHECK: mrs x3, DBGBVR2_EL1 -[0x81,0x02,0x10,0xd5] -# CHECK: msr DBGBVR2_EL1, x1 -[0x83,0x03,0x30,0xd5] -# CHECK: mrs x3, DBGBVR3_EL1 -[0x81,0x03,0x10,0xd5] -# CHECK: msr DBGBVR3_EL1, x1 -[0x83,0x04,0x30,0xd5] -# CHECK: mrs x3, DBGBVR4_EL1 -[0x81,0x04,0x10,0xd5] -# CHECK: msr DBGBVR4_EL1, x1 -[0x83,0x05,0x30,0xd5] -# CHECK: mrs x3, DBGBVR5_EL1 -[0x81,0x05,0x10,0xd5] -# CHECK: msr DBGBVR5_EL1, x1 -[0x83,0x06,0x30,0xd5] -# CHECK: mrs x3, DBGBVR6_EL1 -[0x81,0x06,0x10,0xd5] -# CHECK: msr DBGBVR6_EL1, x1 -[0x83,0x07,0x30,0xd5] -# CHECK: mrs x3, DBGBVR7_EL1 -[0x81,0x07,0x10,0xd5] -# CHECK: msr DBGBVR7_EL1, x1 -[0x83,0x08,0x30,0xd5] -# CHECK: mrs x3, DBGBVR8_EL1 -[0x81,0x08,0x10,0xd5] -# CHECK: msr DBGBVR8_EL1, x1 -[0x83,0x09,0x30,0xd5] -# CHECK: mrs x3, DBGBVR9_EL1 -[0x81,0x09,0x10,0xd5] -# CHECK: msr DBGBVR9_EL1, x1 -[0x83,0x0a,0x30,0xd5] -# CHECK: mrs x3, DBGBVR10_EL1 -[0x81,0x0a,0x10,0xd5] -# CHECK: msr DBGBVR10_EL1, x1 -[0x83,0x0b,0x30,0xd5] -# CHECK: mrs x3, DBGBVR11_EL1 -[0x81,0x0b,0x10,0xd5] -# CHECK: msr DBGBVR11_EL1, x1 -[0x83,0x0c,0x30,0xd5] -# CHECK: mrs x3, DBGBVR12_EL1 -[0x81,0x0c,0x10,0xd5] -# CHECK: msr DBGBVR12_EL1, x1 -[0x83,0x0d,0x30,0xd5] -# CHECK: mrs x3, DBGBVR13_EL1 -[0x81,0x0d,0x10,0xd5] -# CHECK: msr DBGBVR13_EL1, x1 -[0x83,0x0e,0x30,0xd5] -# CHECK: mrs x3, DBGBVR14_EL1 -[0x81,0x0e,0x10,0xd5] -# CHECK: msr DBGBVR14_EL1, x1 -[0x83,0x0f,0x30,0xd5] -# CHECK: mrs x3, DBGBVR15_EL1 -[0x81,0x0f,0x10,0xd5] -# CHECK: msr DBGBVR15_EL1, x1 - -[0xa3,0x00,0x30,0xd5] -# CHECK: mrs x3, DBGBCR0_EL1 -[0xa1,0x00,0x10,0xd5] -# CHECK: msr DBGBCR0_EL1, x1 -[0xa3,0x01,0x30,0xd5] -# CHECK: mrs x3, DBGBCR1_EL1 -[0xa1,0x01,0x10,0xd5] -# CHECK: msr DBGBCR1_EL1, x1 -[0xa3,0x02,0x30,0xd5] -# CHECK: mrs x3, DBGBCR2_EL1 -[0xa1,0x02,0x10,0xd5] -# CHECK: msr DBGBCR2_EL1, x1 -[0xa3,0x03,0x30,0xd5] -# CHECK: mrs x3, DBGBCR3_EL1 -[0xa1,0x03,0x10,0xd5] -# CHECK: msr DBGBCR3_EL1, x1 -[0xa3,0x04,0x30,0xd5] -# CHECK: mrs x3, DBGBCR4_EL1 -[0xa1,0x04,0x10,0xd5] -# CHECK: msr DBGBCR4_EL1, x1 -[0xa3,0x05,0x30,0xd5] -# CHECK: mrs x3, DBGBCR5_EL1 -[0xa1,0x05,0x10,0xd5] -# CHECK: msr DBGBCR5_EL1, x1 -[0xa3,0x06,0x30,0xd5] -# CHECK: mrs x3, DBGBCR6_EL1 -[0xa1,0x06,0x10,0xd5] -# CHECK: msr DBGBCR6_EL1, x1 -[0xa3,0x07,0x30,0xd5] -# CHECK: mrs x3, DBGBCR7_EL1 -[0xa1,0x07,0x10,0xd5] -# CHECK: msr DBGBCR7_EL1, x1 -[0xa3,0x08,0x30,0xd5] -# CHECK: mrs x3, DBGBCR8_EL1 -[0xa1,0x08,0x10,0xd5] -# CHECK: msr DBGBCR8_EL1, x1 -[0xa3,0x09,0x30,0xd5] -# CHECK: mrs x3, DBGBCR9_EL1 -[0xa1,0x09,0x10,0xd5] -# CHECK: msr DBGBCR9_EL1, x1 -[0xa3,0x0a,0x30,0xd5] -# CHECK: mrs x3, DBGBCR10_EL1 -[0xa1,0x0a,0x10,0xd5] -# CHECK: msr DBGBCR10_EL1, x1 -[0xa3,0x0b,0x30,0xd5] -# CHECK: mrs x3, DBGBCR11_EL1 -[0xa1,0x0b,0x10,0xd5] -# CHECK: msr DBGBCR11_EL1, x1 -[0xa3,0x0c,0x30,0xd5] -# CHECK: mrs x3, DBGBCR12_EL1 -[0xa1,0x0c,0x10,0xd5] -# CHECK: msr DBGBCR12_EL1, x1 -[0xa3,0x0d,0x30,0xd5] -# CHECK: mrs x3, DBGBCR13_EL1 -[0xa1,0x0d,0x10,0xd5] -# CHECK: msr DBGBCR13_EL1, x1 -[0xa3,0x0e,0x30,0xd5] -# CHECK: mrs x3, DBGBCR14_EL1 -[0xa1,0x0e,0x10,0xd5] -# CHECK: msr DBGBCR14_EL1, x1 -[0xa3,0x0f,0x30,0xd5] -# CHECK: mrs x3, DBGBCR15_EL1 -[0xa1,0x0f,0x10,0xd5] -# CHECK: msr DBGBCR15_EL1, x1 - -[0xc3,0x00,0x30,0xd5] -# CHECK: mrs x3, DBGWVR0_EL1 -[0xc1,0x00,0x10,0xd5] -# CHECK: msr DBGWVR0_EL1, x1 -[0xc3,0x01,0x30,0xd5] -# CHECK: mrs x3, DBGWVR1_EL1 -[0xc1,0x01,0x10,0xd5] -# CHECK: msr DBGWVR1_EL1, x1 -[0xc3,0x02,0x30,0xd5] -# CHECK: mrs x3, DBGWVR2_EL1 -[0xc1,0x02,0x10,0xd5] -# CHECK: msr DBGWVR2_EL1, x1 -[0xc3,0x03,0x30,0xd5] -# CHECK: mrs x3, DBGWVR3_EL1 -[0xc1,0x03,0x10,0xd5] -# CHECK: msr DBGWVR3_EL1, x1 -[0xc3,0x04,0x30,0xd5] -# CHECK: mrs x3, DBGWVR4_EL1 -[0xc1,0x04,0x10,0xd5] -# CHECK: msr DBGWVR4_EL1, x1 -[0xc3,0x05,0x30,0xd5] -# CHECK: mrs x3, DBGWVR5_EL1 -[0xc1,0x05,0x10,0xd5] -# CHECK: msr DBGWVR5_EL1, x1 -[0xc3,0x06,0x30,0xd5] -# CHECK: mrs x3, DBGWVR6_EL1 -[0xc1,0x06,0x10,0xd5] -# CHECK: msr DBGWVR6_EL1, x1 -[0xc3,0x07,0x30,0xd5] -# CHECK: mrs x3, DBGWVR7_EL1 -[0xc1,0x07,0x10,0xd5] -# CHECK: msr DBGWVR7_EL1, x1 -[0xc3,0x08,0x30,0xd5] -# CHECK: mrs x3, DBGWVR8_EL1 -[0xc1,0x08,0x10,0xd5] -# CHECK: msr DBGWVR8_EL1, x1 -[0xc3,0x09,0x30,0xd5] -# CHECK: mrs x3, DBGWVR9_EL1 -[0xc1,0x09,0x10,0xd5] -# CHECK: msr DBGWVR9_EL1, x1 -[0xc3,0x0a,0x30,0xd5] -# CHECK: mrs x3, DBGWVR10_EL1 -[0xc1,0x0a,0x10,0xd5] -# CHECK: msr DBGWVR10_EL1, x1 -[0xc3,0x0b,0x30,0xd5] -# CHECK: mrs x3, DBGWVR11_EL1 -[0xc1,0x0b,0x10,0xd5] -# CHECK: msr DBGWVR11_EL1, x1 -[0xc3,0x0c,0x30,0xd5] -# CHECK: mrs x3, DBGWVR12_EL1 -[0xc1,0x0c,0x10,0xd5] -# CHECK: msr DBGWVR12_EL1, x1 -[0xc3,0x0d,0x30,0xd5] -# CHECK: mrs x3, DBGWVR13_EL1 -[0xc1,0x0d,0x10,0xd5] -# CHECK: msr DBGWVR13_EL1, x1 -[0xc3,0x0e,0x30,0xd5] -# CHECK: mrs x3, DBGWVR14_EL1 -[0xc1,0x0e,0x10,0xd5] -# CHECK: msr DBGWVR14_EL1, x1 -[0xc3,0x0f,0x30,0xd5] -# CHECK: mrs x3, DBGWVR15_EL1 -[0xc1,0x0f,0x10,0xd5] -# CHECK: msr DBGWVR15_EL1, x1 - -[0xe3,0x00,0x30,0xd5] -# CHECK: mrs x3, DBGWCR0_EL1 -[0xe1,0x00,0x10,0xd5] -# CHECK: msr DBGWCR0_EL1, x1 -[0xe3,0x01,0x30,0xd5] -# CHECK: mrs x3, DBGWCR1_EL1 -[0xe1,0x01,0x10,0xd5] -# CHECK: msr DBGWCR1_EL1, x1 -[0xe3,0x02,0x30,0xd5] -# CHECK: mrs x3, DBGWCR2_EL1 -[0xe1,0x02,0x10,0xd5] -# CHECK: msr DBGWCR2_EL1, x1 -[0xe3,0x03,0x30,0xd5] -# CHECK: mrs x3, DBGWCR3_EL1 -[0xe1,0x03,0x10,0xd5] -# CHECK: msr DBGWCR3_EL1, x1 -[0xe3,0x04,0x30,0xd5] -# CHECK: mrs x3, DBGWCR4_EL1 -[0xe1,0x04,0x10,0xd5] -# CHECK: msr DBGWCR4_EL1, x1 -[0xe3,0x05,0x30,0xd5] -# CHECK: mrs x3, DBGWCR5_EL1 -[0xe1,0x05,0x10,0xd5] -# CHECK: msr DBGWCR5_EL1, x1 -[0xe3,0x06,0x30,0xd5] -# CHECK: mrs x3, DBGWCR6_EL1 -[0xe1,0x06,0x10,0xd5] -# CHECK: msr DBGWCR6_EL1, x1 -[0xe3,0x07,0x30,0xd5] -# CHECK: mrs x3, DBGWCR7_EL1 -[0xe1,0x07,0x10,0xd5] -# CHECK: msr DBGWCR7_EL1, x1 -[0xe3,0x08,0x30,0xd5] -# CHECK: mrs x3, DBGWCR8_EL1 -[0xe1,0x08,0x10,0xd5] -# CHECK: msr DBGWCR8_EL1, x1 -[0xe3,0x09,0x30,0xd5] -# CHECK: mrs x3, DBGWCR9_EL1 -[0xe1,0x09,0x10,0xd5] -# CHECK: msr DBGWCR9_EL1, x1 -[0xe3,0x0a,0x30,0xd5] -# CHECK: mrs x3, DBGWCR10_EL1 -[0xe1,0x0a,0x10,0xd5] -# CHECK: msr DBGWCR10_EL1, x1 -[0xe3,0x0b,0x30,0xd5] -# CHECK: mrs x3, DBGWCR11_EL1 -[0xe1,0x0b,0x10,0xd5] -# CHECK: msr DBGWCR11_EL1, x1 -[0xe3,0x0c,0x30,0xd5] -# CHECK: mrs x3, DBGWCR12_EL1 -[0xe1,0x0c,0x10,0xd5] -# CHECK: msr DBGWCR12_EL1, x1 -[0xe3,0x0d,0x30,0xd5] -# CHECK: mrs x3, DBGWCR13_EL1 -[0xe1,0x0d,0x10,0xd5] -# CHECK: msr DBGWCR13_EL1, x1 -[0xe3,0x0e,0x30,0xd5] -# CHECK: mrs x3, DBGWCR14_EL1 -[0xe1,0x0e,0x10,0xd5] -# CHECK: msr DBGWCR14_EL1, x1 -[0xe3,0x0f,0x30,0xd5] -# CHECK: mrs x3, DBGWCR15_EL1 -[0xe1,0x0f,0x10,0xd5] -# CHECK: msr DBGWCR15_EL1, x1 - -[0x43,0x04,0x30,0xd5] -# CHECK: mrs x3, MDSELR_EL1 -[0x41,0x04,0x10,0xd5] -# CHECK: msr MDSELR_EL1, x1 - -[0x83,0x9e,0x38,0xd5] -# CHECK: mrs x3, PMUACR_EL1 -[0x81,0x9e,0x18,0xd5] -# CHECK: msr PMUACR_EL1, x1 - -[0xe3,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMCCNTSVR_EL1 -[0x03,0xec,0x30,0xd5] -# CHECK: mrs x3, PMICNTSVR_EL1 -[0x63,0x9d,0x38,0xd5] -# CHECK: mrs x3, PMSSCR_EL1 -[0x61,0x9d,0x18,0xd5] -# CHECK: msr PMSSCR_EL1, x1 -[0x03,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR0_EL1 -[0x23,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR1_EL1 -[0x43,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR2_EL1 -[0x63,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR3_EL1 -[0x83,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR4_EL1 -[0xa3,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR5_EL1 -[0xc3,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR6_EL1 -[0xe3,0xe8,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR7_EL1 -[0x03,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR8_EL1 -[0x23,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR9_EL1 -[0x43,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR10_EL1 -[0x63,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR11_EL1 -[0x83,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR12_EL1 -[0xa3,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR13_EL1 -[0xc3,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR14_EL1 -[0xe3,0xe9,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR15_EL1 -[0x03,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR16_EL1 -[0x23,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR17_EL1 -[0x43,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR18_EL1 -[0x63,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR19_EL1 -[0x83,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR20_EL1 -[0xa3,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR21_EL1 -[0xc3,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR22_EL1 -[0xe3,0xea,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR23_EL1 -[0x03,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR24_EL1 -[0x23,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR25_EL1 -[0x43,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR26_EL1 -[0x63,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR27_EL1 -[0x83,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR28_EL1 -[0xa3,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR29_EL1 -[0xc3,0xeb,0x30,0xd5] -# CHECK: mrs x3, PMEVCNTSVR30_EL1 - -[0x03,0x94,0x3b,0xd5] -# CHECK: mrs x3, PMICNTR_EL0 -[0x03,0x94,0x1b,0xd5] -# CHECK: msr PMICNTR_EL0, x3 -[0x03,0x96,0x3b,0xd5] -# CHECK: mrs x3, PMICFILTR_EL0 -[0x03,0x96,0x1b,0xd5] -# CHECK: msr PMICFILTR_EL0, x3 - -[0x83,0x9d,0x1b,0xd5] -# CHECK: msr PMZR_EL0, x3 - -[0xa3,0x9e,0x38,0xd5] -# CHECK: mrs x3, PMECR_EL1 -[0xa1,0x9e,0x18,0xd5] -# CHECK: msr PMECR_EL1, x1 -[0xe3,0x9e,0x38,0xd5] -# CHECK: mrs x3, PMIAR_EL1 -[0xe1,0x9e,0x18,0xd5] -# CHECK: msr PMIAR_EL1, x1 - -[0x63,0x9d,0x30,0xd5] -# CHECK: mrs x3, SPMACCESSR_EL1 -[0x61,0x9d,0x10,0xd5] -# CHECK: msr SPMACCESSR_EL1, x1 -[0x63,0x9d,0x35,0xd5] -# CHECK: mrs x3, SPMACCESSR_EL12 -[0x61,0x9d,0x15,0xd5] -# CHECK: msr SPMACCESSR_EL12, x1 -[0x63,0x9d,0x34,0xd5] -# CHECK: mrs x3, SPMACCESSR_EL2 -[0x61,0x9d,0x14,0xd5] -# CHECK: msr SPMACCESSR_EL2, x1 -[0x63,0x9d,0x36,0xd5] -# CHECK: mrs x3, SPMACCESSR_EL3 -[0x61,0x9d,0x16,0xd5] -# CHECK: msr SPMACCESSR_EL3, x1 -[0x43,0x9c,0x33,0xd5] -# CHECK: mrs x3, SPMCNTENCLR_EL0 -[0x41,0x9c,0x13,0xd5] -# CHECK: msr SPMCNTENCLR_EL0, x1 -[0x23,0x9c,0x33,0xd5] -# CHECK: mrs x3, SPMCNTENSET_EL0 -[0x21,0x9c,0x13,0xd5] -# CHECK: msr SPMCNTENSET_EL0, x1 -[0x03,0x9c,0x33,0xd5] -# CHECK: mrs x3, SPMCR_EL0 -[0x01,0x9c,0x13,0xd5] -# CHECK: msr SPMCR_EL0, x1 -[0xc3,0x9d,0x30,0xd5] -# CHECK: mrs x3, SPMDEVAFF_EL1 -[0xa3,0x9d,0x30,0xd5] -# CHECK: mrs x3, SPMDEVARCH_EL1 - -[0x03,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR0_EL0 -[0x01,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR0_EL0, x1 -[0x23,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR1_EL0 -[0x21,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR1_EL0, x1 -[0x43,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR2_EL0 -[0x41,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR2_EL0, x1 -[0x63,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR3_EL0 -[0x61,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR3_EL0, x1 -[0x83,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR4_EL0 -[0x81,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR4_EL0, x1 -[0xa3,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR5_EL0 -[0xa1,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR5_EL0, x1 -[0xc3,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR6_EL0 -[0xc1,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR6_EL0, x1 -[0xe3,0xe0,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR7_EL0 -[0xe1,0xe0,0x13,0xd5] -# CHECK: msr SPMEVCNTR7_EL0, x1 -[0x03,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR8_EL0 -[0x01,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR8_EL0, x1 -[0x23,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR9_EL0 -[0x21,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR9_EL0, x1 -[0x43,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR10_EL0 -[0x41,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR10_EL0, x1 -[0x63,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR11_EL0 -[0x61,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR11_EL0, x1 -[0x83,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR12_EL0 -[0x81,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR12_EL0, x1 -[0xa3,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR13_EL0 -[0xa1,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR13_EL0, x1 -[0xc3,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR14_EL0 -[0xc1,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR14_EL0, x1 -[0xe3,0xe1,0x33,0xd5] -# CHECK: mrs x3, SPMEVCNTR15_EL0 -[0xe1,0xe1,0x13,0xd5] -# CHECK: msr SPMEVCNTR15_EL0, x1 - -[0x03,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R0_EL0 -[0x01,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R0_EL0, x1 -[0x23,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R1_EL0 -[0x21,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R1_EL0, x1 -[0x43,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R2_EL0 -[0x41,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R2_EL0, x1 -[0x63,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R3_EL0 -[0x61,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R3_EL0, x1 -[0x83,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R4_EL0 -[0x81,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R4_EL0, x1 -[0xa3,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R5_EL0 -[0xa1,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R5_EL0, x1 -[0xc3,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R6_EL0 -[0xc1,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R6_EL0, x1 -[0xe3,0xe6,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R7_EL0 -[0xe1,0xe6,0x13,0xd5] -# CHECK: msr SPMEVFILT2R7_EL0, x1 -[0x03,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R8_EL0 -[0x01,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R8_EL0, x1 -[0x23,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R9_EL0 -[0x21,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R9_EL0, x1 -[0x43,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R10_EL0 -[0x41,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R10_EL0, x1 -[0x63,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R11_EL0 -[0x61,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R11_EL0, x1 -[0x83,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R12_EL0 -[0x81,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R12_EL0, x1 -[0xa3,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R13_EL0 -[0xa1,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R13_EL0, x1 -[0xc3,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R14_EL0 -[0xc1,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R14_EL0, x1 -[0xe3,0xe7,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILT2R15_EL0 -[0xe1,0xe7,0x13,0xd5] -# CHECK: msr SPMEVFILT2R15_EL0, x1 - -[0x03,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR0_EL0 -[0x01,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR0_EL0, x1 -[0x23,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR1_EL0 -[0x21,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR1_EL0, x1 -[0x43,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR2_EL0 -[0x41,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR2_EL0, x1 -[0x63,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR3_EL0 -[0x61,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR3_EL0, x1 -[0x83,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR4_EL0 -[0x81,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR4_EL0, x1 -[0xa3,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR5_EL0 -[0xa1,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR5_EL0, x1 -[0xc3,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR6_EL0 -[0xc1,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR6_EL0, x1 -[0xe3,0xe4,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR7_EL0 -[0xe1,0xe4,0x13,0xd5] -# CHECK: msr SPMEVFILTR7_EL0, x1 -[0x03,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR8_EL0 -[0x01,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR8_EL0, x1 -[0x23,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR9_EL0 -[0x21,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR9_EL0, x1 -[0x43,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR10_EL0 -[0x41,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR10_EL0, x1 -[0x63,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR11_EL0 -[0x61,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR11_EL0, x1 -[0x83,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR12_EL0 -[0x81,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR12_EL0, x1 -[0xa3,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR13_EL0 -[0xa1,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR13_EL0, x1 -[0xc3,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR14_EL0 -[0xc1,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR14_EL0, x1 -[0xe3,0xe5,0x33,0xd5] -# CHECK: mrs x3, SPMEVFILTR15_EL0 -[0xe1,0xe5,0x13,0xd5] -# CHECK: msr SPMEVFILTR15_EL0, x1 - -[0x03,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER0_EL0 -[0x01,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER0_EL0, x1 -[0x23,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER1_EL0 -[0x21,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER1_EL0, x1 -[0x43,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER2_EL0 -[0x41,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER2_EL0, x1 -[0x63,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER3_EL0 -[0x61,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER3_EL0, x1 -[0x83,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER4_EL0 -[0x81,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER4_EL0, x1 -[0xa3,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER5_EL0 -[0xa1,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER5_EL0, x1 -[0xc3,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER6_EL0 -[0xc1,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER6_EL0, x1 -[0xe3,0xe2,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER7_EL0 -[0xe1,0xe2,0x13,0xd5] -# CHECK: msr SPMEVTYPER7_EL0, x1 -[0x03,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER8_EL0 -[0x01,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER8_EL0, x1 -[0x23,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER9_EL0 -[0x21,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER9_EL0, x1 -[0x43,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER10_EL0 -[0x41,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER10_EL0, x1 -[0x63,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER11_EL0 -[0x61,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER11_EL0, x1 -[0x83,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER12_EL0 -[0x81,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER12_EL0, x1 -[0xa3,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER13_EL0 -[0xa1,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER13_EL0, x1 -[0xc3,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER14_EL0 -[0xc1,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER14_EL0, x1 -[0xe3,0xe3,0x33,0xd5] -# CHECK: mrs x3, SPMEVTYPER15_EL0 -[0xe1,0xe3,0x13,0xd5] -# CHECK: msr SPMEVTYPER15_EL0, x1 - -[0x83,0x9d,0x30,0xd5] -# CHECK: mrs x3, SPMIIDR_EL1 -[0x43,0x9e,0x30,0xd5] -# CHECK: mrs x3, SPMINTENCLR_EL1 -[0x41,0x9e,0x10,0xd5] -# CHECK: msr SPMINTENCLR_EL1, x1 -[0x23,0x9e,0x30,0xd5] -# CHECK: mrs x3, SPMINTENSET_EL1 -[0x21,0x9e,0x10,0xd5] -# CHECK: msr SPMINTENSET_EL1, x1 -[0x63,0x9c,0x33,0xd5] -# CHECK: mrs x3, SPMOVSCLR_EL0 -[0x61,0x9c,0x13,0xd5] -# CHECK: msr SPMOVSCLR_EL0, x1 -[0x63,0x9e,0x33,0xd5] -# CHECK: mrs x3, SPMOVSSET_EL0 -[0x61,0x9e,0x13,0xd5] -# CHECK: msr SPMOVSSET_EL0, x1 -[0xa3,0x9c,0x33,0xd5] -# CHECK: mrs x3, SPMSELR_EL0 -[0xa1,0x9c,0x13,0xd5] -# CHECK: msr SPMSELR_EL0, x1 -[0x03,0x9d,0x30,0xd5] -# CHECK: mrs x3, SPMCGCR0_EL1 -[0x23,0x9d,0x30,0xd5] -# CHECK: mrs x3, SPMCGCR1_EL1 -[0xe3,0x9d,0x30,0xd5] -# CHECK: mrs x3, SPMCFGR_EL1 -[0xe3,0x9e,0x36,0xd5] -# CHECK: mrs x3, SPMROOTCR_EL3 -[0xe3,0x9e,0x16,0xd5] -# CHECK: msr SPMROOTCR_EL3, x3 -[0xe3,0x9e,0x37,0xd5] -# CHECK: mrs x3, SPMSCR_EL1 -[0xe3,0x9e,0x17,0xd5] -# CHECK: msr SPMSCR_EL1, x3 - -[0x63,0x12,0x38,0xd5] -# CHECK: mrs x3, TRCITECR_EL1 -# ERROR-NO-ITE: mrs x3, S3_0_C1_C2_3 -[0x61,0x12,0x18,0xd5] -# CHECK: msr TRCITECR_EL1, x1 -# ERROR-NO-ITE: msr S3_0_C1_C2_3, x1 -[0x63,0x12,0x3d,0xd5] -# CHECK: mrs x3, TRCITECR_EL12 -# ERROR-NO-ITE: mrs x3, S3_5_C1_C2_3 -[0x61,0x12,0x1d,0xd5] -# CHECK: msr TRCITECR_EL12, x1 -# ERROR-NO-ITE: msr S3_5_C1_C2_3, x1 -[0x63,0x12,0x3c,0xd5] -# CHECK: mrs x3, TRCITECR_EL2 -# ERROR-NO-ITE: mrs x3, S3_4_C1_C2_3 -[0x61,0x12,0x1c,0xd5] -# CHECK: msr TRCITECR_EL2, x1 -# ERROR-NO-ITE: msr S3_4_C1_C2_3, x1 -[0xe1,0x72,0x0b,0xd5] -# CHECK: trcit x1 -# ERROR-NO-ITE: sys #3, c7, c2, #7, x1 - -[0x83,0x9a,0x38,0xd5] -# CHECK: mrs x3, PMSDSFR_EL1 -[0x83,0x9a,0x18,0xd5] -# CHECK: msr PMSDSFR_EL1, x3 diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt deleted file mode 100644 index 644e032cd79cd..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt +++ /dev/null @@ -1,113 +0,0 @@ -# RUN: llvm-mc -triple aarch64-none-linux-gnu -disassemble -show-encoding -mattr=+rcpc3 < %s | FileCheck %s -# RUN: llvm-mc -triple aarch64-none-linux-gnu -disassemble -show-encoding -mattr=+v8.9a -mattr=+rcpc3 < %s | FileCheck %s -# RUN: llvm-mc -triple aarch64-none-linux-gnu -disassemble -show-encoding -mattr=+v9.4a -mattr=+rcpc3 < %s | FileCheck %s - -# RUN: not llvm-mc -triple aarch64-none-linux-gnu -disassemble < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s -# RUN: not llvm-mc -triple aarch64-none-linux-gnu -disassemble -mattr=+v8.9a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s -# RUN: not llvm-mc -triple aarch64-none-linux-gnu -disassemble -mattr=+v9.4a < %s 2>&1 | FileCheck --check-prefix=ERROR-NO-RCPC3 %s - -[0x18,0x0a,0x00,0x99] -# CHECK: stilp w24, w0, [x16, #-8]! // encoding: [0x18,0x0a,0x00,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x18,0x0a,0x00,0x99] -# CHECK: stilp w24, w0, [x16, #-8]! // encoding: [0x18,0x0a,0x00,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x39,0x0a,0x01,0xd9] -# CHECK: stilp x25, x1, [x17, #-16]! // encoding: [0x39,0x0a,0x01,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x39,0x0a,0x01,0xd9] -# CHECK: stilp x25, x1, [x17, #-16]! // encoding: [0x39,0x0a,0x01,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x5a,0x1a,0x02,0x99] -# CHECK: stilp w26, w2, [x18] // encoding: [0x5a,0x1a,0x02,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xfb,0x1b,0x03,0xd9] -# CHECK: stilp x27, x3, [sp] // encoding: [0xfb,0x1b,0x03,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x9c,0x0a,0x44,0x99] -# CHECK: ldiapp w28, w4, [x20], #8 // encoding: [0x9c,0x0a,0x44,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x9c,0x0a,0x44,0x99] -# CHECK: ldiapp w28, w4, [x20], #8 // encoding: [0x9c,0x0a,0x44,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xbd,0x0a,0x45,0xd9] -# CHECK: ldiapp x29, x5, [x21], #16 // encoding: [0xbd,0x0a,0x45,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xbd,0x0a,0x45,0xd9] -# CHECK: ldiapp x29, x5, [x21], #16 // encoding: [0xbd,0x0a,0x45,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xfe,0x1b,0x46,0x99] -# CHECK: ldiapp w30, w6, [sp] // encoding: [0xfe,0x1b,0x46,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xff,0x1a,0x47,0xd9] -# CHECK: ldiapp xzr, x7, [x23] // encoding: [0xff,0x1a,0x47,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0xe3,0x09,0x80,0x99] -# CHECK: stlr w3, [x15, #-4]! // encoding: [0xe3,0x09,0x80,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x09,0x80,0x99] -# CHECK: stlr w3, [x15, #-4]! // encoding: [0xe3,0x09,0x80,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x09,0x80,0xd9] -# CHECK: stlr x3, [x15, #-8]! // encoding: [0xe3,0x09,0x80,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x0b,0x80,0xd9] -# CHECK: stlr x3, [sp, #-8]! // encoding: [0xe3,0x0b,0x80,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x0b,0xc0,0x99] -# CHECK: ldapr w3, [sp], #4 // encoding: [0xe3,0x0b,0xc0,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x09,0xc0,0x99] -# CHECK: ldapr w3, [x15], #4 // encoding: [0xe3,0x09,0xc0,0x99] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x09,0xc0,0xd9] -# CHECK: ldapr x3, [x15], #8 // encoding: [0xe3,0x09,0xc0,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x09,0xc0,0xd9] -# CHECK: ldapr x3, [x15], #8 // encoding: [0xe3,0x09,0xc0,0xd9] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0xe3,0xf9,0x1f,0x1d] -# CHECK: stlur b3, [x15, #-1] // encoding: [0xe3,0xf9,0x1f,0x1d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x29,0x00,0x5d] -# CHECK: stlur h3, [x15, #2] // encoding: [0xe3,0x29,0x00,0x5d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0xd9,0x1f,0x9d] -# CHECK: stlur s3, [x15, #-3] // encoding: [0xe3,0xd9,0x1f,0x9d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x4b,0x00,0xdd] -# CHECK: stlur d3, [sp, #4] // encoding: [0xe3,0x4b,0x00,0xdd] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0xb9,0x9f,0x1d] -# CHECK: stlur q3, [x15, #-5] // encoding: [0xe3,0xb9,0x9f,0x1d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x69,0x40,0x1d] -# CHECK: ldapur b3, [x15, #6] // encoding: [0xe3,0x69,0x40,0x1d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x99,0x5f,0x5d] -# CHECK: ldapur h3, [x15, #-7] // encoding: [0xe3,0x99,0x5f,0x5d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x89,0x40,0x9d] -# CHECK: ldapur s3, [x15, #8] // encoding: [0xe3,0x89,0x40,0x9d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x79,0x5f,0xdd] -# CHECK: ldapur d3, [x15, #-9] // encoding: [0xe3,0x79,0x5f,0xdd] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0xab,0xc0,0x1d] -# CHECK: ldapur q3, [sp, #10] // encoding: [0xe3,0xab,0xc0,0x1d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0xe3,0x85,0x01,0x0d] -# CHECK: stl1 { v3.d }[0], [x15] // encoding: [0xe3,0x85,0x01,0x0d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x87,0x01,0x4d] -# CHECK: stl1 { v3.d }[1], [sp] // encoding: [0xe3,0x87,0x01,0x4d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x87,0x41,0x0d] -# CHECK: ldap1 { v3.d }[0], [sp] // encoding: [0xe3,0x87,0x41,0x0d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe3,0x85,0x41,0x4d] -# CHECK: ldap1 { v3.d }[1], [x15] // encoding: [0xe3,0x85,0x41,0x4d] -# ERROR-NO-RCPC3: [[@LINE-2]]:2: warning: invalid instruction encoding diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-specres2.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-specres2.txt deleted file mode 100644 index a114cd3493787..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-specres2.txt +++ /dev/null @@ -1,16 +0,0 @@ -# FEAT_SPECRES2 is optional for all v8a/v9a, mandatory for 8.9a/9.4a. -# Should disassemble to hint #22 if the feature is not present. -# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a -mattr=-specres2 %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a -mattr=-specres2 %s | FileCheck %s --check-prefix=HINT_22 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+specres2 %s | FileCheck %s --check-prefix=FEAT_SPECRES2 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8a -mattr=+specres2 %s | FileCheck %s --check-prefix=FEAT_SPECRES2 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v8.9a %s | FileCheck %s --check-prefix=FEAT_SPECRES2 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.3a -mattr=+specres2 %s | FileCheck %s --check-prefix=FEAT_SPECRES2 -# RUN: llvm-mc -triple=aarch64 -disassemble -mattr=+v9.4a %s | FileCheck %s --check-prefix=FEAT_SPECRES2 - -[0xc0,0x73,0x0b,0xd5] -# FEAT_SPECRES2: cosp rctx, x0 -# HINT_22: sys #3, c7, c3, #6, x0 diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.9a-the.txt b/llvm/test/MC/Disassembler/AArch64/armv8.9a-the.txt deleted file mode 100644 index f3b313a36487b..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv8.9a-the.txt +++ /dev/null @@ -1,482 +0,0 @@ -# RUN: llvm-mc -triple=aarch64 -mattr=+the -mattr=+d128 -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a -mattr=+the -mattr=+d128 -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a -mattr=+the -mattr=+d128 -disassemble %s | FileCheck %s -# RUN: not llvm-mc -triple=aarch64 -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-THE -# RUN: not llvm-mc -triple=aarch64 -mattr=+v8.9a -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-THE -# RUN: not llvm-mc -triple=aarch64 -mattr=+v9.4a -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-THE -# RUN: not llvm-mc -triple=aarch64 -mattr=+the -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 -# RUN: not llvm-mc -triple=aarch64 -mattr=+v8.9a -mattr=+the -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 -# RUN: not llvm-mc -triple=aarch64 -mattr=+v9.4a -mattr=+the -disassemble %s 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 - -[0xc3,0xd0,0x38,0xd5] -# CHECK: mrs x3, RCWMASK_EL1 -[0xc1,0xd0,0x18,0xd5] -# CHECK: msr RCWMASK_EL1, x1 -[0x63,0xd0,0x38,0xd5] -# CHECK: mrs x3, RCWSMASK_EL1 -[0x61,0xd0,0x18,0xd5] -# CHECK: msr RCWSMASK_EL1, x1 - -[0x81,0x08,0x20,0x19] -# CHECK: rcwcas x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x08,0xa0,0x19] -# CHECK: rcwcasa x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x08,0xe0,0x19] -# CHECK: rcwcasal x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x08,0x60,0x19] -# CHECK: rcwcasl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0x23,0x19] -# CHECK: rcwcas x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0xa3,0x19] -# CHECK: rcwcasa x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0xe3,0x19] -# CHECK: rcwcasal x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0x63,0x19] -# CHECK: rcwcasl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x81,0x08,0x20,0x59] -# CHECK: rcwscas x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x08,0xa0,0x59] -# CHECK: rcwscasa x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x08,0xe0,0x59] -# CHECK: rcwscasal x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x08,0x60,0x59] -# CHECK: rcwscasl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0x23,0x59] -# CHECK: rcwscas x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0xa3,0x59] -# CHECK: rcwscasa x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0xe3,0x59] -# CHECK: rcwscasal x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x0b,0x63,0x59] -# CHECK: rcwscasl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x86,0x0c,0x20,0x19] -# CHECK: rcwcasp x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x86,0x0c,0xa0,0x19] -# CHECK: rcwcaspa x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x86,0x0c,0xe0,0x19] -# CHECK: rcwcaspal x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x86,0x0c,0x60,0x19] -# CHECK: rcwcaspl x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0x24,0x19] -# CHECK: rcwcasp x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0xa4,0x19] -# CHECK: rcwcaspa x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0xe4,0x19] -# CHECK: rcwcaspal x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0x64,0x19] -# CHECK: rcwcaspl x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding - -[0x86,0x0c,0x20,0x59] -# CHECK: rcwscasp x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x86,0x0c,0xa0,0x59] -# CHECK: rcwscaspa x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x86,0x0c,0xe0,0x59] -# CHECK: rcwscaspal x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x86,0x0c,0x60,0x59] -# CHECK: rcwscaspl x0, x1, x6, x7, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0x24,0x59] -# CHECK: rcwscasp x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0xa4,0x59] -# CHECK: rcwscaspa x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0xe4,0x59] -# CHECK: rcwscaspal x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe6,0x0f,0x64,0x59] -# CHECK: rcwscaspl x4, x5, x6, x7, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding - -[0x81,0x90,0x20,0x38] -# CHECK: rcwclr x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x90,0xa0,0x38] -# CHECK: rcwclra x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x90,0xe0,0x38] -# CHECK: rcwclral x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x90,0x60,0x38] -# CHECK: rcwclrl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x23,0x38] -# CHECK: rcwclr x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xa3,0x38] -# CHECK: rcwclra x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xe3,0x38] -# CHECK: rcwclral x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x63,0x38] -# CHECK: rcwclrl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x81,0x90,0x20,0x78] -# CHECK: rcwsclr x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x90,0xa0,0x78] -# CHECK: rcwsclra x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x90,0xe0,0x78] -# CHECK: rcwsclral x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0x90,0x60,0x78] -# CHECK: rcwsclrl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x23,0x78] -# CHECK: rcwsclr x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xa3,0x78] -# CHECK: rcwsclra x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xe3,0x78] -# CHECK: rcwsclral x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x63,0x78] -# CHECK: rcwsclrl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x81,0x90,0x20,0x19] -# CHECK: rcwclrp x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0x90,0xa0,0x19] -# CHECK: rcwclrpa x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0x90,0xe0,0x19] -# CHECK: rcwclrpal x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0x90,0x60,0x19] -# CHECK: rcwclrpl x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x23,0x19] -# CHECK: rcwclrp x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xa3,0x19] -# CHECK: rcwclrpa x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xe3,0x19] -# CHECK: rcwclrpal x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x63,0x19] -# CHECK: rcwclrpl x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding - -[0x81,0x90,0x20,0x59] -# CHECK: rcwsclrp x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0x90,0xa0,0x59] -# CHECK: rcwsclrpa x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0x90,0xe0,0x59] -# CHECK: rcwsclrpal x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0x90,0x60,0x59] -# CHECK: rcwsclrpl x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x23,0x59] -# CHECK: rcwsclrp x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xa3,0x59] -# CHECK: rcwsclrpa x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0xe3,0x59] -# CHECK: rcwsclrpal x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0x93,0x63,0x59] -# CHECK: rcwsclrpl x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding - -[0x81,0xb0,0x20,0x38] -# CHECK: rcwset x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xa0,0x38] -# CHECK: rcwseta x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xe0,0x38] -# CHECK: rcwsetal x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xb0,0x60,0x38] -# CHECK: rcwsetl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x23,0x38] -# CHECK: rcwset x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xa3,0x38] -# CHECK: rcwseta x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xe3,0x38] -# CHECK: rcwsetal x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x63,0x38] -# CHECK: rcwsetl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x81,0xb0,0x20,0x78] -# CHECK: rcwsset x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xa0,0x78] -# CHECK: rcwsseta x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xe0,0x78] -# CHECK: rcwssetal x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xb0,0x60,0x78] -# CHECK: rcwssetl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x23,0x78] -# CHECK: rcwsset x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xa3,0x78] -# CHECK: rcwsseta x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xe3,0x78] -# CHECK: rcwssetal x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x63,0x78] -# CHECK: rcwssetl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x81,0xb0,0x20,0x19] -# CHECK: rcwsetp x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xa0,0x19] -# CHECK: rcwsetpa x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xe0,0x19] -# CHECK: rcwsetpal x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xb0,0x60,0x19] -# CHECK: rcwsetpl x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x23,0x19] -# CHECK: rcwsetp x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xa3,0x19] -# CHECK: rcwsetpa x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xe3,0x19] -# CHECK: rcwsetpal x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x63,0x19] -# CHECK: rcwsetpl x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding - -[0x81,0xb0,0x20,0x59] -# CHECK: rcwssetp x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xa0,0x59] -# CHECK: rcwssetpa x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xb0,0xe0,0x59] -# CHECK: rcwssetpal x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xb0,0x60,0x59] -# CHECK: rcwssetpl x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x23,0x59] -# CHECK: rcwssetp x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xa3,0x59] -# CHECK: rcwssetpa x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0xe3,0x59] -# CHECK: rcwssetpal x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xb3,0x63,0x59] -# CHECK: rcwssetpl x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding - -[0x81,0xa0,0x20,0x38] -# CHECK: rcwswp x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xa0,0x38] -# CHECK: rcwswpa x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xe0,0x38] -# CHECK: rcwswpal x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xa0,0x60,0x38] -# CHECK: rcwswpl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x23,0x38] -# CHECK: rcwswp x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xa3,0x38] -# CHECK: rcwswpa x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xe3,0x38] -# CHECK: rcwswpal x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x63,0x38] -# CHECK: rcwswpl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x81,0xa0,0x20,0x78] -# CHECK: rcwsswp x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xa0,0x78] -# CHECK: rcwsswpa x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xe0,0x78] -# CHECK: rcwsswpal x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0x81,0xa0,0x60,0x78] -# CHECK: rcwsswpl x0, x1, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x23,0x78] -# CHECK: rcwsswp x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xa3,0x78] -# CHECK: rcwsswpa x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xe3,0x78] -# CHECK: rcwsswpal x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x63,0x78] -# CHECK: rcwsswpl x3, x5, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding - -[0x81,0xa0,0x20,0x19] -# CHECK: rcwswpp x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xa0,0x19] -# CHECK: rcwswppa x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xe0,0x19] -# CHECK: rcwswppal x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xa0,0x60,0x19] -# CHECK: rcwswppl x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x23,0x19] -# CHECK: rcwswpp x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xa3,0x19] -# CHECK: rcwswppa x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xe3,0x19] -# CHECK: rcwswppal x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x63,0x19] -# CHECK: rcwswppl x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding - -[0x81,0xa0,0x20,0x59] -# CHECK: rcwsswpp x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xa0,0x59] -# CHECK: rcwsswppa x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xa0,0xe0,0x59] -# CHECK: rcwsswppal x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0x81,0xa0,0x60,0x59] -# CHECK: rcwsswppl x1, x0, [x4] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x23,0x59] -# CHECK: rcwsswpp x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xa3,0x59] -# CHECK: rcwsswppa x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0xe3,0x59] -# CHECK: rcwsswppal x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding -[0xe5,0xa3,0x63,0x59] -# CHECK: rcwsswppl x5, x3, [sp] -# ERROR-NO-THE: [[@LINE-2]]:2: warning: invalid instruction encoding -# ERROR-NO-D128: [[@LINE-3]]:2: warning: invalid instruction encoding diff --git a/llvm/test/MC/Disassembler/AArch64/armv9-sysp.txt b/llvm/test/MC/Disassembler/AArch64/armv9-sysp.txt deleted file mode 100644 index 2bbdef4d5518e..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv9-sysp.txt +++ /dev/null @@ -1,562 +0,0 @@ -# RUN: llvm-mc -triple aarch64 --disassemble -mattr=+d128,+tlb-rmi,+xs %s -o - 2> %t | FileCheck %s -# RUN: FileCheck %s --check-prefix=INVALID --input-file=%t - -# RUN: llvm-mc -triple aarch64 --disassemble %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 - -0x00 0x20 0x48 0xd5 -0x20 0x20 0x48 0xd5 -0x00 0x74 0x48 0xd5 -0x60 0xd0 0x48 0xd5 -0xc0 0xd0 0x48 0xd5 -0x00 0x20 0x4c 0xd5 -0x20 0x20 0x4c 0xd5 -0x00 0x21 0x4c 0xd5 -0x00 0x20 0x48 0xd5 -0x20 0x20 0x48 0xd5 -0x00 0x74 0x48 0xd5 -0x60 0xd0 0x48 0xd5 -0xc0 0xd0 0x48 0xd5 -0x00 0x20 0x4c 0xd5 -0x20 0x20 0x4c 0xd5 -0x00 0x21 0x4c 0xd5 -0x00 0x20 0x48 0xd5 -0x02 0x20 0x48 0xd5 -0x04 0x20 0x48 0xd5 -0x06 0x20 0x48 0xd5 -0x08 0x20 0x48 0xd5 -0x0a 0x20 0x48 0xd5 -0x0c 0x20 0x48 0xd5 -0x0e 0x20 0x48 0xd5 -0x10 0x20 0x48 0xd5 -0x12 0x20 0x48 0xd5 -0x14 0x20 0x48 0xd5 -0x16 0x20 0x48 0xd5 -0x18 0x20 0x48 0xd5 -0x1a 0x20 0x48 0xd5 -0x1c 0x20 0x48 0xd5 -0x1e 0x20 0x48 0xd5 -0x1f 0x20 0x48 0xd5 - -# CHECK: sysp #0, c2, c0, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #1, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c7, c4, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c13, c0, #3, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c13, c0, #6, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #4, c2, c0, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #4, c2, c0, #1, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #4, c2, c1, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #1, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c7, c4, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c13, c0, #3, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c13, c0, #6, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #4, c2, c0, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #4, c2, c0, #1, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #4, c2, c1, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x0, x1 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x2, x3 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x6, x7 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x12, x13 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x16, x17 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x22, x23 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x26, x27 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0, x30, xzr -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK-NEXT: sysp #0, c2, c0, #0 -# ERROR-NO-D128: warning: invalid instruction encoding - - - -0x01 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x1, x2 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x01 0x20 0x48 0xd5 - -0x03 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x3, x4 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x03 0x20 0x48 0xd5 - -0x05 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x5, x6 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x05 0x20 0x48 0xd5 - -0x07 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x7, x8 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x07 0x20 0x48 0xd5 - -0x09 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x9, x10 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x09 0x20 0x48 0xd5 - -0x0b 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x11, x12 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x0b 0x20 0x48 0xd5 - -0x0d 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x13, x14 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x0d 0x20 0x48 0xd5 - -0x0f 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x15, x16 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x0f 0x20 0x48 0xd5 - -0x11 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x17, x18 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x11 0x20 0x48 0xd5 - -0x13 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x19, x20 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x13 0x20 0x48 0xd5 - -0x15 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x21, x22 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x15 0x20 0x48 0xd5 - -0x17 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x23, x24 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x17 0x20 0x48 0xd5 - -0x19 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x25, x26 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x19 0x20 0x48 0xd5 - -0x1b 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x27, x28 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x1b 0x20 0x48 0xd5 - -0x1d 0x20 0x48 0xd5 # sysp #0, c2, c0, #0, x29, x30 -# INVALID: warning: invalid instruction encoding -# INVALID-NEXT: 0x1d 0x20 0x48 0xd5 - -0x24 0x80 0x4c 0xd5 -# CHECK: tlbip ipas2e1is, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0x24 0x90 0x4c 0xd5 -# CHECK: tlbip ipas2e1isnxs, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0x24 0x84 0x4c 0xd5 -# CHECK: tlbip ipas2e1, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0x24 0x94 0x4c 0xd5 -# CHECK: tlbip ipas2e1nxs, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0x04 0x84 0x4c 0xd5 -# CHECK: tlbip ipas2e1os, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0x04 0x94 0x4c 0xd5 -# CHECK: tlbip ipas2e1osnxs, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa4 0x84 0x4c 0xd5 -# CHECK: tlbip ipas2le1, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa4 0x94 0x4c 0xd5 -# CHECK: tlbip ipas2le1nxs, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa4 0x80 0x4c 0xd5 -# CHECK: tlbip ipas2le1is, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa4 0x90 0x4c 0xd5 -# CHECK: tlbip ipas2le1isnxs, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0x84 0x84 0x4c 0xd5 -# CHECK: tlbip ipas2le1os, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding -0x84 0x94 0x4c 0xd5 -# CHECK: tlbip ipas2le1osnxs, x4, x5 -# ERROR-NO-D128: warning: invalid instruction encoding - - -0x28 0x83 0x48 0xd5 -# CHECK: tlbip vae1is, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x28 0x93 0x48 0xd5 -# CHECK: tlbip vae1isnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x28 0x87 0x48 0xd5 -# CHECK: tlbip vae1, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x28 0x97 0x48 0xd5 -# CHECK: tlbip vae1nxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x28 0x83 0x48 0xd5 -# CHECK: tlbip vae1is, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x28 0x93 0x48 0xd5 -# CHECK: tlbip vae1isnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x28 0x81 0x48 0xd5 -# CHECK: tlbip vae1os, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x28 0x91 0x48 0xd5 -# CHECK: tlbip vae1osnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa8 0x87 0x48 0xd5 -# CHECK: tlbip vale1, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa8 0x97 0x48 0xd5 -# CHECK: tlbip vale1nxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa8 0x83 0x48 0xd5 -# CHECK: tlbip vale1is, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa8 0x93 0x48 0xd5 -# CHECK: tlbip vale1isnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa8 0x81 0x48 0xd5 -# CHECK: tlbip vale1os, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xa8 0x91 0x48 0xd5 -# CHECK: tlbip vale1osnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x68 0x87 0x48 0xd5 -# CHECK: tlbip vaae1, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x68 0x97 0x48 0xd5 -# CHECK: tlbip vaae1nxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x68 0x83 0x48 0xd5 -# CHECK: tlbip vaae1is, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x68 0x93 0x48 0xd5 -# CHECK: tlbip vaae1isnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x68 0x81 0x48 0xd5 -# CHECK: tlbip vaae1os, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0x68 0x91 0x48 0xd5 -# CHECK: tlbip vaae1osnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xe8 0x87 0x48 0xd5 -# CHECK: tlbip vaale1, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xe8 0x97 0x48 0xd5 -# CHECK: tlbip vaale1nxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xe8 0x83 0x48 0xd5 -# CHECK: tlbip vaale1is, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xe8 0x93 0x48 0xd5 -# CHECK: tlbip vaale1isnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xe8 0x81 0x48 0xd5 -# CHECK: tlbip vaale1os, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding -0xe8 0x91 0x48 0xd5 -# CHECK: tlbip vaale1osnxs, x8, x9 -# ERROR-NO-D128: warning: invalid instruction encoding - -0x2e 0x87 0x4c 0xd5 -# CHECK: tlbip vae2, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2e 0x97 0x4c 0xd5 -# CHECK: tlbip vae2nxs, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2e 0x83 0x4c 0xd5 -# CHECK: tlbip vae2is, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2e 0x93 0x4c 0xd5 -# CHECK: tlbip vae2isnxs, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2e 0x81 0x4c 0xd5 -# CHECK: tlbip vae2os, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2e 0x91 0x4c 0xd5 -# CHECK: tlbip vae2osnxs, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0xae 0x87 0x4c 0xd5 -# CHECK: tlbip vale2, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0xae 0x97 0x4c 0xd5 -# CHECK: tlbip vale2nxs, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0xae 0x83 0x4c 0xd5 -# CHECK: tlbip vale2is, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0xae 0x93 0x4c 0xd5 -# CHECK: tlbip vale2isnxs, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0xae 0x81 0x4c 0xd5 -# CHECK: tlbip vale2os, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding -0xae 0x91 0x4c 0xd5 -# CHECK: tlbip vale2osnxs, x14, x15 -# ERROR-NO-D128: warning: invalid instruction encoding - -0x38 0x87 0x4e 0xd5 -# CHECK: tlbip vae3, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0x38 0x97 0x4e 0xd5 -# CHECK: tlbip vae3nxs, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0x38 0x83 0x4e 0xd5 -# CHECK: tlbip vae3is, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0x38 0x93 0x4e 0xd5 -# CHECK: tlbip vae3isnxs, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0x38 0x81 0x4e 0xd5 -# CHECK: tlbip vae3os, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0x38 0x91 0x4e 0xd5 -# CHECK: tlbip vae3osnxs, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb8 0x87 0x4e 0xd5 -# CHECK: tlbip vale3, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb8 0x97 0x4e 0xd5 -# CHECK: tlbip vale3nxs, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb8 0x83 0x4e 0xd5 -# CHECK: tlbip vale3is, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb8 0x93 0x4e 0xd5 -# CHECK: tlbip vale3isnxs, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb8 0x81 0x4e 0xd5 -# CHECK: tlbip vale3os, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb8 0x91 0x4e 0xd5 -# CHECK: tlbip vale3osnxs, x24, x25 -# ERROR-NO-D128: warning: invalid instruction encoding - - -0x32 0x86 0x48 0xd5 -# CHECK: tlbip rvae1, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x32 0x96 0x48 0xd5 -# CHECK: tlbip rvae1nxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x32 0x86 0x48 0xd5 -# CHECK: tlbip rvae1, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x32 0x96 0x48 0xd5 -# CHECK: tlbip rvae1nxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x32 0x82 0x48 0xd5 -# CHECK: tlbip rvae1is, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x32 0x92 0x48 0xd5 -# CHECK: tlbip rvae1isnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x32 0x85 0x48 0xd5 -# CHECK: tlbip rvae1os, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x32 0x95 0x48 0xd5 -# CHECK: tlbip rvae1osnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x72 0x86 0x48 0xd5 -# CHECK: tlbip rvaae1, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x72 0x96 0x48 0xd5 -# CHECK: tlbip rvaae1nxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x72 0x82 0x48 0xd5 -# CHECK: tlbip rvaae1is, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x72 0x92 0x48 0xd5 -# CHECK: tlbip rvaae1isnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x72 0x85 0x48 0xd5 -# CHECK: tlbip rvaae1os, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0x72 0x95 0x48 0xd5 -# CHECK: tlbip rvaae1osnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb2 0x86 0x48 0xd5 -# CHECK: tlbip rvale1, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb2 0x96 0x48 0xd5 -# CHECK: tlbip rvale1nxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb2 0x82 0x48 0xd5 -# CHECK: tlbip rvale1is, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb2 0x92 0x48 0xd5 -# CHECK: tlbip rvale1isnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb2 0x85 0x48 0xd5 -# CHECK: tlbip rvale1os, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xb2 0x95 0x48 0xd5 -# CHECK: tlbip rvale1osnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf2 0x86 0x48 0xd5 -# CHECK: tlbip rvaale1, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf2 0x96 0x48 0xd5 -# CHECK: tlbip rvaale1nxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf2 0x82 0x48 0xd5 -# CHECK: tlbip rvaale1is, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf2 0x92 0x48 0xd5 -# CHECK: tlbip rvaale1isnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf2 0x85 0x48 0xd5 -# CHECK: tlbip rvaale1os, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf2 0x95 0x48 0xd5 -# CHECK: tlbip rvaale1osnxs, x18, x19 -# ERROR-NO-D128: warning: invalid instruction encoding - -0x3c 0x86 0x4c 0xd5 -# CHECK: tlbip rvae2, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0x3c 0x96 0x4c 0xd5 -# CHECK: tlbip rvae2nxs, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0x3c 0x82 0x4c 0xd5 -# CHECK: tlbip rvae2is, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0x3c 0x92 0x4c 0xd5 -# CHECK: tlbip rvae2isnxs, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0x3c 0x85 0x4c 0xd5 -# CHECK: tlbip rvae2os, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0x3c 0x95 0x4c 0xd5 -# CHECK: tlbip rvae2osnxs, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0xbc 0x86 0x4c 0xd5 -# CHECK: tlbip rvale2, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0xbc 0x96 0x4c 0xd5 -# CHECK: tlbip rvale2nxs, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0xbc 0x82 0x4c 0xd5 -# CHECK: tlbip rvale2is, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0xbc 0x92 0x4c 0xd5 -# CHECK: tlbip rvale2isnxs, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0xbc 0x85 0x4c 0xd5 -# CHECK: tlbip rvale2os, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding -0xbc 0x95 0x4c 0xd5 -# CHECK: tlbip rvale2osnxs, x28, x29 -# ERROR-NO-D128: warning: invalid instruction encoding - -0x2a 0x86 0x4e 0xd5 -# CHECK: tlbip rvae3, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2a 0x96 0x4e 0xd5 -# CHECK: tlbip rvae3nxs, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2a 0x82 0x4e 0xd5 -# CHECK: tlbip rvae3is, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2a 0x92 0x4e 0xd5 -# CHECK: tlbip rvae3isnxs, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2a 0x85 0x4e 0xd5 -# CHECK: tlbip rvae3os, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0x2a 0x95 0x4e 0xd5 -# CHECK: tlbip rvae3osnxs, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0xaa 0x86 0x4e 0xd5 -# CHECK: tlbip rvale3, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0xaa 0x96 0x4e 0xd5 -# CHECK: tlbip rvale3nxs, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0xaa 0x82 0x4e 0xd5 -# CHECK: tlbip rvale3is, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0xaa 0x92 0x4e 0xd5 -# CHECK: tlbip rvale3isnxs, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0xaa 0x85 0x4e 0xd5 -# CHECK: tlbip rvale3os, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding -0xaa 0x95 0x4e 0xd5 -# CHECK: tlbip rvale3osnxs, x10, x11 -# ERROR-NO-D128: warning: invalid instruction encoding - - -0x54 0x80 0x4c 0xd5 -# CHECK: tlbip ripas2e1is, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0x54 0x90 0x4c 0xd5 -# CHECK: tlbip ripas2e1isnxs, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0x54 0x84 0x4c 0xd5 -# CHECK: tlbip ripas2e1, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0x54 0x94 0x4c 0xd5 -# CHECK: tlbip ripas2e1nxs, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0x54 0x80 0x4c 0xd5 -# CHECK: tlbip ripas2e1is, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0x54 0x90 0x4c 0xd5 -# CHECK: tlbip ripas2e1isnxs, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0x74 0x84 0x4c 0xd5 -# CHECK: tlbip ripas2e1os, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0x74 0x94 0x4c 0xd5 -# CHECK: tlbip ripas2e1osnxs, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0xd4 0x84 0x4c 0xd5 -# CHECK: tlbip ripas2le1, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0xd4 0x94 0x4c 0xd5 -# CHECK: tlbip ripas2le1nxs, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0xd4 0x80 0x4c 0xd5 -# CHECK: tlbip ripas2le1is, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0xd4 0x90 0x4c 0xd5 -# CHECK: tlbip ripas2le1isnxs, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf4 0x84 0x4c 0xd5 -# CHECK: tlbip ripas2le1os, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -0xf4 0x94 0x4c 0xd5 -# CHECK: tlbip ripas2le1osnxs, x20, x21 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK: tlbip ripas2le1os, xzr, xzr -0xff 0x84 0x4c 0xd5 -# ERROR-NO-D128: warning: invalid instruction encoding -# CHECK: tlbip ripas2le1osnxs, xzr, xzr -0xff 0x94 0x4c 0xd5 -# ERROR-NO-D128: warning: invalid instruction encoding diff --git a/llvm/test/MC/Disassembler/AArch64/armv9-sysreg128.txt b/llvm/test/MC/Disassembler/AArch64/armv9-sysreg128.txt deleted file mode 100644 index 4ab37a0200738..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv9-sysreg128.txt +++ /dev/null @@ -1,147 +0,0 @@ -# RUN: llvm-mc -triple aarch64 -mattr=+d128 --disassemble -show-encoding %s -o - | FileCheck %s --check-prefix=WITHOUT -# RUN: llvm-mc -triple aarch64 -mattr=+d128,+the,+el2vmsa,+vh --disassemble -show-encoding %s -o - | FileCheck %s --check-prefix=W_FEATS - -# RUN: llvm-mc -triple aarch64 --disassemble -show-encoding %s -o - 2>&1 | FileCheck %s --check-prefix=ERROR-NO-D128 - -0x00,0x20,0x78,0xd5 -0x20,0x20,0x78,0xd5 -0x00,0x74,0x78,0xd5 -0x60,0xd0,0x78,0xd5 -0xc0,0xd0,0x78,0xd5 -0x00,0x20,0x7c,0xd5 -0x20,0x20,0x7c,0xd5 -0x00,0x21,0x7c,0xd5 -0x00,0x21,0x7c,0xd5 -0x02,0x21,0x7c,0xd5 -0x04,0x21,0x7c,0xd5 -0x06,0x21,0x7c,0xd5 -0x08,0x21,0x7c,0xd5 -0x0a,0x21,0x7c,0xd5 -0x0c,0x21,0x7c,0xd5 -0x0e,0x21,0x7c,0xd5 -0x10,0x21,0x7c,0xd5 -0x12,0x21,0x7c,0xd5 -0x14,0x21,0x7c,0xd5 -0x16,0x21,0x7c,0xd5 -0x18,0x21,0x7c,0xd5 -0x1a,0x21,0x7c,0xd5 - -# WITHOUT: mrrs x0, x1, TTBR0_EL1 // encoding: [0x00,0x20,0x78,0xd5] -# WITHOUT: mrrs x0, x1, TTBR1_EL1 // encoding: [0x20,0x20,0x78,0xd5] -# WITHOUT: mrrs x0, x1, PAR_EL1 // encoding: [0x00,0x74,0x78,0xd5] -# WITHOUT: mrrs x0, x1, S3_0_C13_C0_3 // encoding: [0x60,0xd0,0x78,0xd5] -# WITHOUT: mrrs x0, x1, S3_0_C13_C0_6 // encoding: [0xc0,0xd0,0x78,0xd5] -# WITHOUT: mrrs x0, x1, S3_4_C2_C0_0 // encoding: [0x00,0x20,0x7c,0xd5] -# WITHOUT: mrrs x0, x1, S3_4_C2_C0_1 // encoding: [0x20,0x20,0x7c,0xd5] -# WITHOUT: mrrs x0, x1, S3_4_C2_C1_0 // encoding: [0x00,0x21,0x7c,0xd5] -# WITHOUT: mrrs x0, x1, S3_4_C2_C1_0 // encoding: [0x00,0x21,0x7c,0xd5] -# WITHOUT: mrrs x2, x3, S3_4_C2_C1_0 // encoding: [0x02,0x21,0x7c,0xd5] -# WITHOUT: mrrs x4, x5, S3_4_C2_C1_0 // encoding: [0x04,0x21,0x7c,0xd5] -# WITHOUT: mrrs x6, x7, S3_4_C2_C1_0 // encoding: [0x06,0x21,0x7c,0xd5] -# WITHOUT: mrrs x8, x9, S3_4_C2_C1_0 // encoding: [0x08,0x21,0x7c,0xd5] -# WITHOUT: mrrs x10, x11, S3_4_C2_C1_0 // encoding: [0x0a,0x21,0x7c,0xd5] -# WITHOUT: mrrs x12, x13, S3_4_C2_C1_0 // encoding: [0x0c,0x21,0x7c,0xd5] -# WITHOUT: mrrs x14, x15, S3_4_C2_C1_0 // encoding: [0x0e,0x21,0x7c,0xd5] -# WITHOUT: mrrs x16, x17, S3_4_C2_C1_0 // encoding: [0x10,0x21,0x7c,0xd5] -# WITHOUT: mrrs x18, x19, S3_4_C2_C1_0 // encoding: [0x12,0x21,0x7c,0xd5] -# WITHOUT: mrrs x20, x21, S3_4_C2_C1_0 // encoding: [0x14,0x21,0x7c,0xd5] -# WITHOUT: mrrs x22, x23, S3_4_C2_C1_0 // encoding: [0x16,0x21,0x7c,0xd5] -# WITHOUT: mrrs x24, x25, S3_4_C2_C1_0 // encoding: [0x18,0x21,0x7c,0xd5] -# WITHOUT: mrrs x26, x27, S3_4_C2_C1_0 // encoding: [0x1a,0x21,0x7c,0xd5] - -# W_FEATS: mrrs x0, x1, TTBR0_EL1 // encoding: [0x00,0x20,0x78,0xd5] -# W_FEATS: mrrs x0, x1, TTBR1_EL1 // encoding: [0x20,0x20,0x78,0xd5] -# W_FEATS: mrrs x0, x1, PAR_EL1 // encoding: [0x00,0x74,0x78,0xd5] -# W_FEATS: mrrs x0, x1, RCWSMASK_EL1 // encoding: [0x60,0xd0,0x78,0xd5] -# W_FEATS: mrrs x0, x1, RCWMASK_EL1 // encoding: [0xc0,0xd0,0x78,0xd5] -# W_FEATS: mrrs x0, x1, TTBR0_EL2 // encoding: [0x00,0x20,0x7c,0xd5] -# W_FEATS: mrrs x0, x1, TTBR1_EL2 // encoding: [0x20,0x20,0x7c,0xd5] -# W_FEATS: mrrs x0, x1, VTTBR_EL2 // encoding: [0x00,0x21,0x7c,0xd5] -# W_FEATS: mrrs x0, x1, VTTBR_EL2 // encoding: [0x00,0x21,0x7c,0xd5] -# W_FEATS: mrrs x2, x3, VTTBR_EL2 // encoding: [0x02,0x21,0x7c,0xd5] -# W_FEATS: mrrs x4, x5, VTTBR_EL2 // encoding: [0x04,0x21,0x7c,0xd5] -# W_FEATS: mrrs x6, x7, VTTBR_EL2 // encoding: [0x06,0x21,0x7c,0xd5] -# W_FEATS: mrrs x8, x9, VTTBR_EL2 // encoding: [0x08,0x21,0x7c,0xd5] -# W_FEATS: mrrs x10, x11, VTTBR_EL2 // encoding: [0x0a,0x21,0x7c,0xd5] -# W_FEATS: mrrs x12, x13, VTTBR_EL2 // encoding: [0x0c,0x21,0x7c,0xd5] -# W_FEATS: mrrs x14, x15, VTTBR_EL2 // encoding: [0x0e,0x21,0x7c,0xd5] -# W_FEATS: mrrs x16, x17, VTTBR_EL2 // encoding: [0x10,0x21,0x7c,0xd5] -# W_FEATS: mrrs x18, x19, VTTBR_EL2 // encoding: [0x12,0x21,0x7c,0xd5] -# W_FEATS: mrrs x20, x21, VTTBR_EL2 // encoding: [0x14,0x21,0x7c,0xd5] -# W_FEATS: mrrs x22, x23, VTTBR_EL2 // encoding: [0x16,0x21,0x7c,0xd5] -# W_FEATS: mrrs x24, x25, VTTBR_EL2 // encoding: [0x18,0x21,0x7c,0xd5] -# W_FEATS: mrrs x26, x27, VTTBR_EL2 // encoding: [0x1a,0x21,0x7c,0xd5] - -# ERROR-NO-D128: warning: invalid instruction encoding - - -0x00,0x20,0x58,0xd5 -0x20,0x20,0x58,0xd5 -0x00,0x74,0x58,0xd5 -0x60,0xd0,0x58,0xd5 -0xc0,0xd0,0x58,0xd5 -0x00,0x20,0x5c,0xd5 -0x20,0x20,0x5c,0xd5 -0x00,0x21,0x5c,0xd5 -0x00,0x21,0x5c,0xd5 -0x02,0x21,0x5c,0xd5 -0x04,0x21,0x5c,0xd5 -0x06,0x21,0x5c,0xd5 -0x08,0x21,0x5c,0xd5 -0x0a,0x21,0x5c,0xd5 -0x0c,0x21,0x5c,0xd5 -0x0e,0x21,0x5c,0xd5 -0x10,0x21,0x5c,0xd5 -0x12,0x21,0x5c,0xd5 -0x14,0x21,0x5c,0xd5 -0x16,0x21,0x5c,0xd5 -0x18,0x21,0x5c,0xd5 -0x1a,0x21,0x5c,0xd5 - -# WITHOUT: msrr TTBR0_EL1, x0, x1 // encoding: [0x00,0x20,0x58,0xd5] -# WITHOUT: msrr TTBR1_EL1, x0, x1 // encoding: [0x20,0x20,0x58,0xd5] -# WITHOUT: msrr PAR_EL1, x0, x1 // encoding: [0x00,0x74,0x58,0xd5] -# WITHOUT: msrr S3_0_C13_C0_3, x0, x1 // encoding: [0x60,0xd0,0x58,0xd5] -# WITHOUT: msrr S3_0_C13_C0_6, x0, x1 // encoding: [0xc0,0xd0,0x58,0xd5] -# WITHOUT: msrr S3_4_C2_C0_0, x0, x1 // encoding: [0x00,0x20,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C0_1, x0, x1 // encoding: [0x20,0x20,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x0, x1 // encoding: [0x00,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x0, x1 // encoding: [0x00,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x2, x3 // encoding: [0x02,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x4, x5 // encoding: [0x04,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x6, x7 // encoding: [0x06,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x8, x9 // encoding: [0x08,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x10, x11 // encoding: [0x0a,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x12, x13 // encoding: [0x0c,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x14, x15 // encoding: [0x0e,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x16, x17 // encoding: [0x10,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x18, x19 // encoding: [0x12,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x20, x21 // encoding: [0x14,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x22, x23 // encoding: [0x16,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x24, x25 // encoding: [0x18,0x21,0x5c,0xd5] -# WITHOUT: msrr S3_4_C2_C1_0, x26, x27 // encoding: [0x1a,0x21,0x5c,0xd5] - -# W_FEATS: msrr TTBR0_EL1, x0, x1 // encoding: [0x00,0x20,0x58,0xd5] -# W_FEATS: msrr TTBR1_EL1, x0, x1 // encoding: [0x20,0x20,0x58,0xd5] -# W_FEATS: msrr PAR_EL1, x0, x1 // encoding: [0x00,0x74,0x58,0xd5] -# W_FEATS: msrr RCWSMASK_EL1, x0, x1 // encoding: [0x60,0xd0,0x58,0xd5] -# W_FEATS: msrr RCWMASK_EL1, x0, x1 // encoding: [0xc0,0xd0,0x58,0xd5] -# W_FEATS: msrr TTBR0_EL2, x0, x1 // encoding: [0x00,0x20,0x5c,0xd5] -# W_FEATS: msrr TTBR1_EL2, x0, x1 // encoding: [0x20,0x20,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x0, x1 // encoding: [0x00,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x0, x1 // encoding: [0x00,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x2, x3 // encoding: [0x02,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x4, x5 // encoding: [0x04,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x6, x7 // encoding: [0x06,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x8, x9 // encoding: [0x08,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x10, x11 // encoding: [0x0a,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x12, x13 // encoding: [0x0c,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x14, x15 // encoding: [0x0e,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x16, x17 // encoding: [0x10,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x18, x19 // encoding: [0x12,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x20, x21 // encoding: [0x14,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x22, x23 // encoding: [0x16,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x24, x25 // encoding: [0x18,0x21,0x5c,0xd5] -# W_FEATS: msrr VTTBR_EL2, x26, x27 // encoding: [0x1a,0x21,0x5c,0xd5] - -# ERROR-NO-D128: warning: invalid instruction encoding diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.4a-chk.txt b/llvm/test/MC/Disassembler/AArch64/armv9.4a-chk.txt deleted file mode 100644 index 730f4440402e1..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv9.4a-chk.txt +++ /dev/null @@ -1,8 +0,0 @@ -# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a -disassemble %s 2> %t | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a -disassemble %s 2> %t | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+chk -disassemble %s 2> %t | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v8a -disassemble %s 2> %t | FileCheck %s --check-prefix=NO-CHK - -[0x1f,0x25,0x03,0xd5] -// CHECK: chkfeat x16 -// NO-CHK: hint #40 diff --git a/llvm/test/MC/Disassembler/AArch64/armv9.5a-tlbiw.txt b/llvm/test/MC/Disassembler/AArch64/armv9.5a-tlbiw.txt deleted file mode 100644 index df5e894a929e4..0000000000000 --- a/llvm/test/MC/Disassembler/AArch64/armv9.5a-tlbiw.txt +++ /dev/null @@ -1,27 +0,0 @@ -# RUN: llvm-mc -triple aarch64 -disassemble -mattr=+tlbiw -mattr=+xs < %s | FileCheck --check-prefix=CHECK-TLBIW --check-prefix=CHECK-XS %s -# RUN: llvm-mc -triple aarch64 -disassemble -mattr=+tlbiw < %s | FileCheck --check-prefix=CHECK-TLBIW --check-prefix=CHECK-NO-XS-TLBIW %s -# RUN: llvm-mc -triple aarch64 -disassemble < %s | FileCheck --check-prefix=CHECK-NO-TLBIW --check-prefix=CHECK-NO-XS-TLBIW %s - -[0x5f,0x86,0x0c,0xd5] -# CHECK-TLBIW: tlbi vmallws2e1 -# CHECK-NO-TLBIW: sys #4, c8, c6, #2 - -[0x5f,0x82,0x0c,0xd5] -# CHECK-TLBIW: tlbi vmallws2e1is -# CHECK-NO-TLBIW: sys #4, c8, c2, #2 - -[0x5f,0x85,0x0c,0xd5] -# CHECK-TLBIW: tlbi vmallws2e1os -# CHECK-NO-TLBIW: sys #4, c8, c5, #2 - -[0x5f,0x96,0x0c,0xd5] -# CHECK-XS: tlbi vmallws2e1nxs -# CHECK-NO-XS-TLBIW: sys #4, c9, c6, #2 - -[0x5f,0x92,0x0c,0xd5] -# CHECK-XS: tlbi vmallws2e1isnxs -# CHECK-NO-XS-TLBIW: sys #4, c9, c2, #2 - -[0x5f,0x95,0x0c,0xd5] -# CHECK-XS: tlbi vmallws2e1osnxs -# CHECK-NO-XS-TLBIW: sys #4, c9, c5, #2