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