summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorCharlie Turner <charlie.turner@arm.com>2014-12-01 08:33:28 +0000
committerCharlie Turner <charlie.turner@arm.com>2014-12-01 08:33:28 +0000
commit4d88ae20026521a4a5ff1a8f74f482242c63f8c9 (patch)
tree8d121c4727a47f5ae83874b100b8dca40c32c4e0 /llvm/test
parent107d13c228687ff40d84172764c5082ea90b7fe1 (diff)
downloadbcm5719-llvm-4d88ae20026521a4a5ff1a8f74f482242c63f8c9.tar.gz
bcm5719-llvm-4d88ae20026521a4a5ff1a8f74f482242c63f8c9.zip
Add ARM ERET and HVC virtualisation extension instructions.
Patch by Matthew Wahab. Change-Id: Iad75f078fbaa4ecc7d7a4820ad9b3930679cbbbb llvm-svn: 222989
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/ARM/virtexts-arm.s42
-rw-r--r--llvm/test/MC/Disassembler/ARM/virtexts-arm.txt41
2 files changed, 83 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/virtexts-arm.s b/llvm/test/MC/ARM/virtexts-arm.s
new file mode 100644
index 00000000000..a67a8fea5c6
--- /dev/null
+++ b/llvm/test/MC/ARM/virtexts-arm.s
@@ -0,0 +1,42 @@
+# RUN: llvm-mc -triple armv7 -mattr=virtualization -show-encoding %s | FileCheck %s --check-prefix=CHECK-ARM
+
+ hvc #1
+ hvc #7
+ hvc #257
+ hvc #65535
+# CHECK-ARM: [0x71,0x00,0x40,0xe1]
+# CHECK-ARM: [0x77,0x00,0x40,0xe1]
+# CHECK-ARM: [0x71,0x10,0x40,0xe1]
+# CHECK-ARM: [0x7f,0xff,0x4f,0xe1]
+
+ eret
+ ereteq
+ eretne
+ ereths
+ eretlo
+ eretmi
+ eretpl
+ eretvs
+ eretvc
+ erethi
+ eretls
+ eretge
+ eretlt
+ eretgt
+ eretle
+# CHECK-ARM: [0x6e,0x00,0x60,0xe1]
+# CHECK-ARM: [0x6e,0x00,0x60,0x01]
+# CHECK-ARM: [0x6e,0x00,0x60,0x11]
+# CHECK-ARM: [0x6e,0x00,0x60,0x21]
+# CHECK-ARM: [0x6e,0x00,0x60,0x31]
+# CHECK-ARM: [0x6e,0x00,0x60,0x41]
+# CHECK-ARM: [0x6e,0x00,0x60,0x51]
+# CHECK-ARM: [0x6e,0x00,0x60,0x61]
+# CHECK-ARM: [0x6e,0x00,0x60,0x71]
+# CHECK-ARM: [0x6e,0x00,0x60,0x81]
+# CHECK-ARM: [0x6e,0x00,0x60,0x91]
+# CHECK-ARM: [0x6e,0x00,0x60,0xa1]
+# CHECK-ARM: [0x6e,0x00,0x60,0xb1]
+# CHECK-ARM: [0x6e,0x00,0x60,0xc1]
+# CHECK-ARM: [0x6e,0x00,0x60,0xd1]
+
diff --git a/llvm/test/MC/Disassembler/ARM/virtexts-arm.txt b/llvm/test/MC/Disassembler/ARM/virtexts-arm.txt
new file mode 100644
index 00000000000..a18466f2d66
--- /dev/null
+++ b/llvm/test/MC/Disassembler/ARM/virtexts-arm.txt
@@ -0,0 +1,41 @@
+# RUN: llvm-mc -disassemble -triple armv7a -mcpu=cortex-a15 %s | FileCheck %s
+
+[0x71,0x00,0x40,0xe1]
+[0x77,0x00,0x40,0xe1]
+[0x71,0x10,0x40,0xe1]
+[0x7f,0xff,0x4f,0xe1]
+# CHECK: hvc #1
+# CHECK: hvc #7
+# CHECK: hvc #257
+# CHECK: hvc #65535
+
+[0x6e,0x00,0x60,0xe1]
+[0x6e,0x00,0x60,0x01]
+[0x6e,0x00,0x60,0x11]
+[0x6e,0x00,0x60,0x21]
+[0x6e,0x00,0x60,0x31]
+[0x6e,0x00,0x60,0x41]
+[0x6e,0x00,0x60,0x51]
+[0x6e,0x00,0x60,0x61]
+[0x6e,0x00,0x60,0x71]
+[0x6e,0x00,0x60,0x81]
+[0x6e,0x00,0x60,0x91]
+[0x6e,0x00,0x60,0xa1]
+[0x6e,0x00,0x60,0xb1]
+[0x6e,0x00,0x60,0xc1]
+[0x6e,0x00,0x60,0xd1]
+# CHECK: eret
+# CHECK: ereteq
+# CHECK: eretne
+# CHECK: ereths
+# CHECK: eretlo
+# CHECK: eretmi
+# CHECK: eretpl
+# CHECK: eretvs
+# CHECK: eretvc
+# CHECK: erethi
+# CHECK: eretls
+# CHECK: eretge
+# CHECK: eretlt
+# CHECK: eretgt
+# CHECK: eretle
OpenPOWER on IntegriCloud