diff options
Diffstat (limited to 'test/CodeGen/AArch64/arm64-global-address.ll')
-rw-r--r-- | test/CodeGen/AArch64/arm64-global-address.ll | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/AArch64/arm64-global-address.ll b/test/CodeGen/AArch64/arm64-global-address.ll new file mode 100644 index 0000000000..005f414f87 --- /dev/null +++ b/test/CodeGen/AArch64/arm64-global-address.ll @@ -0,0 +1,14 @@ +; RUN: llc < %s -mtriple=arm64-apple-ios7.0 | FileCheck %s +; rdar://9618644 + +@G = external global i32 + +define i32 @test(i32 %off) nounwind { +; CHECK-LABEL: test: +; CHECK: adrp x[[REG:[0-9]+]], _G@GOTPAGE +; CHECK: ldr x[[REG2:[0-9]+]], [x[[REG]], _G@GOTPAGEOFF] +; CHECK: add w0, w[[REG2]], w0 + %tmp = ptrtoint i32* @G to i32 + %tmp1 = add i32 %tmp, %off + ret i32 %tmp1 +} |