73 lines · plain
1; RUN: llc < %s -mtriple=armv6-apple-darwin -relocation-model=static | FileCheck %s -check-prefix=DarwinStatic2; RUN: llc < %s -mtriple=armv6-apple-darwin -relocation-model=dynamic-no-pic | FileCheck %s -check-prefix=DarwinDynamic3; RUN: llc < %s -mtriple=armv6-apple-darwin -relocation-model=pic | FileCheck %s -check-prefix=DarwinPIC4; RUN: llc < %s -mtriple=armv6-linux-gnueabi -relocation-model=pic | FileCheck %s -check-prefix=LinuxPIC5 6@G = external global i327 8define i32 @test1() {9 %tmp = load i32, ptr @G10 ret i32 %tmp11}12 13; DarwinStatic: _test1:14; DarwinStatic: ldr r0, LCPI0_015; DarwinStatic: ldr r0, [r0]16; DarwinStatic: bx lr17 18; DarwinStatic: .p2align 219; DarwinStatic: LCPI0_0:20; DarwinStatic: .long {{_G$}}21 22 23; DarwinDynamic: _test1:24; DarwinDynamic: ldr r0, LCPI0_025; DarwinDynamic: ldr r0, [r0]26; DarwinDynamic: ldr r0, [r0]27; DarwinDynamic: bx lr28 29; DarwinDynamic: .p2align 230; DarwinDynamic: LCPI0_0:31; DarwinDynamic: .long L_G$non_lazy_ptr32 33; DarwinDynamic: .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers34; DarwinDynamic: .p2align 235; DarwinDynamic: L_G$non_lazy_ptr:36; DarwinDynamic: .indirect_symbol _G37; DarwinDynamic: .long 038 39 40 41; DarwinPIC: _test1:42; DarwinPIC: ldr r0, LCPI0_043; DarwinPIC: LPC0_0:44; DarwinPIC: ldr r0, [pc, r0]45; DarwinPIC: ldr r0, [r0]46; DarwinPIC-NOT: ldr47; DarwinPIC: bx lr48 49; DarwinPIC: .p2align 250; DarwinPIC: LCPI0_0:51; DarwinPIC: .long L_G$non_lazy_ptr-(LPC0_0+8)52 53; DarwinPIC: .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers54; DarwinPIC: .p2align 255; DarwinPIC: L_G$non_lazy_ptr:56; DarwinPIC: .indirect_symbol _G57; DarwinPIC: .long 058 59 60 61; LinuxPIC-LABEL: test1:62; LinuxPIC: ldr r0, .LCPI0_063 64; LinuxPIC: .LPC0_0:65; LinuxPIC: ldr r0, [pc, r0]66; LinuxPIC: ldr r0, [r0]67; LinuxPIC: bx lr68 69; LinuxPIC: .p2align 270; LinuxPIC: .LCPI0_0:71; LinuxPIC: .Ltmp0:72; LinuxPIC: .long G(GOT_PREL)-(.LPC0_0+8-.Ltmp0)73