brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 56a30a8 Raw
59 lines · plain
1; RUN: llc < %s -relocation-model=pic -mtriple=x86_64-pc-linux | FileCheck %s2; RUN: llc < %s -relocation-model=pic -mtriple=i386-pc-linux | FileCheck --check-prefix=I386 %s3 4@foo1 = extern_weak hidden global i32, align 45define ptr @bar1() {6  ret ptr @foo17}8; CHECK: bar1:9; CHECK: movq foo1@GOTPCREL(%rip), %rax10; I386: bar1:11; I386: movl foo1@GOT(%eax), %eax12 13@foo2 = external hidden global i32, align 414define ptr @bar2() {15  ret ptr @foo216}17; CHECK: bar2:18; CHECK: leaq foo2(%rip), %rax19; I386: bar2:20; I386: leal foo2@GOTOFF(%eax), %eax21 22declare extern_weak hidden void @foo3()23define void @bar3() {24  call void @foo3()25  ret void26}27; CHECK: bar3:28; CHECK: callq foo329; I386: bar3:30; I386: calll foo331 32declare external hidden void @foo4()33define void @bar4() {34  call void @foo4()35  ret void36}37; CHECK: bar4:38; CHECK: callq foo439; I386: bar4:40; I386: calll foo441 42declare extern_weak hidden i32 @foo5()43define ptr @bar5() {44  ret ptr @foo545}46; CHECK: bar5:47; CHECK: movq foo5@GOTPCREL(%rip), %rax48; I386: bar5:49; I386: movl foo5@GOT(%eax), %eax50 51declare external hidden i32 @foo6()52define ptr @bar6() {53  ret ptr @foo654}55; CHECK: bar6:56; CHECK: leaq foo6(%rip), %rax57; I386: bar6:58; I386: leal foo6@GOTOFF(%eax), %eax59