blob: 57370c4de1c268b141fedbb6f747016121ab2100 [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:
Johnny Chen9e088762010-03-17 17:52:21 +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:
Johnny Chen9e088762010-03-17 17:52:21 +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}