summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/Disassembler
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2018-09-27 13:47:40 +0000
committerOliver Stannard <oliver.stannard@arm.com>2018-09-27 13:47:40 +0000
commit224428c06a24303b2200aa98d719f080570fcb9f (patch)
tree25c0c4961fc15264a0047b3832c0956337f57404 /llvm/test/MC/Disassembler
parent382c935c4231eaf7b820cb207c9fbd0c50505181 (diff)
downloadbcm5719-llvm-224428c06a24303b2200aa98d719f080570fcb9f.tar.gz
bcm5719-llvm-224428c06a24303b2200aa98d719f080570fcb9f.zip
[AArch64][v8.5A] Add prediction invalidation instructions to AArch64
This adds new system instructions which act as barriers to speculative execution based on earlier execution within a particular execution context. Patch by Pablo Barrio! Differential revision: https://reviews.llvm.org/D52479 llvm-svn: 343214
Diffstat (limited to 'llvm/test/MC/Disassembler')
-rw-r--r--llvm/test/MC/Disassembler/AArch64/armv8.5a-predctrl.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.5a-predctrl.txt b/llvm/test/MC/Disassembler/AArch64/armv8.5a-predctrl.txt
new file mode 100644
index 00000000000..ecfdeec86f1
--- /dev/null
+++ b/llvm/test/MC/Disassembler/AArch64/armv8.5a-predctrl.txt
@@ -0,0 +1,15 @@
+# RUN: llvm-mc -triple=aarch64 -mattr=+predctrl -disassemble < %s | FileCheck %s
+# RUN: llvm-mc -triple=aarch64 -mattr=+v8.5a -disassemble < %s | FileCheck %s
+# RUN: llvm-mc -triple=aarch64 -mattr=-predctrl -disassemble < %s 2>&1 | FileCheck %s --check-prefix=NOSB
+
+[0x80 0x73 0x0b 0xd5]
+[0xa1 0x73 0x0b 0xd5]
+[0xe2 0x73 0x0b 0xd5]
+
+# CHECK: cfp rctx, x0
+# CHECK: dvp rctx, x1
+# CHECK: cpp rctx, x2
+
+# NOSB: sys #3, c7, c3, #4, x0
+# NOSB: sys #3, c7, c3, #5, x1
+# NOSB: sys #3, c7, c3, #7, x2
OpenPOWER on IntegriCloud