summaryrefslogtreecommitdiff
path: root/test/MC/AArch64/armv8.4a-vncr.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/AArch64/armv8.4a-vncr.s')
-rw-r--r--test/MC/AArch64/armv8.4a-vncr.s19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/MC/AArch64/armv8.4a-vncr.s b/test/MC/AArch64/armv8.4a-vncr.s
new file mode 100644
index 000000000000..117087226ef2
--- /dev/null
+++ b/test/MC/AArch64/armv8.4a-vncr.s
@@ -0,0 +1,19 @@
+// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.4a < %s 2> %t | FileCheck %s --check-prefix=CHECK
+// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=-v8.4a < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-V84
+
+//------------------------------------------------------------------------------
+// ARMV8.4-A Enhanced Support for Nested Virtualization
+//------------------------------------------------------------------------------
+
+mrs x0, VNCR_EL2
+msr VNCR_EL2, x0
+
+// CHECK: mrs x0, VNCR_EL2 // encoding: [0x00,0x22,0x3c,0xd5]
+// CHECK: msr VNCR_EL2, x0 // encoding: [0x00,0x22,0x1c,0xd5]
+
+//CHECK-NO-V84: error: expected readable system register
+//CHECK-NO-V84-NEXT: mrs x0, VNCR_EL2
+//CHECK-NO-V84-NEXT: ^
+//CHECK-NO-V84-NEXT: error: expected writable system register or pstate
+//CHECK-NO-V84-NEXT: msr VNCR_EL2, x0
+//CHECK-NO-V84-NEXT: ^