brintos

brintos / llvm-project-archived public Read only

0
0
Text · 31.4 KiB · 742d50a Raw
565 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc  -verify-machineinstrs -mcpu=pwr7 -ppc-asm-full-reg-names \3; RUN:      -mattr=+aix-small-local-dynamic-tls -mtriple powerpc64-ibm-aix-xcoff < %s \4; RUN:      | FileCheck %s --check-prefix=SMALL-LOCAL-DYNAMIC-SMALLCM645; RUN: llc  -verify-machineinstrs -mcpu=pwr7 -ppc-asm-full-reg-names \6; RUN:      -mattr=+aix-small-local-dynamic-tls -mtriple powerpc64-ibm-aix-xcoff --code-model=large \7; RUN:      < %s | FileCheck %s \8; RUN:      --check-prefix=SMALL-LOCAL-DYNAMIC-LARGECM649 10; Test disassembly of object.11; RUN: llc -verify-machineinstrs -mcpu=pwr7 \12; RUN:      -mtriple powerpc64-ibm-aix-xcoff -xcoff-traceback-table=false \13; RUN:      --code-model=large -filetype=obj -o %t.o < %s14; RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=DIS %s15 16@ElementIntTLSv1 = thread_local(localdynamic) global [8187 x i32] zeroinitializer, align 4  ; Within 32K17@ElementIntTLS2 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 418@ElementIntTLS3 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 419@ElementIntTLS4 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 420@ElementIntTLS5 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 421@ElementIntTLSv2 = thread_local(localdynamic) global [9000 x i32] zeroinitializer, align 4  ; Beyond 32K22 23@ElementLongTLS6 = external thread_local(localdynamic) global [60 x i64], align 824@ElementLongTLS2 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 8  ; Within 32K25@MyTLSGDVar = thread_local global [800 x i64] zeroinitializer, align 826@ElementLongTLS3 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 827@ElementLongTLS4 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 828@ElementLongTLS5 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 829@ElementLongTLS = thread_local(localdynamic) local_unnamed_addr global [7800 x i64] zeroinitializer, align 8  ; Beyond 32K30 31declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #132 33; All accesses use a "faster" local-dynamic sequence directly off the module handle.34; Exercise PPCXCOFFObjectWriter::getRelocTypeAndSignSize/fixup_ppc_half16.35define signext i32 @test1() {36; SMALL-LOCAL-DYNAMIC-SMALLCM64-LABEL: test1:37; SMALL-LOCAL-DYNAMIC-SMALLCM64:       # %bb.0: # %entry38; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    mflr r039; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stdu r1, -48(r1)40; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r3, L..C0(r2) # target-flags(ppc-tlsldm) @"_$TLSML"41; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r0, 64(r1)42; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    bla .__tls_get_mod[PR]43; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 144; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r5, 445; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r4, ElementIntTLSv1[TL]@ld(r3)46; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 247; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r5, ElementIntTLSv1[TL]@ld+24(r3)48; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r5, ElementIntTLS4[TL]@ld+328-65536(r3)49; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r4, ElementIntTLS2[TL]@ld+320-65536(r3)50; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 351; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r4, ElementIntTLS3[TL]@ld+324-65536(r3)52; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 8853; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r4, ElementIntTLS5[TL]@ld+332-65536(r3)54; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r3, 10255; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    addi r1, r1, 4856; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r0, 16(r1)57; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    mtlr r058; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    blr59;60; SMALL-LOCAL-DYNAMIC-LARGECM64-LABEL: test1:61; SMALL-LOCAL-DYNAMIC-LARGECM64:       # %bb.0: # %entry62; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    mflr r063; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stdu r1, -48(r1)64; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addis r3, L..C0@u(r2)65; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r0, 64(r1)66; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r3, L..C0@l(r3)67; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    bla .__tls_get_mod[PR]68; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r4, 169; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r5, 470; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r4, ElementIntTLSv1[TL]@ld(r3)71; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r4, 272; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r5, ElementIntTLSv1[TL]@ld+24(r3)73; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r5, ElementIntTLS4[TL]@ld+328-65536(r3)74; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r4, ElementIntTLS2[TL]@ld+320-65536(r3)75; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r4, 376; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r4, ElementIntTLS3[TL]@ld+324-65536(r3)77; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r4, 8878; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r4, ElementIntTLS5[TL]@ld+332-65536(r3)79; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r3, 10280; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addi r1, r1, 4881; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r0, 16(r1)82; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    mtlr r083; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    blr84entry:85  %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLSv1)86  store i32 1, ptr %tls1, align 487  %arrayidx1 = getelementptr inbounds [8187 x i32], ptr %tls1, i64 0, i64 688  store i32 4, ptr %arrayidx1, align 489  %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS2)90  %arrayidx2 = getelementptr inbounds [4000 x i32], ptr %tls2, i64 0, i64 8091  store i32 2, ptr %arrayidx2, align 492  %tls3 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS3)93  %arrayidx3 = getelementptr inbounds [4000 x i32], ptr %tls3, i64 0, i64 8194  store i32 3, ptr %arrayidx3, align 495  %tls4 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS4)96  %arrayidx4 = getelementptr inbounds [4000 x i32], ptr %tls4, i64 0, i64 8297  store i32 4, ptr %arrayidx4, align 498  %tls5 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS5)99  %arrayidx5 = getelementptr inbounds [4000 x i32], ptr %tls5, i64 0, i64 83100  store i32 88, ptr %arrayidx5, align 4101  %load1 = load i32, ptr %tls1, align 4102  %load2 = load i32, ptr %arrayidx1, align 4103  %load3 = load i32, ptr %arrayidx2, align 4104  %load4 = load i32, ptr %arrayidx3, align 4105  %load5 = load i32, ptr %arrayidx4, align 4106  %add = add i32 %load1, 88107  %add6 = add i32 %add, %load2108  %add8 = add i32 %add6, %load3109  %add10 = add i32 %add8, %load4110  %add12 = add i32 %add10, %load5111  ret i32 %add12112}113 114; All accesses use a "faster" local-dynamic sequence directly off the module handle.115; Exercise PPCXCOFFObjectWriter::getRelocTypeAndSignSize/fixup_ppc_half16ds.116define i64 @test2() {117; SMALL-LOCAL-DYNAMIC-SMALLCM64-LABEL: test2:118; SMALL-LOCAL-DYNAMIC-SMALLCM64:       # %bb.0: # %entry119; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    mflr r0120; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stdu r1, -48(r1)121; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r3, L..C0(r2) # target-flags(ppc-tlsldm) @"_$TLSML"122; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r0, 64(r1)123; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    bla .__tls_get_mod[PR]124; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    mr r6, r3125; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r3, 212126; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 203127; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r4, ElementLongTLS2[TL]@ld+1200-131072(r6)128; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r4, L..C1(r2) # target-flags(ppc-tlsgd) @MyTLSGDVar129; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r3, ElementLongTLS6[UL]@ld+424(r6)130; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r3, L..C2(r2) # target-flags(ppc-tlsgdm) @MyTLSGDVar131; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    bla .__tls_get_addr[PR]132; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 44133; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r4, 440(r3)134; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r3, 6135; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 100136; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r3, ElementLongTLS3[TL]@ld+2000-196608(r6)137; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r3, 882138; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r4, ElementLongTLS4[TL]@ld+6800-196608(r6)139; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r3, ElementLongTLS5[TL]@ld+8400-196608(r6)140; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r3, 1191141; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    addi r1, r1, 48142; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r0, 16(r1)143; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    mtlr r0144; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    blr145;146; SMALL-LOCAL-DYNAMIC-LARGECM64-LABEL: test2:147; SMALL-LOCAL-DYNAMIC-LARGECM64:       # %bb.0: # %entry148; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    mflr r0149; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stdu r1, -48(r1)150; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addis r3, L..C0@u(r2)151; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r0, 64(r1)152; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r3, L..C0@l(r3)153; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    bla .__tls_get_mod[PR]154; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addis r4, L..C1@u(r2)155; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    mr r6, r3156; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r3, 212157; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r4, L..C1@l(r4)158; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r3, ElementLongTLS6[UL]@ld+424(r6)159; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r3, 203160; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r3, ElementLongTLS2[TL]@ld+1200-131072(r6)161; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addis r3, L..C2@u(r2)162; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r3, L..C2@l(r3)163; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    bla .__tls_get_addr[PR]164; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r4, 44165; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r4, 440(r3)166; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r3, 6167; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r4, 100168; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r3, ElementLongTLS3[TL]@ld+2000-196608(r6)169; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r3, 882170; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r4, ElementLongTLS4[TL]@ld+6800-196608(r6)171; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r3, ElementLongTLS5[TL]@ld+8400-196608(r6)172; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r3, 1191173; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addi r1, r1, 48174; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r0, 16(r1)175; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    mtlr r0176; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    blr177entry:178  %tls1 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS6)179  %arrayidx = getelementptr inbounds [60 x i64], ptr %tls1, i64 0, i64 53180  store i64 212, ptr %arrayidx, align 8181  %tls2 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS2)182  %arrayidx1 = getelementptr inbounds [3000 x i64], ptr %tls2, i64 0, i64 150183  store i64 203, ptr %arrayidx1, align 8184  %tls3 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @MyTLSGDVar)185  %arrayidx2 = getelementptr inbounds [800 x i64], ptr %tls3, i64 0, i64 55186  store i64 44, ptr %arrayidx2, align 8187  %tls4 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS3)188  %arrayidx3 = getelementptr inbounds [3000 x i64], ptr %tls4, i64 0, i64 250189  store i64 6, ptr %arrayidx3, align 8190  %tls5 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS4)191  %arrayidx4 = getelementptr inbounds [3000 x i64], ptr %tls5, i64 0, i64 850192  store i64 100, ptr %arrayidx4, align 8193  %tls6 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS5)194  %arrayidx5 = getelementptr inbounds [3000 x i64], ptr %tls6, i64 0, i64 1050195  store i64 882, ptr %arrayidx5, align 8196  %load1 = load i64, ptr %arrayidx1, align 8197  %load2 = load i64, ptr %arrayidx3, align 8198  %load3 = load i64, ptr %arrayidx4, align 8199  %add = add i64 %load1, 882200  %add9 = add i64 %add, %load2201  %add11 = add i64 %add9, %load3202  ret i64 %add11203}204 205; Example of one access using the regular local-dynamic access from the TOC.206define signext i32 @test3() {207; SMALL-LOCAL-DYNAMIC-SMALLCM64-LABEL: test3:208; SMALL-LOCAL-DYNAMIC-SMALLCM64:       # %bb.0: # %entry209; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    mflr r0210; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stdu r1, -48(r1)211; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r3, L..C0(r2) # target-flags(ppc-tlsldm) @"_$TLSML"212; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    std r0, 64(r1)213; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r6, 3214; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    bla .__tls_get_mod[PR]215; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r5, 2216; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r4, 1217; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r6, ElementIntTLS3[TL]@ld+324-65536(r3)218; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r6, L..C3(r2) # target-flags(ppc-tlsld) @ElementIntTLSv2219; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r5, ElementIntTLS2[TL]@ld+320-65536(r3)220; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r5, 88221; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r5, ElementIntTLS5[TL]@ld+332-65536(r3)222; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r5, 4223; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r5, ElementIntTLS4[TL]@ld+328-65536(r3)224; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stwux r4, r3, r6225; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    stw r5, 24(r3)226; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    li r3, 102227; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    addi r1, r1, 48228; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    ld r0, 16(r1)229; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    mtlr r0230; SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT:    blr231;232; SMALL-LOCAL-DYNAMIC-LARGECM64-LABEL: test3:233; SMALL-LOCAL-DYNAMIC-LARGECM64:       # %bb.0: # %entry234; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    mflr r0235; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stdu r1, -48(r1)236; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addis r3, L..C0@u(r2)237; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    std r0, 64(r1)238; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addis r6, L..C3@u(r2)239; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r3, L..C0@l(r3)240; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r6, L..C3@l(r6)241; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    bla .__tls_get_mod[PR]242; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r5, 2243; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r4, 1244; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r5, ElementIntTLS2[TL]@ld+320-65536(r3)245; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r5, 3246; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r5, ElementIntTLS3[TL]@ld+324-65536(r3)247; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r5, 88248; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r5, ElementIntTLS5[TL]@ld+332-65536(r3)249; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r5, 4250; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r5, ElementIntTLS4[TL]@ld+328-65536(r3)251; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stwux r4, r3, r6252; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    stw r5, 24(r3)253; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    li r3, 102254; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    addi r1, r1, 48255; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    ld r0, 16(r1)256; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    mtlr r0257; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT:    blr258entry:259  %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLSv2)260  store i32 1, ptr %tls1, align 4261  %arrayidx1 = getelementptr inbounds [9000 x i32], ptr %tls1, i64 0, i64 6262  store i32 4, ptr %arrayidx1, align 4263  %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS2)264  %arrayidx2 = getelementptr inbounds [4000 x i32], ptr %tls2, i64 0, i64 80265  store i32 2, ptr %arrayidx2, align 4266  %tls3 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS3)267  %arrayidx3 = getelementptr inbounds [4000 x i32], ptr %tls3, i64 0, i64 81268  store i32 3, ptr %arrayidx3, align 4269  %tls4 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS4)270  %arrayidx4 = getelementptr inbounds [4000 x i32], ptr %tls4, i64 0, i64 82271  store i32 4, ptr %arrayidx4, align 4272  %tls5 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS5)273  %arrayidx5 = getelementptr inbounds [4000 x i32], ptr %tls5, i64 0, i64 83274  store i32 88, ptr %arrayidx5, align 4275  %load1 = load i32, ptr %tls1, align 4276  %load2 = load i32, ptr %arrayidx1, align 4277  %load3 = load i32, ptr %arrayidx2, align 4278  %load4 = load i32, ptr %arrayidx3, align 4279  %load5 = load i32, ptr %arrayidx4, align 4280  %add = add i32 %load1, 88281  %add9 = add i32 %add, %load2282  %add11 = add i32 %add9, %load3283  %add13 = add i32 %add11, %load4284  %add15 = add i32 %add13, %load5285  ret i32 %add15286}287 288; DIS:      file format aix5coff64-rs6000289; DIS:      Disassembly of section .text:290; DIS:      0000000000000000 (idx: [[#NFA+9]]) .test1:291; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                mflr 0292; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stdu 1, -48(1)293; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0294; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+23]]) _$TLSML[TC]295; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 6, 2, 0296; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+25]]) ElementIntTLSv1[TE]297; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 0, 64(1)298; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 7, 2, 0299; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+27]]) ElementIntTLS3[TE]300; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 0(3)301; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+23]]) _$TLSML[TC]302; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 8, 2, 0303; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+29]]) ElementIntTLS4[TE]304; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 9, 2, 0305; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+31]]) ElementIntTLS5[TE]306; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 7, 16(7)307; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+27]]) ElementIntTLS3[TE]308; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 8, 24(8)309; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+29]]) ElementIntTLS4[TE]310; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 9, 32(9)311; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+31]]) ElementIntTLS5[TE]312; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                bla 0x0313; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA	(idx: [[#NFA+1]]) .__tls_get_mod[PR]314; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 5, 8(6)315; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+25]]) ElementIntTLSv1[TE]316; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 6, 2, 0317; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+33]]) ElementIntTLS2[TE]318; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 1319; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 6, 40(6)320; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+33]]) ElementIntTLS2[TE]321; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 7, 3, 7322; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 8, 3, 8323; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 9, 3, 9324; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 6, 3, 6325; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stwux 4, 3, 5326; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 2327; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 320(6)328; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 3329; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 324(7)330; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 4331; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 24(3)332; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 3, 88333; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 328(8)334; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 3, 332(9)335; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 3, 102336; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addi 1, 1, 48337; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 0, 16(1)338; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                mtlr 0339; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                blr340 341; DIS:      0000000000000090 (idx: [[#NFA+11]]) .test2:342; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                mflr 0343; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stdu 1, -48(1)344; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0345; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+23]]) _$TLSML[TC]346; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 0, 64(1)347; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 7, 2, 0348; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+35]]) ElementLongTLS6[TE]349; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 0(3)350; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+23]]) _$TLSML[TC]351; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                bla 0x0352; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA	(idx: [[#NFA+1]]) .__tls_get_mod[PR]353; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 212354; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                mr	6, 3355; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 48(7)356; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+35]]) ElementLongTLS6[TE]357; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 3, 6, 3358; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 4, 424(3)359; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0360; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+37]]) ElementLongTLS2[TE]361; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 203362; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 56(3)363; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+37]]) ElementLongTLS2[TE]364; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 3, 6, 3365; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 4, 1200(3)366; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0367; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+39]]) .MyTLSGDVar[TE]368; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 4, 2, 0369; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+41]]) MyTLSGDVar[TE]370; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 64(3)371; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+39]]) .MyTLSGDVar[TE]372; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 4, 72(4)373; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+41]]) MyTLSGDVar[TE]374; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                bla 0x0375; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA	(idx: [[#NFA+3]]) .__tls_get_addr[PR]376; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 44377; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 4, 440(3)378; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0379; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+43]]) ElementLongTLS3[TE]380; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 6381; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 80(3)382; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+43]]) ElementLongTLS3[TE]383; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 3, 6, 3384; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 4, 2000(3)385; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0386; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+45]]) ElementLongTLS4[TE]387; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 100388; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 88(3)389; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+45]]) ElementLongTLS4[TE]390; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 3, 6, 3391; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 4, 6800(3)392; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0393; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+47]]) ElementLongTLS5[TE]394; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 882395; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 96(3)396; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+47]]) ElementLongTLS5[TE]397; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 3, 6, 3398; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 4, 8400(3)399; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 3, 1191400; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addi 1, 1, 48401; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 0, 16(1)402; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                mtlr 0403; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                blr404 405; DIS:      0000000000000140 (idx: [[#NFA+13]]) .test3:406; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                mflr 0407; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stdu 1, -48(1)408; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 3, 2, 0409; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+23]]) _$TLSML[TC]410; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 6, 2, 0411; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+49]]) ElementIntTLSv2[TE]412; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                std 0, 64(1)413; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 7, 2, 0414; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+27]]) ElementIntTLS3[TE]415; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 3, 0(3)416; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+23]]) _$TLSML[TC]417; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 8, 2, 0418; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+29]]) ElementIntTLS4[TE]419; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 9, 2, 0420; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+31]]) ElementIntTLS5[TE]421; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 7, 16(7)422; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+27]]) ElementIntTLS3[TE]423; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 8, 24(8)424; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+29]]) ElementIntTLS4[TE]425; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 9, 32(9)426; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+31]]) ElementIntTLS5[TE]427; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                bla 0x0428; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA	(idx: [[#NFA+1]]) .__tls_get_mod[PR]429; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 5, 104(6)430; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+49]]) ElementIntTLSv2[TE]431; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addis 6, 2, 0432; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU	(idx: [[#NFA+33]]) ElementIntTLS2[TE]433; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 1434; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 6, 40(6)435; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL	(idx: [[#NFA+33]]) ElementIntTLS2[TE]436; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 7, 3, 7437; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 8, 3, 8438; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 9, 3, 9439; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                add 6, 3, 6440; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stwux 4, 3, 5441; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 2442; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 320(6)443; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 3444; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 324(7)445; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 4, 4446; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 24(3)447; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 3, 88448; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 4, 328(8)449; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                stw 3, 332(9)450; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                li 3, 102451; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                addi 1, 1, 48452; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                ld 0, 16(1)453; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                mtlr 0454; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}                blr455 456; DIS:      Disassembly of section .data:457 458; DIS:      00000000000001d0 (idx: 17) test1[DS]:459; DIS-NEXT:      1d0: 00 00 00 00460; DIS-NEXT: 00000000000001d0:  R_POS	(idx: [[#NFA+9]]) .test1461; DIS-NEXT:      1d4: 00 00 00 00462; DIS-NEXT:      1d8: 00 00 00 00463; DIS-NEXT: 00000000000001d8:  R_POS	(idx: [[#NFA+21]]) TOC[TC0]464; DIS-NEXT:      1dc: 00 00 02 18465 466; DIS:      00000000000001e8 (idx: 19) test2[DS]:467; DIS-NEXT:      1e8: 00 00 00 00468; DIS-NEXT: 00000000000001e8:  R_POS	(idx: [[#NFA+11]]) .test2469; DIS-NEXT:      1ec: 00 00 00 90470; DIS-NEXT:      1f0: 00 00 00 00471; DIS-NEXT: 00000000000001f0:  R_POS	(idx: [[#NFA+21]]) TOC[TC0]472; DIS-NEXT:      1f4: 00 00 02 18473 474; DIS:      0000000000000200 (idx: 21) test3[DS]:475; DIS-NEXT:      200: 00 00 00 00476; DIS-NEXT: 0000000000000200:  R_POS	(idx: [[#NFA+13]]) .test3477; DIS-NEXT:      204: 00 00 01 40478; DIS-NEXT:      208: 00 00 00 00479; DIS-NEXT: 0000000000000208:  R_POS	(idx: [[#NFA+21]]) TOC[TC0]480; DIS-NEXT:      20c: 00 00 02 18481 482; DIS:      0000000000000218 (idx: 25) _$TLSML[TC]:483; DIS-NEXT:      218: 00 00 00 00484; DIS-NEXT: 0000000000000218:  R_TLSML	(idx: [[#NFA+23]]) _$TLSML[TC]485; DIS-NEXT:      21c: 00 00 00 00486 487; DIS:      0000000000000220 (idx: 27) ElementIntTLSv1[TE]:488; DIS-NEXT:      220: 00 00 00 00489; DIS-NEXT: 0000000000000220:  R_TLS_LD	(idx: [[#NFA+51]]) ElementIntTLSv1[TL]490; DIS-NEXT:      224: 00 00 00 00491 492; DIS:      0000000000000228 (idx: 29) ElementIntTLS3[TE]:493; DIS-NEXT:      228: 00 00 00 00494; DIS-NEXT: 0000000000000228:  R_TLS_LD	(idx: [[#NFA+55]]) ElementIntTLS3[TL]495; DIS-NEXT:      22c: 00 00 be 6c496 497; DIS:      0000000000000230 (idx: 31) ElementIntTLS4[TE]:498; DIS-NEXT:      230: 00 00 00 00499; DIS-NEXT: 0000000000000230:  R_TLS_LD	(idx: [[#NFA+57]]) ElementIntTLS4[TL]500; DIS-NEXT:      234: 00 00 fc ec501 502; DIS:      0000000000000238 (idx: 33) ElementIntTLS5[TE]:503; DIS-NEXT:      238: 00 00 00 00504; DIS-NEXT: 0000000000000238:  R_TLS_LD	(idx: [[#NFA+59]]) ElementIntTLS5[TL]505; DIS-NEXT:      23c: 00 01 3b 6c506 507; DIS:      0000000000000240 (idx: 35) ElementIntTLS2[TE]:508; DIS-NEXT:      240: 00 00 00 00509; DIS-NEXT: 0000000000000240:  R_TLS_LD	(idx: [[#NFA+53]]) ElementIntTLS2[TL]510; DIS-NEXT:      244: 00 00 7f ec511 512; DIS:      0000000000000248 (idx: 37) ElementLongTLS6[TE]:513; DIS-NEXT:      248: 00 00 00 00514; DIS-NEXT: 0000000000000248:  R_TLS_LD	(idx: [[#NFA+5]]) ElementLongTLS6[UL]515; DIS-NEXT:      24c: 00 00 00 00516 517; DIS:      0000000000000250 (idx: 39) ElementLongTLS2[TE]:518; DIS-NEXT:      250: 00 00 00 00519; DIS-NEXT: 0000000000000250:  R_TLS_LD	(idx: [[#NFA+63]]) ElementLongTLS2[TL]520; DIS-NEXT:      254: 00 02 06 90521 522; DIS:      0000000000000258 (idx: 41) .MyTLSGDVar[TE]:523; DIS-NEXT:      258: 00 00 00 00524; DIS-NEXT: 0000000000000258:  R_TLSM	(idx: [[#NFA+65]]) MyTLSGDVar[TL]525; DIS-NEXT:      25c: 00 00 00 00526 527; DIS:      0000000000000260 (idx: 43) MyTLSGDVar[TE]:528; DIS-NEXT:      260: 00 00 00 00529; DIS-NEXT: 0000000000000260:  R_TLS	(idx: [[#NFA+65]]) MyTLSGDVar[TL]530; DIS-NEXT:      264: 00 02 64 50531 532; DIS:      0000000000000268 (idx: 45) ElementLongTLS3[TE]:533; DIS-NEXT:      268: 00 00 00 00534; DIS-NEXT: 0000000000000268:  R_TLS_LD	(idx: [[#NFA+67]]) ElementLongTLS3[TL]535; DIS-NEXT:      26c: 00 02 7d 50536 537; DIS:      0000000000000270 (idx: 47) ElementLongTLS4[TE]:538; DIS-NEXT:      270: 00 00 00 00539; DIS-NEXT: 0000000000000270:  R_TLS_LD	(idx: [[#NFA+69]]) ElementLongTLS4[TL]540; DIS-NEXT:      274: 00 02 db 10541 542; DIS:      0000000000000278 (idx: 49) ElementLongTLS5[TE]:543; DIS-NEXT:      278: 00 00 00 00544; DIS-NEXT: 0000000000000278:  R_TLS_LD	(idx: [[#NFA+71]]) ElementLongTLS5[TL]545; DIS-NEXT:      27c: 00 03 38 d0546 547; DIS:      0000000000000280 (idx: 51) ElementIntTLSv2[TE]:548; DIS-NEXT:      280: 00 00 00 00549; DIS-NEXT: 0000000000000280:  R_TLS_LD	(idx: [[#NFA+61]]) ElementIntTLSv2[TL]550; DIS-NEXT:      284: 00 01 79 ec551 552; DIS:      Disassembly of section .tdata:553; DIS:      0000000000000000 (idx: [[#NFA+51]]) ElementIntTLSv1[TL]:554; DIS:      0000000000007fec (idx: [[#NFA+53]]) ElementIntTLS2[TL]:555; DIS:      000000000000be6c (idx: [[#NFA+55]]) ElementIntTLS3[TL]:556; DIS:      000000000000fcec (idx: [[#NFA+57]]) ElementIntTLS4[TL]:557; DIS:      0000000000013b6c (idx: [[#NFA+59]]) ElementIntTLS5[TL]:558; DIS:      00000000000179ec (idx: [[#NFA+61]]) ElementIntTLSv2[TL]:559; DIS:      0000000000020690 (idx: [[#NFA+63]]) ElementLongTLS2[TL]:560; DIS:      0000000000026450 (idx: [[#NFA+65]]) MyTLSGDVar[TL]:561; DIS:      0000000000027d50 (idx: [[#NFA+67]]) ElementLongTLS3[TL]:562; DIS:      000000000002db10 (idx: [[#NFA+69]]) ElementLongTLS4[TL]:563; DIS:      00000000000338d0 (idx: [[#NFA+71]]) ElementLongTLS5[TL]:564; DIS:      0000000000039690 (idx: [[#NFA+73]]) ElementLongTLS[TL]:565