Index: test/NaCl/ARM/nacl-read-tp-intrinsic.ll |
diff --git a/test/NaCl/ARM/nacl-read-tp-intrinsic.ll b/test/NaCl/ARM/nacl-read-tp-intrinsic.ll |
new file mode 100644 |
index 0000000000000000000000000000000000000000..90a9f787b59fe43029efac0bf2ffc72c9b396ef7 |
--- /dev/null |
+++ b/test/NaCl/ARM/nacl-read-tp-intrinsic.ll |
@@ -0,0 +1,20 @@ |
+ |
+; RUN: pnacl-llc -mtriple=armv7-unknown-nacl -filetype=asm %s -o - \ |
+; RUN: | FileCheck -check-prefix=ARM %s |
+ |
+; RUN: pnacl-llc -mtriple=armv7-unknown-nacl -filetype=asm -mtls-use-call %s -o - \ |
+; RUN: | FileCheck -check-prefix=ARM_IRT %s |
+ |
+ |
+declare i8* @llvm.nacl.read.tp() |
+ |
+define i8* @get_thread_pointer() { |
+ %tp = call i8* @llvm.nacl.read.tp() |
+ ret i8* %tp |
+} |
+ |
+; ARM: get_thread_pointer: |
+; ARM: ldr r0, [r9] |
+ |
+; ARM_IRT: get_thread_pointer: |
+; ARM_IRT: bl __aeabi_read_tp |