blob: d932f90e4c10fe4b10fd152e15c3af5b25e2ffa6 [file] [log] [blame]
Dan Gohmanfce288f2009-09-09 00:09:15 +00001; RUN: llc < %s -march=arm -mtriple=arm-linux-gnueabi \
Bob Wilsonb9350312009-10-27 06:16:45 +00002; RUN: | FileCheck %s -check-prefix=CHECK-NONPIC
3; RUN: llc < %s -march=arm -mtriple=arm-linux-gnueabi \
4; RUN: -relocation-model=pic | FileCheck %s -check-prefix=CHECK-PIC
Lauro Ramos Venancio1bd151a2007-04-27 21:08:48 +00005
6@i = external thread_local global i32 ; <i32*> [#uses=2]
7
8define i32 @f() {
Bob Wilsonb9350312009-10-27 06:16:45 +00009; CHECK-NONPIC: f:
Bob Wilson49d9dc42010-03-16 16:59:47 +000010; CHECK-NONPIC: ldr {{r.}}, [pc, +{{r.}}]
Bob Wilsonb9350312009-10-27 06:16:45 +000011; CHECK-NONPIC: i(gottpoff)
12; CHECK-PIC: f:
13; CHECK-PIC: __tls_get_addr
Lauro Ramos Venancio1bd151a2007-04-27 21:08:48 +000014entry:
15 %tmp1 = load i32* @i ; <i32> [#uses=1]
16 ret i32 %tmp1
17}
18
19define i32* @g() {
Bob Wilsonb9350312009-10-27 06:16:45 +000020; CHECK-NONPIC: g:
Bob Wilson49d9dc42010-03-16 16:59:47 +000021; CHECK-NONPIC: ldr {{r.}}, [pc, +{{r.}}]
Bob Wilsonb9350312009-10-27 06:16:45 +000022; CHECK-NONPIC: i(gottpoff)
23; CHECK-PIC: g:
24; CHECK-PIC: __tls_get_addr
Lauro Ramos Venancio1bd151a2007-04-27 21:08:48 +000025entry:
26 ret i32* @i
27}