summaryrefslogtreecommitdiff
path: root/test/MC/ARM/arm-trustzone.s
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2013-06-10 20:36:52 +0000
committerDimitry Andric <dim@FreeBSD.org>2013-06-10 20:36:52 +0000
commit59d6cff90eecf31cb3dd860c4e786674cfdd42eb (patch)
tree909310b2e05119d1d6efda049977042abbb58bb1 /test/MC/ARM/arm-trustzone.s
parent4a16efa3e43e35f0cc9efe3a67f620f0017c3d36 (diff)
Notes
Diffstat (limited to 'test/MC/ARM/arm-trustzone.s')
-rw-r--r--test/MC/ARM/arm-trustzone.s24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/MC/ARM/arm-trustzone.s b/test/MC/ARM/arm-trustzone.s
new file mode 100644
index 0000000000000..69157f60dc0a7
--- /dev/null
+++ b/test/MC/ARM/arm-trustzone.s
@@ -0,0 +1,24 @@
+@ RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -show-encoding -mattr=-trustzone < %s | FileCheck %s -check-prefix=NOTZ
+@ RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -show-encoding -mattr=trustzone < %s | FileCheck %s -check-prefix=TZ
+
+ .syntax unified
+ .globl _func
+
+@ Check that the assembler processes SMC instructions when TrustZone support is
+@ active and that it rejects them when this feature is not enabled
+
+_func:
+@ CHECK: _func
+
+
+@------------------------------------------------------------------------------
+@ SMC
+@------------------------------------------------------------------------------
+ smc #0xf
+ smceq #0
+
+@ NOTZ-NOT: smc #15
+@ NOTZ-NOT: smceq #0
+@ TZ: smc #15 @ encoding: [0x7f,0x00,0x60,0xe1]
+@ TZ: smceq #0 @ encoding: [0x70,0x00,0x60,0x01]
+