|
|
@@ -1,21 +1,16 @@ |
|
|
; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -relocation-model=pic | FileCheck %s |
|
|
@foobar = common global i32 0, align 4 |
|
|
; RUN: llc < %s -mtriple=powerpc-unknown-linux-gnu -relocation-model=pic | FileCheck -check-prefix=SMALL-BSS %s |
|
|
@bar = common global i32 0, align 4 |
|
|
|
|
|
define i32 @foo() { |
|
|
entry: |
|
|
%0 = load i32* @foobar, align 4 |
|
|
%0 = load i32* @bar, align 4 |
|
|
ret i32 %0 |
|
|
} |
|
|
|
|
|
; CHECK: [[POFF:\.L[0-9]+\$poff]]: |
|
|
; CHECK-NEXT: .long .L.TOC.-[[PB:\.L[0-9]+\$pb]] |
|
|
; CHECK-NEXT: foo: |
|
|
; CHECK: bl [[PB]] |
|
|
; CHECK-NEXT: [[PB]]: |
|
|
; CHECK: mflr 30 |
|
|
; CHECK: lwz [[REG:[0-9]+]], [[POFF]]-[[PB]](30) |
|
|
; CHECK-NEXT: add 30, [[REG]], 30 |
|
|
; CHECK: lwz [[VREG:[0-9]+]], [[VREF:\.LC[0-9]+]]-.L.TOC.(30) |
|
|
; CHECK: lwz {{[0-9]+}}, 0([[VREG]]) |
|
|
; CHECK: [[VREF]]: |
|
|
; CHECK-NEXT: .long foobar |
|
|
!llvm.module.flags = !{!0} |
|
|
!0 = metadata !{i32 1, metadata !"flag_pic", i32 1} |
|
|
; SMALL-BSS-LABEL:foo: |
|
|
; SMALL-BSS: bl _GLOBAL_OFFSET_TABLE_@local-4 |
|
|
; SMALL-BSS: mflr 30 |
|
|
; SMALL-BSS: lwz [[VREG:[0-9]+]], bar@GOT(30) |
|
|
; SMALL-BSS: lwz {{[0-9]+}}, 0([[VREG]]) |