summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/interwork.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/ARM/interwork.ll')
-rw-r--r--llvm/test/CodeGen/ARM/interwork.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/interwork.ll b/llvm/test/CodeGen/ARM/interwork.ll
new file mode 100644
index 00000000000..9a75cdea6fe
--- /dev/null
+++ b/llvm/test/CodeGen/ARM/interwork.ll
@@ -0,0 +1,23 @@
+; One file may have multiple functions targeted at different (ARM, Thumb)
+; instruction sets. Passing this information to the linker and the assembler
+; is done through the ".code 16" and ".code 32" directives.
+;
+; RUN: llc -mtriple=arm-arm-none-eabi %s -o - | FileCheck %s
+
+define void @ft() #0 {
+; CHECK: .code 16
+; CHECK: .thumb_func
+; CHECK-LABEL: ft:
+entry:
+ ret void
+}
+
+define void @fz() #1 {
+; CHECK: .code 32
+; CHECK-LABEL: fz:
+entry:
+ ret void
+}
+
+attributes #0 = { "target-features"="+thumb-mode" }
+attributes #1 = { "target-features"="-thumb-mode" }
OpenPOWER on IntegriCloud