summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/load-global.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/ARM/load-global.ll')
-rw-r--r--test/CodeGen/ARM/load-global.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/load-global.ll b/test/CodeGen/ARM/load-global.ll
new file mode 100644
index 000000000000..8896ead5a51c
--- /dev/null
+++ b/test/CodeGen/ARM/load-global.ll
@@ -0,0 +1,19 @@
+; RUN: llvm-as < %s | \
+; RUN: llc -mtriple=arm-apple-darwin -relocation-model=static | \
+; RUN: not grep {L_G\$non_lazy_ptr}
+; RUN: llvm-as < %s | \
+; RUN: llc -mtriple=arm-apple-darwin -relocation-model=dynamic-no-pic | \
+; RUN: grep {L_G\$non_lazy_ptr} | count 2
+; RUN: llvm-as < %s | \
+; RUN: llc -mtriple=arm-apple-darwin -relocation-model=pic | \
+; RUN: grep {ldr.*pc} | count 1
+; RUN: llvm-as < %s | \
+; RUN: llc -mtriple=arm-linux-gnueabi -relocation-model=pic | \
+; RUN: grep {GOT} | count 1
+
+@G = external global i32
+
+define i32 @test1() {
+ %tmp = load i32* @G
+ ret i32 %tmp
+}