xref: /llvm-project/llvm/test/CodeGen/ARM/tls2.ll (revision bed1c7f061aa12417aa081e334afdba45767b938)
1; RUN: llc < %s -mtriple=arm-linux-gnueabi \
2; RUN:   | FileCheck %s -check-prefix=CHECK-NONPIC
3; RUN: llc < %s -mtriple=arm-linux-gnueabi -relocation-model=pic \
4; RUN:   | FileCheck %s -check-prefix=CHECK-PIC
5
6@i = external thread_local global i32		; <ptr> [#uses=2]
7
8define i32 @f() {
9; CHECK-NONPIC-LABEL: f:
10; CHECK-NONPIC: ldr {{r.}}, [pc, {{r.}}]
11; CHECK-NONPIC: i(GOTTPOFF)
12; CHECK-PIC-LABEL: f:
13; CHECK-PIC: __tls_get_addr
14entry:
15	%tmp1 = load i32, ptr @i		; <i32> [#uses=1]
16	ret i32 %tmp1
17}
18
19define ptr @g() {
20; CHECK-NONPIC-LABEL: g:
21; CHECK-NONPIC: ldr {{r.}}, [pc, {{r.}}]
22; CHECK-NONPIC: i(GOTTPOFF)
23; CHECK-PIC-LABEL: g:
24; CHECK-PIC: __tls_get_addr
25entry:
26	ret ptr @i
27}
28