xref: /llvm-project/llvm/test/CodeGen/PowerPC/aix-shared-lib-tls-model-opt.ll (revision ea126aebdc9d8205016f355d85dbf1c15f2f4b28)
1*ea126aebSFelix (Ting Wang); NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
3*ea126aebSFelix (Ting Wang); RUN:      --code-model=small < %s | FileCheck %s --check-prefixes=DEFAULT_SMALL64
4*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
5*ea126aebSFelix (Ting Wang); RUN:      --code-model=large < %s | FileCheck %s --check-prefixes=DEFAULT_LARGE64
6*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
7*ea126aebSFelix (Ting Wang); RUN:      -mattr=+aix-shared-lib-tls-model-opt --code-model=small < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_SMALL64
8*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
9*ea126aebSFelix (Ting Wang); RUN:      -mattr=+aix-shared-lib-tls-model-opt --code-model=large < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LARGE64
10*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
11*ea126aebSFelix (Ting Wang); RUN:      -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=2 \
12*ea126aebSFelix (Ting Wang); RUN:      --code-model=small < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT2_SMALL64
13*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
14*ea126aebSFelix (Ting Wang); RUN:      -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=2 \
15*ea126aebSFelix (Ting Wang); RUN:      --code-model=large < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT2_LARGE64
16*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
17*ea126aebSFelix (Ting Wang); RUN:      -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=3 \
18*ea126aebSFelix (Ting Wang); RUN:      --code-model=small < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT3_SMALL64
19*ea126aebSFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \
20*ea126aebSFelix (Ting Wang); RUN:      -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=3 \
21*ea126aebSFelix (Ting Wang); RUN:      --code-model=large < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT3_LARGE64
22*ea126aebSFelix (Ting Wang)
23*ea126aebSFelix (Ting Wang)@VarTLSLD1 = internal thread_local(localdynamic) global i32 42, align 4
24*ea126aebSFelix (Ting Wang)@VarTLSLD2 = internal thread_local(localdynamic) global i32 0, align 4
25*ea126aebSFelix (Ting Wang)@VarTLSLD3 = internal thread_local(localdynamic) global i32 0, align 4
26*ea126aebSFelix (Ting Wang)
27*ea126aebSFelix (Ting Wang); Tune function level TLS model settings:
28*ea126aebSFelix (Ting Wang); Use initial-exec when we have a function accessing only one TLS variable.
29*ea126aebSFelix (Ting Wang); Use local-dynamic when we have a function accessing a handful or more different TLS variables.
30*ea126aebSFelix (Ting Wang)
31*ea126aebSFelix (Ting Wang)define i32 @Single_LD(i32 %P, i32 %Q) {
32*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: Single_LD:
33*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64:       # %bb.0: # %entry
34*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    mflr 0
35*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    stdu 1, -48(1)
36*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    and 6, 3, 4
37*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tlsldm) @"_$TLSML"
38*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    std 0, 64(1)
39*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    bla .__tls_get_mod[PR]
40*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 4, L..C1(2) # target-flags(ppc-tlsld) @VarTLSLD1
41*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    cmpwi 6, -1
42*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    lwzx 3, 3, 4
43*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    addi 1, 1, 48
44*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 0, 16(1)
45*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    mtlr 0
46*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    blr
47*ea126aebSFelix (Ting Wang);
48*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: Single_LD:
49*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64:       # %bb.0: # %entry
50*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    mflr 0
51*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    stdu 1, -48(1)
52*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    and 6, 3, 4
53*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 3, L..C0@u(2)
54*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 7, L..C1@u(2)
55*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 3, L..C0@l(3)
56*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    std 0, 64(1)
57*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    bla .__tls_get_mod[PR]
58*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 4, L..C1@l(7)
59*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    lwzx 3, 3, 4
60*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    cmpwi 6, -1
61*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addi 1, 1, 48
62*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 0, 16(1)
63*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    mtlr 0
64*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    blr
65*ea126aebSFelix (Ting Wang);
66*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: Single_LD:
67*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64:       # %bb.0: # %entry
68*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    and 4, 3, 4
69*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1
70*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    cmpwi 4, -1
71*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    lwzx 3, 13, 3
72*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    blr
73*ea126aebSFelix (Ting Wang);
74*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: Single_LD:
75*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64:       # %bb.0: # %entry
76*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    and 4, 3, 4
77*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 3, L..C0@u(2)
78*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 3, L..C0@l(3)
79*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    cmpwi 4, -1
80*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    lwzx 3, 13, 3
81*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    blr
82*ea126aebSFelix (Ting Wang);
83*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: Single_LD:
84*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64:       # %bb.0: # %entry
85*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    and 4, 3, 4
86*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1
87*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    cmpwi 4, -1
88*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    lwzx 3, 13, 3
89*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    blr
90*ea126aebSFelix (Ting Wang);
91*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: Single_LD:
92*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64:       # %bb.0: # %entry
93*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    and 4, 3, 4
94*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addis 3, L..C0@u(2)
95*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 3, L..C0@l(3)
96*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    cmpwi 4, -1
97*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    lwzx 3, 13, 3
98*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    blr
99*ea126aebSFelix (Ting Wang);
100*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: Single_LD:
101*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64:       # %bb.0: # %entry
102*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    and 4, 3, 4
103*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1
104*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    cmpwi 4, -1
105*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    lwzx 3, 13, 3
106*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    blr
107*ea126aebSFelix (Ting Wang);
108*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: Single_LD:
109*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64:       # %bb.0: # %entry
110*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    and 4, 3, 4
111*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    addis 3, L..C0@u(2)
112*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    ld 3, L..C0@l(3)
113*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    cmpwi 4, -1
114*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    lwzx 3, 13, 3
115*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    blr
116*ea126aebSFelix (Ting Wang)entry:
117*ea126aebSFelix (Ting Wang)  %a = icmp slt i32 %P, 0
118*ea126aebSFelix (Ting Wang)  %b = icmp slt i32 %Q, 0
119*ea126aebSFelix (Ting Wang)  %c = and i1 %a, %b
120*ea126aebSFelix (Ting Wang)  %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)
121*ea126aebSFelix (Ting Wang)  %load1 = load i32, ptr %tls1, align 4
122*ea126aebSFelix (Ting Wang)  br i1 %c, label %bb1, label %return
123*ea126aebSFelix (Ting Wang)
124*ea126aebSFelix (Ting Wang)bb1:
125*ea126aebSFelix (Ting Wang)  %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)
126*ea126aebSFelix (Ting Wang)  %load2 = load i32, ptr %tls2, align 4
127*ea126aebSFelix (Ting Wang)  ret i32 %load2
128*ea126aebSFelix (Ting Wang)
129*ea126aebSFelix (Ting Wang)return:
130*ea126aebSFelix (Ting Wang)  ret i32 %load1
131*ea126aebSFelix (Ting Wang)}
132*ea126aebSFelix (Ting Wang)
133*ea126aebSFelix (Ting Wang)define i32 @Two_LDs(i32 %P, i32 %Q) {
134*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: Two_LDs:
135*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64:       # %bb.0: # %entry
136*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    mflr 0
137*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    stdu 1, -48(1)
138*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    and 6, 3, 4
139*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tlsldm) @"_$TLSML"
140*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    std 0, 64(1)
141*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    bla .__tls_get_mod[PR]
142*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    cmpwi 6, -1
143*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    bgt 0, L..BB1_2
144*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:  # %bb.1: # %bb1
145*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2
146*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    lwzx 3, 3, 4
147*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    b L..BB1_3
148*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:  L..BB1_2: # %return
149*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 4, L..C1(2) # target-flags(ppc-tlsld) @VarTLSLD1
150*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    lwzx 3, 3, 4
151*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:  L..BB1_3: # %bb1
152*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    addi 1, 1, 48
153*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 0, 16(1)
154*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    mtlr 0
155*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    blr
156*ea126aebSFelix (Ting Wang);
157*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: Two_LDs:
158*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64:       # %bb.0: # %entry
159*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    mflr 0
160*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    stdu 1, -48(1)
161*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    and 6, 3, 4
162*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 3, L..C0@u(2)
163*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    std 0, 64(1)
164*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 3, L..C0@l(3)
165*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    bla .__tls_get_mod[PR]
166*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    cmpwi 6, -1
167*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    bgt 0, L..BB1_2
168*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:  # %bb.1: # %bb1
169*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 4, L..C2@u(2)
170*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 4, L..C2@l(4)
171*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    lwzx 3, 3, 4
172*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    b L..BB1_3
173*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:  L..BB1_2: # %return
174*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 4, L..C1@u(2)
175*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 4, L..C1@l(4)
176*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    lwzx 3, 3, 4
177*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:  L..BB1_3: # %bb1
178*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addi 1, 1, 48
179*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 0, 16(1)
180*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    mtlr 0
181*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    blr
182*ea126aebSFelix (Ting Wang);
183*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: Two_LDs:
184*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64:       # %bb.0: # %entry
185*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    mflr 0
186*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    stdu 1, -48(1)
187*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    and 6, 3, 4
188*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 3, L..C1(2) # target-flags(ppc-tlsldm) @"_$TLSML"
189*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    std 0, 64(1)
190*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    bla .__tls_get_mod[PR]
191*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    cmpwi 6, -1
192*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    bgt 0, L..BB1_2
193*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:  # %bb.1: # %bb1
194*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2
195*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    lwzx 3, 3, 4
196*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    b L..BB1_3
197*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:  L..BB1_2: # %return
198*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 4, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD1
199*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    lwzx 3, 3, 4
200*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:  L..BB1_3: # %bb1
201*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    addi 1, 1, 48
202*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 0, 16(1)
203*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    mtlr 0
204*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    blr
205*ea126aebSFelix (Ting Wang);
206*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: Two_LDs:
207*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64:       # %bb.0: # %entry
208*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    mflr 0
209*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    stdu 1, -48(1)
210*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    and 6, 3, 4
211*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 3, L..C1@u(2)
212*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    std 0, 64(1)
213*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 3, L..C1@l(3)
214*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    bla .__tls_get_mod[PR]
215*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    cmpwi 6, -1
216*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    bgt 0, L..BB1_2
217*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:  # %bb.1: # %bb1
218*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 4, L..C2@u(2)
219*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 4, L..C2@l(4)
220*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    lwzx 3, 3, 4
221*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    b L..BB1_3
222*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:  L..BB1_2: # %return
223*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 4, L..C3@u(2)
224*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 4, L..C3@l(4)
225*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    lwzx 3, 3, 4
226*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:  L..BB1_3: # %bb1
227*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addi 1, 1, 48
228*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 0, 16(1)
229*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    mtlr 0
230*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    blr
231*ea126aebSFelix (Ting Wang);
232*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: Two_LDs:
233*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64:       # %bb.0: # %entry
234*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    and 3, 3, 4
235*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    cmpwi 3, -1
236*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    bgt 0, L..BB1_2
237*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:  # %bb.1: # %bb1
238*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 3, L..C1(2) # target-flags(ppc-tprel) @VarTLSLD2
239*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    lwzx 3, 13, 3
240*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    blr
241*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:  L..BB1_2: # %return
242*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1
243*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    lwzx 3, 13, 3
244*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    blr
245*ea126aebSFelix (Ting Wang);
246*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: Two_LDs:
247*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64:       # %bb.0: # %entry
248*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    and 3, 3, 4
249*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    cmpwi 3, -1
250*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    bgt 0, L..BB1_2
251*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:  # %bb.1: # %bb1
252*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addis 3, L..C1@u(2)
253*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 3, L..C1@l(3)
254*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    lwzx 3, 13, 3
255*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    blr
256*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:  L..BB1_2: # %return
257*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addis 3, L..C0@u(2)
258*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 3, L..C0@l(3)
259*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    lwzx 3, 13, 3
260*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    blr
261*ea126aebSFelix (Ting Wang);
262*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: Two_LDs:
263*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64:       # %bb.0: # %entry
264*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    and 3, 3, 4
265*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    cmpwi 3, -1
266*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    bgt 0, L..BB1_2
267*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:  # %bb.1: # %bb1
268*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    ld 3, L..C1(2) # target-flags(ppc-tprel) @VarTLSLD2
269*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    lwzx 3, 13, 3
270*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    blr
271*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:  L..BB1_2: # %return
272*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1
273*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    lwzx 3, 13, 3
274*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    blr
275*ea126aebSFelix (Ting Wang);
276*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: Two_LDs:
277*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64:       # %bb.0: # %entry
278*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    and 3, 3, 4
279*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    cmpwi 3, -1
280*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    bgt 0, L..BB1_2
281*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:  # %bb.1: # %bb1
282*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    addis 3, L..C1@u(2)
283*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    ld 3, L..C1@l(3)
284*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    lwzx 3, 13, 3
285*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    blr
286*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:  L..BB1_2: # %return
287*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    addis 3, L..C0@u(2)
288*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    ld 3, L..C0@l(3)
289*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    lwzx 3, 13, 3
290*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    blr
291*ea126aebSFelix (Ting Wang)entry:
292*ea126aebSFelix (Ting Wang)  %a = icmp slt i32 %P, 0
293*ea126aebSFelix (Ting Wang)  %b = icmp slt i32 %Q, 0
294*ea126aebSFelix (Ting Wang)  %c = and i1 %a, %b
295*ea126aebSFelix (Ting Wang)  %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)
296*ea126aebSFelix (Ting Wang)  %load1 = load i32, ptr %tls1, align 4
297*ea126aebSFelix (Ting Wang)  br i1 %c, label %bb1, label %return
298*ea126aebSFelix (Ting Wang)
299*ea126aebSFelix (Ting Wang)bb1:
300*ea126aebSFelix (Ting Wang)  %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD2)
301*ea126aebSFelix (Ting Wang)  %load2 = load i32, ptr %tls2, align 4
302*ea126aebSFelix (Ting Wang)  ret i32 %load2
303*ea126aebSFelix (Ting Wang)
304*ea126aebSFelix (Ting Wang)return:
305*ea126aebSFelix (Ting Wang)  ret i32 %load1
306*ea126aebSFelix (Ting Wang)}
307*ea126aebSFelix (Ting Wang)
308*ea126aebSFelix (Ting Wang)define i32 @Three_LDs(i32 %P, i32 %Q) {
309*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: Three_LDs:
310*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64:       # %bb.0: # %entry
311*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    mflr 0
312*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    stdu 1, -48(1)
313*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    and 6, 3, 4
314*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tlsldm) @"_$TLSML"
315*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    std 0, 64(1)
316*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    bla .__tls_get_mod[PR]
317*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    cmpwi 6, -1
318*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    bgt 0, L..BB2_2
319*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:  # %bb.1: # %bb1
320*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2
321*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 5, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD3
322*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    lwzx 4, 3, 4
323*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    lwzx 3, 3, 5
324*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    add 3, 4, 3
325*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    b L..BB2_3
326*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:  L..BB2_2: # %return
327*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 4, L..C1(2) # target-flags(ppc-tlsld) @VarTLSLD1
328*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    lwzx 3, 3, 4
329*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:  L..BB2_3: # %return
330*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    addi 1, 1, 48
331*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    ld 0, 16(1)
332*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    mtlr 0
333*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT:    blr
334*ea126aebSFelix (Ting Wang);
335*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: Three_LDs:
336*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64:       # %bb.0: # %entry
337*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    mflr 0
338*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    stdu 1, -48(1)
339*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    and 6, 3, 4
340*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 3, L..C0@u(2)
341*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    std 0, 64(1)
342*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 3, L..C0@l(3)
343*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    bla .__tls_get_mod[PR]
344*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    cmpwi 6, -1
345*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    bgt 0, L..BB2_2
346*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:  # %bb.1: # %bb1
347*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 4, L..C2@u(2)
348*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 5, L..C3@u(2)
349*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 4, L..C2@l(4)
350*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 5, L..C3@l(5)
351*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    lwzx 4, 3, 4
352*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    lwzx 3, 3, 5
353*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    add 3, 4, 3
354*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    b L..BB2_3
355*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:  L..BB2_2: # %return
356*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addis 4, L..C1@u(2)
357*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 4, L..C1@l(4)
358*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    lwzx 3, 3, 4
359*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:  L..BB2_3: # %return
360*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    addi 1, 1, 48
361*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    ld 0, 16(1)
362*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    mtlr 0
363*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT:    blr
364*ea126aebSFelix (Ting Wang);
365*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: Three_LDs:
366*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64:       # %bb.0: # %entry
367*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    mflr 0
368*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    stdu 1, -48(1)
369*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    and 6, 3, 4
370*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 3, L..C1(2) # target-flags(ppc-tlsldm) @"_$TLSML"
371*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    std 0, 64(1)
372*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    bla .__tls_get_mod[PR]
373*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    cmpwi 6, -1
374*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    bgt 0, L..BB2_2
375*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:  # %bb.1: # %bb1
376*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2
377*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 5, L..C4(2) # target-flags(ppc-tlsld) @VarTLSLD3
378*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    lwzx 4, 3, 4
379*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    lwzx 3, 3, 5
380*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    add 3, 4, 3
381*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    b L..BB2_3
382*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:  L..BB2_2: # %return
383*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 4, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD1
384*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    lwzx 3, 3, 4
385*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:  L..BB2_3: # %return
386*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    addi 1, 1, 48
387*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    ld 0, 16(1)
388*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    mtlr 0
389*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT:    blr
390*ea126aebSFelix (Ting Wang);
391*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: Three_LDs:
392*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64:       # %bb.0: # %entry
393*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    mflr 0
394*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    stdu 1, -48(1)
395*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    and 6, 3, 4
396*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 3, L..C1@u(2)
397*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    std 0, 64(1)
398*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 3, L..C1@l(3)
399*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    bla .__tls_get_mod[PR]
400*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    cmpwi 6, -1
401*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    bgt 0, L..BB2_2
402*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:  # %bb.1: # %bb1
403*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 4, L..C2@u(2)
404*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 5, L..C4@u(2)
405*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 4, L..C2@l(4)
406*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 5, L..C4@l(5)
407*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    lwzx 4, 3, 4
408*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    lwzx 3, 3, 5
409*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    add 3, 4, 3
410*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    b L..BB2_3
411*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:  L..BB2_2: # %return
412*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addis 4, L..C3@u(2)
413*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 4, L..C3@l(4)
414*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    lwzx 3, 3, 4
415*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:  L..BB2_3: # %return
416*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    addi 1, 1, 48
417*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    ld 0, 16(1)
418*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    mtlr 0
419*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT:    blr
420*ea126aebSFelix (Ting Wang);
421*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: Three_LDs:
422*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64:       # %bb.0: # %entry
423*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    mflr 0
424*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    stdu 1, -48(1)
425*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    and 6, 3, 4
426*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 3, L..C2(2) # target-flags(ppc-tlsldm) @"_$TLSML"
427*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    std 0, 64(1)
428*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    bla .__tls_get_mod[PR]
429*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    cmpwi 6, -1
430*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    bgt 0, L..BB2_2
431*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:  # %bb.1: # %bb1
432*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 4, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD2
433*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 5, L..C4(2) # target-flags(ppc-tlsld) @VarTLSLD3
434*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    lwzx 4, 3, 4
435*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    lwzx 3, 3, 5
436*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    add 3, 4, 3
437*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    b L..BB2_3
438*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:  L..BB2_2: # %return
439*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 4, L..C5(2) # target-flags(ppc-tlsld) @VarTLSLD1
440*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    lwzx 3, 3, 4
441*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:  L..BB2_3: # %return
442*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    addi 1, 1, 48
443*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    ld 0, 16(1)
444*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    mtlr 0
445*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT:    blr
446*ea126aebSFelix (Ting Wang);
447*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: Three_LDs:
448*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64:       # %bb.0: # %entry
449*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    mflr 0
450*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    stdu 1, -48(1)
451*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    and 6, 3, 4
452*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addis 3, L..C2@u(2)
453*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    std 0, 64(1)
454*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 3, L..C2@l(3)
455*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    bla .__tls_get_mod[PR]
456*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    cmpwi 6, -1
457*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    bgt 0, L..BB2_2
458*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:  # %bb.1: # %bb1
459*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addis 4, L..C3@u(2)
460*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addis 5, L..C4@u(2)
461*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 4, L..C3@l(4)
462*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 5, L..C4@l(5)
463*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    lwzx 4, 3, 4
464*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    lwzx 3, 3, 5
465*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    add 3, 4, 3
466*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    b L..BB2_3
467*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:  L..BB2_2: # %return
468*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addis 4, L..C5@u(2)
469*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 4, L..C5@l(4)
470*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    lwzx 3, 3, 4
471*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:  L..BB2_3: # %return
472*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    addi 1, 1, 48
473*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    ld 0, 16(1)
474*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    mtlr 0
475*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT:    blr
476*ea126aebSFelix (Ting Wang);
477*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: Three_LDs:
478*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64:       # %bb.0: # %entry
479*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    and 3, 3, 4
480*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    cmpwi 3, -1
481*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    bgt 0, L..BB2_2
482*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:  # %bb.1: # %bb1
483*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    ld 3, L..C1(2) # target-flags(ppc-tprel) @VarTLSLD2
484*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    ld 4, L..C2(2) # target-flags(ppc-tprel) @VarTLSLD3
485*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    lwzx 3, 13, 3
486*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    lwzx 4, 13, 4
487*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    add 3, 3, 4
488*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    blr
489*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:  L..BB2_2: # %return
490*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1
491*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    lwzx 3, 13, 3
492*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT:    blr
493*ea126aebSFelix (Ting Wang);
494*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: Three_LDs:
495*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64:       # %bb.0: # %entry
496*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    and 3, 3, 4
497*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    cmpwi 3, -1
498*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    bgt 0, L..BB2_2
499*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:  # %bb.1: # %bb1
500*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    addis 3, L..C1@u(2)
501*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    addis 4, L..C2@u(2)
502*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    ld 3, L..C1@l(3)
503*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    ld 4, L..C2@l(4)
504*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    lwzx 3, 13, 3
505*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    lwzx 4, 13, 4
506*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    add 3, 3, 4
507*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    blr
508*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:  L..BB2_2: # %return
509*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    addis 3, L..C0@u(2)
510*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    ld 3, L..C0@l(3)
511*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    lwzx 3, 13, 3
512*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT:    blr
513*ea126aebSFelix (Ting Wang)entry:
514*ea126aebSFelix (Ting Wang)  %a = icmp slt i32 %P, 0
515*ea126aebSFelix (Ting Wang)  %b = icmp slt i32 %Q, 0
516*ea126aebSFelix (Ting Wang)  %c = and i1 %a, %b
517*ea126aebSFelix (Ting Wang)  %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)
518*ea126aebSFelix (Ting Wang)  %load1 = load i32, ptr %tls1, align 4
519*ea126aebSFelix (Ting Wang)  br i1 %c, label %bb1, label %return
520*ea126aebSFelix (Ting Wang)
521*ea126aebSFelix (Ting Wang)bb1:
522*ea126aebSFelix (Ting Wang)  %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD2)
523*ea126aebSFelix (Ting Wang)  %load2 = load i32, ptr %tls2, align 4
524*ea126aebSFelix (Ting Wang)  %tls3 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD3)
525*ea126aebSFelix (Ting Wang)  %load3 = load i32, ptr %tls3, align 4
526*ea126aebSFelix (Ting Wang)  %sum = add i32 %load2, %load3
527*ea126aebSFelix (Ting Wang)  ret i32 %sum
528*ea126aebSFelix (Ting Wang)
529*ea126aebSFelix (Ting Wang)return:
530*ea126aebSFelix (Ting Wang)  ret i32 %load1
531*ea126aebSFelix (Ting Wang)}
532*ea126aebSFelix (Ting Wang)
533*ea126aebSFelix (Ting Wang)declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull)
534*ea126aebSFelix (Ting Wang)
535*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: .toc
536*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: L..C0:
537*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml
538*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"
539*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: L..C1:
540*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ld
541*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: L..C2:
542*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT: .tc VarTLSLD2[TC],VarTLSLD2[UL]@ld
543*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-LABEL: L..C3:
544*ea126aebSFelix (Ting Wang); DEFAULT_SMALL64-NEXT: .tc VarTLSLD3[TC],VarTLSLD3[UL]@ld
545*ea126aebSFelix (Ting Wang)
546*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: .toc
547*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: L..C0:
548*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml
549*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"
550*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: L..C1:
551*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ld
552*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: L..C2:
553*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT: .tc VarTLSLD2[TE],VarTLSLD2[UL]@ld
554*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-LABEL: L..C3:
555*ea126aebSFelix (Ting Wang); DEFAULT_LARGE64-NEXT: .tc VarTLSLD3[TE],VarTLSLD3[UL]@ld
556*ea126aebSFelix (Ting Wang)
557*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: .toc
558*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: L..C0:
559*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ie
560*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: L..C1:
561*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml
562*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"
563*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: L..C2:
564*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT: .tc .VarTLSLD2[TC],VarTLSLD2[UL]@ld
565*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: L..C3:
566*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT: .tc .VarTLSLD1[TC],VarTLSLD1[TL]@ld
567*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-LABEL: L..C4:
568*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_SMALL64-NEXT: .tc .VarTLSLD3[TC],VarTLSLD3[UL]@ld
569*ea126aebSFelix (Ting Wang)
570*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: .toc
571*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: L..C0:
572*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ie
573*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: L..C1:
574*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml
575*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"
576*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: L..C2:
577*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT: .tc .VarTLSLD2[TE],VarTLSLD2[UL]@ld
578*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: L..C3:
579*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT: .tc .VarTLSLD1[TE],VarTLSLD1[TL]@ld
580*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-LABEL: L..C4:
581*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LARGE64-NEXT: .tc .VarTLSLD3[TE],VarTLSLD3[UL]@ld
582*ea126aebSFelix (Ting Wang)
583*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: .toc
584*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C0:
585*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ie
586*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C1:
587*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc VarTLSLD2[TC],VarTLSLD2[UL]@ie
588*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C2:
589*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml
590*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"
591*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C3:
592*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc .VarTLSLD2[TC],VarTLSLD2[UL]@ld
593*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C4:
594*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc .VarTLSLD3[TC],VarTLSLD3[UL]@ld
595*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C5:
596*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc .VarTLSLD1[TC],VarTLSLD1[TL]@ld
597*ea126aebSFelix (Ting Wang)
598*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: .toc
599*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C0:
600*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ie
601*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C1:
602*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc VarTLSLD2[TE],VarTLSLD2[UL]@ie
603*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C2:
604*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml
605*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"
606*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C3:
607*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc .VarTLSLD2[TE],VarTLSLD2[UL]@ld
608*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C4:
609*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc .VarTLSLD3[TE],VarTLSLD3[UL]@ld
610*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C5:
611*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc .VarTLSLD1[TE],VarTLSLD1[TL]@ld
612*ea126aebSFelix (Ting Wang)
613*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: .toc
614*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: L..C0:
615*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ie
616*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: L..C1:
617*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: .tc VarTLSLD2[TC],VarTLSLD2[UL]@ie
618*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: L..C2:
619*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: .tc VarTLSLD3[TC],VarTLSLD3[UL]@ie
620*ea126aebSFelix (Ting Wang)
621*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: .toc
622*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: L..C0:
623*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ie
624*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: L..C1:
625*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: .tc VarTLSLD2[TE],VarTLSLD2[UL]@ie
626*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: L..C2:
627*ea126aebSFelix (Ting Wang); TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: .tc VarTLSLD3[TE],VarTLSLD3[UL]@ie
628