summaryrefslogtreecommitdiff
path: root/test/MC/ARM/arm-trustzone.s
diff options
context:
space:
mode:
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 0000000000..69157f60dc
--- /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]
+