628 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \3; RUN: --code-model=small < %s | FileCheck %s --check-prefixes=DEFAULT_SMALL644; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \5; RUN: --code-model=large < %s | FileCheck %s --check-prefixes=DEFAULT_LARGE646; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \7; RUN: -mattr=+aix-shared-lib-tls-model-opt --code-model=small < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_SMALL648; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \9; RUN: -mattr=+aix-shared-lib-tls-model-opt --code-model=large < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LARGE6410; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \11; RUN: -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=2 \12; RUN: --code-model=small < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT2_SMALL6413; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \14; RUN: -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=2 \15; RUN: --code-model=large < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT2_LARGE6416; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \17; RUN: -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=3 \18; RUN: --code-model=small < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT3_SMALL6419; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc64-ibm-aix-xcoff \20; RUN: -mattr=+aix-shared-lib-tls-model-opt -ppc-aix-shared-lib-tls-model-opt-limit=3 \21; RUN: --code-model=large < %s | FileCheck %s --check-prefixes=TLS_MODEL_OPT_LIMIT3_LARGE6422 23@VarTLSLD1 = internal thread_local(localdynamic) global i32 42, align 424@VarTLSLD2 = internal thread_local(localdynamic) global i32 0, align 425@VarTLSLD3 = internal thread_local(localdynamic) global i32 0, align 426 27; Tune function level TLS model settings:28; Use initial-exec when we have a function accessing only one TLS variable.29; Use local-dynamic when we have a function accessing a handful or more different TLS variables.30 31define i32 @Single_LD(i32 %P, i32 %Q) {32; DEFAULT_SMALL64-LABEL: Single_LD:33; DEFAULT_SMALL64: # %bb.0: # %entry34; DEFAULT_SMALL64-NEXT: mflr 035; DEFAULT_SMALL64-NEXT: stdu 1, -48(1)36; DEFAULT_SMALL64-NEXT: and 6, 3, 437; DEFAULT_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tlsldm) @"_$TLSML"38; DEFAULT_SMALL64-NEXT: std 0, 64(1)39; DEFAULT_SMALL64-NEXT: bla .__tls_get_mod[PR]40; DEFAULT_SMALL64-NEXT: ld 4, L..C1(2) # target-flags(ppc-tlsld) @VarTLSLD141; DEFAULT_SMALL64-NEXT: cmpwi 6, -142; DEFAULT_SMALL64-NEXT: lwzx 3, 3, 443; DEFAULT_SMALL64-NEXT: addi 1, 1, 4844; DEFAULT_SMALL64-NEXT: ld 0, 16(1)45; DEFAULT_SMALL64-NEXT: mtlr 046; DEFAULT_SMALL64-NEXT: blr47;48; DEFAULT_LARGE64-LABEL: Single_LD:49; DEFAULT_LARGE64: # %bb.0: # %entry50; DEFAULT_LARGE64-NEXT: mflr 051; DEFAULT_LARGE64-NEXT: stdu 1, -48(1)52; DEFAULT_LARGE64-NEXT: and 6, 3, 453; DEFAULT_LARGE64-NEXT: addis 3, L..C0@u(2)54; DEFAULT_LARGE64-NEXT: addis 7, L..C1@u(2)55; DEFAULT_LARGE64-NEXT: ld 3, L..C0@l(3)56; DEFAULT_LARGE64-NEXT: std 0, 64(1)57; DEFAULT_LARGE64-NEXT: bla .__tls_get_mod[PR]58; DEFAULT_LARGE64-NEXT: ld 4, L..C1@l(7)59; DEFAULT_LARGE64-NEXT: lwzx 3, 3, 460; DEFAULT_LARGE64-NEXT: cmpwi 6, -161; DEFAULT_LARGE64-NEXT: addi 1, 1, 4862; DEFAULT_LARGE64-NEXT: ld 0, 16(1)63; DEFAULT_LARGE64-NEXT: mtlr 064; DEFAULT_LARGE64-NEXT: blr65;66; TLS_MODEL_OPT_SMALL64-LABEL: Single_LD:67; TLS_MODEL_OPT_SMALL64: # %bb.0: # %entry68; TLS_MODEL_OPT_SMALL64-NEXT: and 4, 3, 469; TLS_MODEL_OPT_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD170; TLS_MODEL_OPT_SMALL64-NEXT: cmpwi 4, -171; TLS_MODEL_OPT_SMALL64-NEXT: lwzx 3, 13, 372; TLS_MODEL_OPT_SMALL64-NEXT: blr73;74; TLS_MODEL_OPT_LARGE64-LABEL: Single_LD:75; TLS_MODEL_OPT_LARGE64: # %bb.0: # %entry76; TLS_MODEL_OPT_LARGE64-NEXT: and 4, 3, 477; TLS_MODEL_OPT_LARGE64-NEXT: addis 3, L..C0@u(2)78; TLS_MODEL_OPT_LARGE64-NEXT: ld 3, L..C0@l(3)79; TLS_MODEL_OPT_LARGE64-NEXT: cmpwi 4, -180; TLS_MODEL_OPT_LARGE64-NEXT: lwzx 3, 13, 381; TLS_MODEL_OPT_LARGE64-NEXT: blr82;83; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: Single_LD:84; TLS_MODEL_OPT_LIMIT2_SMALL64: # %bb.0: # %entry85; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: and 4, 3, 486; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD187; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: cmpwi 4, -188; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: lwzx 3, 13, 389; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: blr90;91; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: Single_LD:92; TLS_MODEL_OPT_LIMIT2_LARGE64: # %bb.0: # %entry93; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: and 4, 3, 494; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addis 3, L..C0@u(2)95; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 3, L..C0@l(3)96; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: cmpwi 4, -197; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: lwzx 3, 13, 398; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: blr99;100; TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: Single_LD:101; TLS_MODEL_OPT_LIMIT3_SMALL64: # %bb.0: # %entry102; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: and 4, 3, 4103; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1104; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: cmpwi 4, -1105; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: lwzx 3, 13, 3106; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: blr107;108; TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: Single_LD:109; TLS_MODEL_OPT_LIMIT3_LARGE64: # %bb.0: # %entry110; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: and 4, 3, 4111; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: addis 3, L..C0@u(2)112; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: ld 3, L..C0@l(3)113; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: cmpwi 4, -1114; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: lwzx 3, 13, 3115; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: blr116entry:117 %a = icmp slt i32 %P, 0118 %b = icmp slt i32 %Q, 0119 %c = and i1 %a, %b120 %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)121 %load1 = load i32, ptr %tls1, align 4122 br i1 %c, label %bb1, label %return123 124bb1:125 %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)126 %load2 = load i32, ptr %tls2, align 4127 ret i32 %load2128 129return:130 ret i32 %load1131}132 133define i32 @Two_LDs(i32 %P, i32 %Q) {134; DEFAULT_SMALL64-LABEL: Two_LDs:135; DEFAULT_SMALL64: # %bb.0: # %entry136; DEFAULT_SMALL64-NEXT: mflr 0137; DEFAULT_SMALL64-NEXT: stdu 1, -48(1)138; DEFAULT_SMALL64-NEXT: and 6, 3, 4139; DEFAULT_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tlsldm) @"_$TLSML"140; DEFAULT_SMALL64-NEXT: std 0, 64(1)141; DEFAULT_SMALL64-NEXT: bla .__tls_get_mod[PR]142; DEFAULT_SMALL64-NEXT: cmpwi 6, -1143; DEFAULT_SMALL64-NEXT: bgt 0, L..BB1_2144; DEFAULT_SMALL64-NEXT: # %bb.1: # %bb1145; DEFAULT_SMALL64-NEXT: ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2146; DEFAULT_SMALL64-NEXT: lwzx 3, 3, 4147; DEFAULT_SMALL64-NEXT: b L..BB1_3148; DEFAULT_SMALL64-NEXT: L..BB1_2: # %return149; DEFAULT_SMALL64-NEXT: ld 4, L..C1(2) # target-flags(ppc-tlsld) @VarTLSLD1150; DEFAULT_SMALL64-NEXT: lwzx 3, 3, 4151; DEFAULT_SMALL64-NEXT: L..BB1_3: # %bb1152; DEFAULT_SMALL64-NEXT: addi 1, 1, 48153; DEFAULT_SMALL64-NEXT: ld 0, 16(1)154; DEFAULT_SMALL64-NEXT: mtlr 0155; DEFAULT_SMALL64-NEXT: blr156;157; DEFAULT_LARGE64-LABEL: Two_LDs:158; DEFAULT_LARGE64: # %bb.0: # %entry159; DEFAULT_LARGE64-NEXT: mflr 0160; DEFAULT_LARGE64-NEXT: stdu 1, -48(1)161; DEFAULT_LARGE64-NEXT: and 6, 3, 4162; DEFAULT_LARGE64-NEXT: addis 3, L..C0@u(2)163; DEFAULT_LARGE64-NEXT: std 0, 64(1)164; DEFAULT_LARGE64-NEXT: ld 3, L..C0@l(3)165; DEFAULT_LARGE64-NEXT: bla .__tls_get_mod[PR]166; DEFAULT_LARGE64-NEXT: cmpwi 6, -1167; DEFAULT_LARGE64-NEXT: bgt 0, L..BB1_2168; DEFAULT_LARGE64-NEXT: # %bb.1: # %bb1169; DEFAULT_LARGE64-NEXT: addis 4, L..C2@u(2)170; DEFAULT_LARGE64-NEXT: ld 4, L..C2@l(4)171; DEFAULT_LARGE64-NEXT: lwzx 3, 3, 4172; DEFAULT_LARGE64-NEXT: b L..BB1_3173; DEFAULT_LARGE64-NEXT: L..BB1_2: # %return174; DEFAULT_LARGE64-NEXT: addis 4, L..C1@u(2)175; DEFAULT_LARGE64-NEXT: ld 4, L..C1@l(4)176; DEFAULT_LARGE64-NEXT: lwzx 3, 3, 4177; DEFAULT_LARGE64-NEXT: L..BB1_3: # %bb1178; DEFAULT_LARGE64-NEXT: addi 1, 1, 48179; DEFAULT_LARGE64-NEXT: ld 0, 16(1)180; DEFAULT_LARGE64-NEXT: mtlr 0181; DEFAULT_LARGE64-NEXT: blr182;183; TLS_MODEL_OPT_SMALL64-LABEL: Two_LDs:184; TLS_MODEL_OPT_SMALL64: # %bb.0: # %entry185; TLS_MODEL_OPT_SMALL64-NEXT: mflr 0186; TLS_MODEL_OPT_SMALL64-NEXT: stdu 1, -48(1)187; TLS_MODEL_OPT_SMALL64-NEXT: and 6, 3, 4188; TLS_MODEL_OPT_SMALL64-NEXT: ld 3, L..C1(2) # target-flags(ppc-tlsldm) @"_$TLSML"189; TLS_MODEL_OPT_SMALL64-NEXT: std 0, 64(1)190; TLS_MODEL_OPT_SMALL64-NEXT: bla .__tls_get_mod[PR]191; TLS_MODEL_OPT_SMALL64-NEXT: cmpwi 6, -1192; TLS_MODEL_OPT_SMALL64-NEXT: bgt 0, L..BB1_2193; TLS_MODEL_OPT_SMALL64-NEXT: # %bb.1: # %bb1194; TLS_MODEL_OPT_SMALL64-NEXT: ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2195; TLS_MODEL_OPT_SMALL64-NEXT: lwzx 3, 3, 4196; TLS_MODEL_OPT_SMALL64-NEXT: b L..BB1_3197; TLS_MODEL_OPT_SMALL64-NEXT: L..BB1_2: # %return198; TLS_MODEL_OPT_SMALL64-NEXT: ld 4, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD1199; TLS_MODEL_OPT_SMALL64-NEXT: lwzx 3, 3, 4200; TLS_MODEL_OPT_SMALL64-NEXT: L..BB1_3: # %bb1201; TLS_MODEL_OPT_SMALL64-NEXT: addi 1, 1, 48202; TLS_MODEL_OPT_SMALL64-NEXT: ld 0, 16(1)203; TLS_MODEL_OPT_SMALL64-NEXT: mtlr 0204; TLS_MODEL_OPT_SMALL64-NEXT: blr205;206; TLS_MODEL_OPT_LARGE64-LABEL: Two_LDs:207; TLS_MODEL_OPT_LARGE64: # %bb.0: # %entry208; TLS_MODEL_OPT_LARGE64-NEXT: mflr 0209; TLS_MODEL_OPT_LARGE64-NEXT: stdu 1, -48(1)210; TLS_MODEL_OPT_LARGE64-NEXT: and 6, 3, 4211; TLS_MODEL_OPT_LARGE64-NEXT: addis 3, L..C1@u(2)212; TLS_MODEL_OPT_LARGE64-NEXT: std 0, 64(1)213; TLS_MODEL_OPT_LARGE64-NEXT: ld 3, L..C1@l(3)214; TLS_MODEL_OPT_LARGE64-NEXT: bla .__tls_get_mod[PR]215; TLS_MODEL_OPT_LARGE64-NEXT: cmpwi 6, -1216; TLS_MODEL_OPT_LARGE64-NEXT: bgt 0, L..BB1_2217; TLS_MODEL_OPT_LARGE64-NEXT: # %bb.1: # %bb1218; TLS_MODEL_OPT_LARGE64-NEXT: addis 4, L..C2@u(2)219; TLS_MODEL_OPT_LARGE64-NEXT: ld 4, L..C2@l(4)220; TLS_MODEL_OPT_LARGE64-NEXT: lwzx 3, 3, 4221; TLS_MODEL_OPT_LARGE64-NEXT: b L..BB1_3222; TLS_MODEL_OPT_LARGE64-NEXT: L..BB1_2: # %return223; TLS_MODEL_OPT_LARGE64-NEXT: addis 4, L..C3@u(2)224; TLS_MODEL_OPT_LARGE64-NEXT: ld 4, L..C3@l(4)225; TLS_MODEL_OPT_LARGE64-NEXT: lwzx 3, 3, 4226; TLS_MODEL_OPT_LARGE64-NEXT: L..BB1_3: # %bb1227; TLS_MODEL_OPT_LARGE64-NEXT: addi 1, 1, 48228; TLS_MODEL_OPT_LARGE64-NEXT: ld 0, 16(1)229; TLS_MODEL_OPT_LARGE64-NEXT: mtlr 0230; TLS_MODEL_OPT_LARGE64-NEXT: blr231;232; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: Two_LDs:233; TLS_MODEL_OPT_LIMIT2_SMALL64: # %bb.0: # %entry234; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: and 3, 3, 4235; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: cmpwi 3, -1236; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: bgt 0, L..BB1_2237; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: # %bb.1: # %bb1238; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 3, L..C1(2) # target-flags(ppc-tprel) @VarTLSLD2239; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: lwzx 3, 13, 3240; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: blr241; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: L..BB1_2: # %return242; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1243; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: lwzx 3, 13, 3244; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: blr245;246; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: Two_LDs:247; TLS_MODEL_OPT_LIMIT2_LARGE64: # %bb.0: # %entry248; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: and 3, 3, 4249; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: cmpwi 3, -1250; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: bgt 0, L..BB1_2251; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: # %bb.1: # %bb1252; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addis 3, L..C1@u(2)253; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 3, L..C1@l(3)254; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: lwzx 3, 13, 3255; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: blr256; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: L..BB1_2: # %return257; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addis 3, L..C0@u(2)258; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 3, L..C0@l(3)259; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: lwzx 3, 13, 3260; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: blr261;262; TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: Two_LDs:263; TLS_MODEL_OPT_LIMIT3_SMALL64: # %bb.0: # %entry264; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: and 3, 3, 4265; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: cmpwi 3, -1266; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: bgt 0, L..BB1_2267; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: # %bb.1: # %bb1268; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: ld 3, L..C1(2) # target-flags(ppc-tprel) @VarTLSLD2269; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: lwzx 3, 13, 3270; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: blr271; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: L..BB1_2: # %return272; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1273; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: lwzx 3, 13, 3274; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: blr275;276; TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: Two_LDs:277; TLS_MODEL_OPT_LIMIT3_LARGE64: # %bb.0: # %entry278; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: and 3, 3, 4279; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: cmpwi 3, -1280; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: bgt 0, L..BB1_2281; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: # %bb.1: # %bb1282; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: addis 3, L..C1@u(2)283; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: ld 3, L..C1@l(3)284; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: lwzx 3, 13, 3285; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: blr286; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: L..BB1_2: # %return287; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: addis 3, L..C0@u(2)288; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: ld 3, L..C0@l(3)289; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: lwzx 3, 13, 3290; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: blr291entry:292 %a = icmp slt i32 %P, 0293 %b = icmp slt i32 %Q, 0294 %c = and i1 %a, %b295 %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)296 %load1 = load i32, ptr %tls1, align 4297 br i1 %c, label %bb1, label %return298 299bb1:300 %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD2)301 %load2 = load i32, ptr %tls2, align 4302 ret i32 %load2303 304return:305 ret i32 %load1306}307 308define i32 @Three_LDs(i32 %P, i32 %Q) {309; DEFAULT_SMALL64-LABEL: Three_LDs:310; DEFAULT_SMALL64: # %bb.0: # %entry311; DEFAULT_SMALL64-NEXT: mflr 0312; DEFAULT_SMALL64-NEXT: stdu 1, -48(1)313; DEFAULT_SMALL64-NEXT: and 6, 3, 4314; DEFAULT_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tlsldm) @"_$TLSML"315; DEFAULT_SMALL64-NEXT: std 0, 64(1)316; DEFAULT_SMALL64-NEXT: bla .__tls_get_mod[PR]317; DEFAULT_SMALL64-NEXT: cmpwi 6, -1318; DEFAULT_SMALL64-NEXT: bgt 0, L..BB2_2319; DEFAULT_SMALL64-NEXT: # %bb.1: # %bb1320; DEFAULT_SMALL64-NEXT: ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2321; DEFAULT_SMALL64-NEXT: ld 5, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD3322; DEFAULT_SMALL64-NEXT: lwzx 4, 3, 4323; DEFAULT_SMALL64-NEXT: lwzx 3, 3, 5324; DEFAULT_SMALL64-NEXT: add 3, 4, 3325; DEFAULT_SMALL64-NEXT: b L..BB2_3326; DEFAULT_SMALL64-NEXT: L..BB2_2: # %return327; DEFAULT_SMALL64-NEXT: ld 4, L..C1(2) # target-flags(ppc-tlsld) @VarTLSLD1328; DEFAULT_SMALL64-NEXT: lwzx 3, 3, 4329; DEFAULT_SMALL64-NEXT: L..BB2_3: # %return330; DEFAULT_SMALL64-NEXT: addi 1, 1, 48331; DEFAULT_SMALL64-NEXT: ld 0, 16(1)332; DEFAULT_SMALL64-NEXT: mtlr 0333; DEFAULT_SMALL64-NEXT: blr334;335; DEFAULT_LARGE64-LABEL: Three_LDs:336; DEFAULT_LARGE64: # %bb.0: # %entry337; DEFAULT_LARGE64-NEXT: mflr 0338; DEFAULT_LARGE64-NEXT: stdu 1, -48(1)339; DEFAULT_LARGE64-NEXT: and 6, 3, 4340; DEFAULT_LARGE64-NEXT: addis 3, L..C0@u(2)341; DEFAULT_LARGE64-NEXT: std 0, 64(1)342; DEFAULT_LARGE64-NEXT: ld 3, L..C0@l(3)343; DEFAULT_LARGE64-NEXT: bla .__tls_get_mod[PR]344; DEFAULT_LARGE64-NEXT: cmpwi 6, -1345; DEFAULT_LARGE64-NEXT: bgt 0, L..BB2_2346; DEFAULT_LARGE64-NEXT: # %bb.1: # %bb1347; DEFAULT_LARGE64-NEXT: addis 4, L..C2@u(2)348; DEFAULT_LARGE64-NEXT: addis 5, L..C3@u(2)349; DEFAULT_LARGE64-NEXT: ld 4, L..C2@l(4)350; DEFAULT_LARGE64-NEXT: ld 5, L..C3@l(5)351; DEFAULT_LARGE64-NEXT: lwzx 4, 3, 4352; DEFAULT_LARGE64-NEXT: lwzx 3, 3, 5353; DEFAULT_LARGE64-NEXT: add 3, 4, 3354; DEFAULT_LARGE64-NEXT: b L..BB2_3355; DEFAULT_LARGE64-NEXT: L..BB2_2: # %return356; DEFAULT_LARGE64-NEXT: addis 4, L..C1@u(2)357; DEFAULT_LARGE64-NEXT: ld 4, L..C1@l(4)358; DEFAULT_LARGE64-NEXT: lwzx 3, 3, 4359; DEFAULT_LARGE64-NEXT: L..BB2_3: # %return360; DEFAULT_LARGE64-NEXT: addi 1, 1, 48361; DEFAULT_LARGE64-NEXT: ld 0, 16(1)362; DEFAULT_LARGE64-NEXT: mtlr 0363; DEFAULT_LARGE64-NEXT: blr364;365; TLS_MODEL_OPT_SMALL64-LABEL: Three_LDs:366; TLS_MODEL_OPT_SMALL64: # %bb.0: # %entry367; TLS_MODEL_OPT_SMALL64-NEXT: mflr 0368; TLS_MODEL_OPT_SMALL64-NEXT: stdu 1, -48(1)369; TLS_MODEL_OPT_SMALL64-NEXT: and 6, 3, 4370; TLS_MODEL_OPT_SMALL64-NEXT: ld 3, L..C1(2) # target-flags(ppc-tlsldm) @"_$TLSML"371; TLS_MODEL_OPT_SMALL64-NEXT: std 0, 64(1)372; TLS_MODEL_OPT_SMALL64-NEXT: bla .__tls_get_mod[PR]373; TLS_MODEL_OPT_SMALL64-NEXT: cmpwi 6, -1374; TLS_MODEL_OPT_SMALL64-NEXT: bgt 0, L..BB2_2375; TLS_MODEL_OPT_SMALL64-NEXT: # %bb.1: # %bb1376; TLS_MODEL_OPT_SMALL64-NEXT: ld 4, L..C2(2) # target-flags(ppc-tlsld) @VarTLSLD2377; TLS_MODEL_OPT_SMALL64-NEXT: ld 5, L..C4(2) # target-flags(ppc-tlsld) @VarTLSLD3378; TLS_MODEL_OPT_SMALL64-NEXT: lwzx 4, 3, 4379; TLS_MODEL_OPT_SMALL64-NEXT: lwzx 3, 3, 5380; TLS_MODEL_OPT_SMALL64-NEXT: add 3, 4, 3381; TLS_MODEL_OPT_SMALL64-NEXT: b L..BB2_3382; TLS_MODEL_OPT_SMALL64-NEXT: L..BB2_2: # %return383; TLS_MODEL_OPT_SMALL64-NEXT: ld 4, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD1384; TLS_MODEL_OPT_SMALL64-NEXT: lwzx 3, 3, 4385; TLS_MODEL_OPT_SMALL64-NEXT: L..BB2_3: # %return386; TLS_MODEL_OPT_SMALL64-NEXT: addi 1, 1, 48387; TLS_MODEL_OPT_SMALL64-NEXT: ld 0, 16(1)388; TLS_MODEL_OPT_SMALL64-NEXT: mtlr 0389; TLS_MODEL_OPT_SMALL64-NEXT: blr390;391; TLS_MODEL_OPT_LARGE64-LABEL: Three_LDs:392; TLS_MODEL_OPT_LARGE64: # %bb.0: # %entry393; TLS_MODEL_OPT_LARGE64-NEXT: mflr 0394; TLS_MODEL_OPT_LARGE64-NEXT: stdu 1, -48(1)395; TLS_MODEL_OPT_LARGE64-NEXT: and 6, 3, 4396; TLS_MODEL_OPT_LARGE64-NEXT: addis 3, L..C1@u(2)397; TLS_MODEL_OPT_LARGE64-NEXT: std 0, 64(1)398; TLS_MODEL_OPT_LARGE64-NEXT: ld 3, L..C1@l(3)399; TLS_MODEL_OPT_LARGE64-NEXT: bla .__tls_get_mod[PR]400; TLS_MODEL_OPT_LARGE64-NEXT: cmpwi 6, -1401; TLS_MODEL_OPT_LARGE64-NEXT: bgt 0, L..BB2_2402; TLS_MODEL_OPT_LARGE64-NEXT: # %bb.1: # %bb1403; TLS_MODEL_OPT_LARGE64-NEXT: addis 4, L..C2@u(2)404; TLS_MODEL_OPT_LARGE64-NEXT: addis 5, L..C4@u(2)405; TLS_MODEL_OPT_LARGE64-NEXT: ld 4, L..C2@l(4)406; TLS_MODEL_OPT_LARGE64-NEXT: ld 5, L..C4@l(5)407; TLS_MODEL_OPT_LARGE64-NEXT: lwzx 4, 3, 4408; TLS_MODEL_OPT_LARGE64-NEXT: lwzx 3, 3, 5409; TLS_MODEL_OPT_LARGE64-NEXT: add 3, 4, 3410; TLS_MODEL_OPT_LARGE64-NEXT: b L..BB2_3411; TLS_MODEL_OPT_LARGE64-NEXT: L..BB2_2: # %return412; TLS_MODEL_OPT_LARGE64-NEXT: addis 4, L..C3@u(2)413; TLS_MODEL_OPT_LARGE64-NEXT: ld 4, L..C3@l(4)414; TLS_MODEL_OPT_LARGE64-NEXT: lwzx 3, 3, 4415; TLS_MODEL_OPT_LARGE64-NEXT: L..BB2_3: # %return416; TLS_MODEL_OPT_LARGE64-NEXT: addi 1, 1, 48417; TLS_MODEL_OPT_LARGE64-NEXT: ld 0, 16(1)418; TLS_MODEL_OPT_LARGE64-NEXT: mtlr 0419; TLS_MODEL_OPT_LARGE64-NEXT: blr420;421; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: Three_LDs:422; TLS_MODEL_OPT_LIMIT2_SMALL64: # %bb.0: # %entry423; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: mflr 0424; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: stdu 1, -48(1)425; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: and 6, 3, 4426; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 3, L..C2(2) # target-flags(ppc-tlsldm) @"_$TLSML"427; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: std 0, 64(1)428; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: bla .__tls_get_mod[PR]429; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: cmpwi 6, -1430; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: bgt 0, L..BB2_2431; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: # %bb.1: # %bb1432; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 4, L..C3(2) # target-flags(ppc-tlsld) @VarTLSLD2433; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 5, L..C4(2) # target-flags(ppc-tlsld) @VarTLSLD3434; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: lwzx 4, 3, 4435; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: lwzx 3, 3, 5436; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: add 3, 4, 3437; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: b L..BB2_3438; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: L..BB2_2: # %return439; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 4, L..C5(2) # target-flags(ppc-tlsld) @VarTLSLD1440; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: lwzx 3, 3, 4441; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: L..BB2_3: # %return442; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: addi 1, 1, 48443; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: ld 0, 16(1)444; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: mtlr 0445; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: blr446;447; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: Three_LDs:448; TLS_MODEL_OPT_LIMIT2_LARGE64: # %bb.0: # %entry449; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: mflr 0450; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: stdu 1, -48(1)451; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: and 6, 3, 4452; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addis 3, L..C2@u(2)453; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: std 0, 64(1)454; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 3, L..C2@l(3)455; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: bla .__tls_get_mod[PR]456; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: cmpwi 6, -1457; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: bgt 0, L..BB2_2458; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: # %bb.1: # %bb1459; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addis 4, L..C3@u(2)460; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addis 5, L..C4@u(2)461; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 4, L..C3@l(4)462; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 5, L..C4@l(5)463; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: lwzx 4, 3, 4464; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: lwzx 3, 3, 5465; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: add 3, 4, 3466; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: b L..BB2_3467; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: L..BB2_2: # %return468; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addis 4, L..C5@u(2)469; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 4, L..C5@l(4)470; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: lwzx 3, 3, 4471; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: L..BB2_3: # %return472; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: addi 1, 1, 48473; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: ld 0, 16(1)474; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: mtlr 0475; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: blr476;477; TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: Three_LDs:478; TLS_MODEL_OPT_LIMIT3_SMALL64: # %bb.0: # %entry479; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: and 3, 3, 4480; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: cmpwi 3, -1481; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: bgt 0, L..BB2_2482; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: # %bb.1: # %bb1483; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: ld 3, L..C1(2) # target-flags(ppc-tprel) @VarTLSLD2484; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: ld 4, L..C2(2) # target-flags(ppc-tprel) @VarTLSLD3485; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: lwzx 3, 13, 3486; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: lwzx 4, 13, 4487; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: add 3, 3, 4488; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: blr489; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: L..BB2_2: # %return490; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: ld 3, L..C0(2) # target-flags(ppc-tprel) @VarTLSLD1491; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: lwzx 3, 13, 3492; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: blr493;494; TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: Three_LDs:495; TLS_MODEL_OPT_LIMIT3_LARGE64: # %bb.0: # %entry496; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: and 3, 3, 4497; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: cmpwi 3, -1498; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: bgt 0, L..BB2_2499; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: # %bb.1: # %bb1500; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: addis 3, L..C1@u(2)501; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: addis 4, L..C2@u(2)502; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: ld 3, L..C1@l(3)503; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: ld 4, L..C2@l(4)504; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: lwzx 3, 13, 3505; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: lwzx 4, 13, 4506; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: add 3, 3, 4507; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: blr508; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: L..BB2_2: # %return509; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: addis 3, L..C0@u(2)510; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: ld 3, L..C0@l(3)511; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: lwzx 3, 13, 3512; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: blr513entry:514 %a = icmp slt i32 %P, 0515 %b = icmp slt i32 %Q, 0516 %c = and i1 %a, %b517 %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD1)518 %load1 = load i32, ptr %tls1, align 4519 br i1 %c, label %bb1, label %return520 521bb1:522 %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD2)523 %load2 = load i32, ptr %tls2, align 4524 %tls3 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @VarTLSLD3)525 %load3 = load i32, ptr %tls3, align 4526 %sum = add i32 %load2, %load3527 ret i32 %sum528 529return:530 ret i32 %load1531}532 533declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull)534 535; DEFAULT_SMALL64-LABEL: .toc536; DEFAULT_SMALL64-LABEL: L..C0:537; DEFAULT_SMALL64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml538; DEFAULT_SMALL64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"539; DEFAULT_SMALL64-LABEL: L..C1:540; DEFAULT_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ld541; DEFAULT_SMALL64-LABEL: L..C2:542; DEFAULT_SMALL64-NEXT: .tc VarTLSLD2[TC],VarTLSLD2[UL]@ld543; DEFAULT_SMALL64-LABEL: L..C3:544; DEFAULT_SMALL64-NEXT: .tc VarTLSLD3[TC],VarTLSLD3[UL]@ld545 546; DEFAULT_LARGE64-LABEL: .toc547; DEFAULT_LARGE64-LABEL: L..C0:548; DEFAULT_LARGE64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml549; DEFAULT_LARGE64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"550; DEFAULT_LARGE64-LABEL: L..C1:551; DEFAULT_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ld552; DEFAULT_LARGE64-LABEL: L..C2:553; DEFAULT_LARGE64-NEXT: .tc VarTLSLD2[TE],VarTLSLD2[UL]@ld554; DEFAULT_LARGE64-LABEL: L..C3:555; DEFAULT_LARGE64-NEXT: .tc VarTLSLD3[TE],VarTLSLD3[UL]@ld556 557; TLS_MODEL_OPT_SMALL64-LABEL: .toc558; TLS_MODEL_OPT_SMALL64-LABEL: L..C0:559; TLS_MODEL_OPT_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ie560; TLS_MODEL_OPT_SMALL64-LABEL: L..C1:561; TLS_MODEL_OPT_SMALL64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml562; TLS_MODEL_OPT_SMALL64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"563; TLS_MODEL_OPT_SMALL64-LABEL: L..C2:564; TLS_MODEL_OPT_SMALL64-NEXT: .tc .VarTLSLD2[TC],VarTLSLD2[UL]@ld565; TLS_MODEL_OPT_SMALL64-LABEL: L..C3:566; TLS_MODEL_OPT_SMALL64-NEXT: .tc .VarTLSLD1[TC],VarTLSLD1[TL]@ld567; TLS_MODEL_OPT_SMALL64-LABEL: L..C4:568; TLS_MODEL_OPT_SMALL64-NEXT: .tc .VarTLSLD3[TC],VarTLSLD3[UL]@ld569 570; TLS_MODEL_OPT_LARGE64-LABEL: .toc571; TLS_MODEL_OPT_LARGE64-LABEL: L..C0:572; TLS_MODEL_OPT_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ie573; TLS_MODEL_OPT_LARGE64-LABEL: L..C1:574; TLS_MODEL_OPT_LARGE64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml575; TLS_MODEL_OPT_LARGE64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"576; TLS_MODEL_OPT_LARGE64-LABEL: L..C2:577; TLS_MODEL_OPT_LARGE64-NEXT: .tc .VarTLSLD2[TE],VarTLSLD2[UL]@ld578; TLS_MODEL_OPT_LARGE64-LABEL: L..C3:579; TLS_MODEL_OPT_LARGE64-NEXT: .tc .VarTLSLD1[TE],VarTLSLD1[TL]@ld580; TLS_MODEL_OPT_LARGE64-LABEL: L..C4:581; TLS_MODEL_OPT_LARGE64-NEXT: .tc .VarTLSLD3[TE],VarTLSLD3[UL]@ld582 583; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: .toc584; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C0:585; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ie586; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C1:587; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc VarTLSLD2[TC],VarTLSLD2[UL]@ie588; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C2:589; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml590; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"591; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C3:592; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc .VarTLSLD2[TC],VarTLSLD2[UL]@ld593; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C4:594; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc .VarTLSLD3[TC],VarTLSLD3[UL]@ld595; TLS_MODEL_OPT_LIMIT2_SMALL64-LABEL: L..C5:596; TLS_MODEL_OPT_LIMIT2_SMALL64-NEXT: .tc .VarTLSLD1[TC],VarTLSLD1[TL]@ld597 598; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: .toc599; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C0:600; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ie601; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C1:602; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc VarTLSLD2[TE],VarTLSLD2[UL]@ie603; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C2:604; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc _Renamed..5f24__TLSML[TC],_Renamed..5f24__TLSML[TC]@ml605; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .rename _Renamed..5f24__TLSML[TC],"_$TLSML"606; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C3:607; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc .VarTLSLD2[TE],VarTLSLD2[UL]@ld608; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C4:609; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc .VarTLSLD3[TE],VarTLSLD3[UL]@ld610; TLS_MODEL_OPT_LIMIT2_LARGE64-LABEL: L..C5:611; TLS_MODEL_OPT_LIMIT2_LARGE64-NEXT: .tc .VarTLSLD1[TE],VarTLSLD1[TL]@ld612 613; TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: .toc614; TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: L..C0:615; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: .tc VarTLSLD1[TC],VarTLSLD1[TL]@ie616; TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: L..C1:617; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: .tc VarTLSLD2[TC],VarTLSLD2[UL]@ie618; TLS_MODEL_OPT_LIMIT3_SMALL64-LABEL: L..C2:619; TLS_MODEL_OPT_LIMIT3_SMALL64-NEXT: .tc VarTLSLD3[TC],VarTLSLD3[UL]@ie620 621; TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: .toc622; TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: L..C0:623; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: .tc VarTLSLD1[TE],VarTLSLD1[TL]@ie624; TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: L..C1:625; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: .tc VarTLSLD2[TE],VarTLSLD2[UL]@ie626; TLS_MODEL_OPT_LIMIT3_LARGE64-LABEL: L..C2:627; TLS_MODEL_OPT_LIMIT3_LARGE64-NEXT: .tc VarTLSLD3[TE],VarTLSLD3[UL]@ie628