change TLS_ADDR lowering to lower to a real mem operand, instead of matching as
[oota-llvm.git] / test / CodeGen / X86 / tls3-pic.ll
1 ; RUN: llvm-as < %s | llc -march=x86 -mtriple=i386-linux-gnu -relocation-model=pic  > %t
2 ; RUN: grep {leal       i@TLSGD(,%ebx), %eax} %t
3 ; RUN: grep {call       ___tls_get_addr@PLT} %t
4 ; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic > %t2
5 ; RUN: grep {leaq       i@TLSGD(%rip), %rdi} %t2
6 ; RUN: grep {call       __tls_get_addr@PLT} %t2
7
8 @i = external thread_local global i32           ; <i32*> [#uses=2]
9
10 define i32 @f() {
11 entry:
12         %tmp1 = load i32* @i            ; <i32> [#uses=1]
13         ret i32 %tmp1
14 }