190a7fc36SFelix (Ting Wang); NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3 290a7fc36SFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -ppc-asm-full-reg-names \ 309d51a84SFelix (Ting Wang); RUN: -mattr=+aix-small-local-dynamic-tls -mtriple powerpc64-ibm-aix-xcoff < %s \ 490a7fc36SFelix (Ting Wang); RUN: | FileCheck %s --check-prefix=SMALL-LOCAL-DYNAMIC-SMALLCM64 590a7fc36SFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 -ppc-asm-full-reg-names \ 609d51a84SFelix (Ting Wang); RUN: -mattr=+aix-small-local-dynamic-tls -mtriple powerpc64-ibm-aix-xcoff --code-model=large \ 790a7fc36SFelix (Ting Wang); RUN: < %s | FileCheck %s \ 890a7fc36SFelix (Ting Wang); RUN: --check-prefix=SMALL-LOCAL-DYNAMIC-LARGECM64 990a7fc36SFelix (Ting Wang) 1090a7fc36SFelix (Ting Wang); Test disassembly of object. 1190a7fc36SFelix (Ting Wang); RUN: llc -verify-machineinstrs -mcpu=pwr7 \ 1290a7fc36SFelix (Ting Wang); RUN: -mtriple powerpc64-ibm-aix-xcoff -xcoff-traceback-table=false \ 1390a7fc36SFelix (Ting Wang); RUN: --code-model=large -filetype=obj -o %t.o < %s 1490a7fc36SFelix (Ting Wang); RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=DIS %s 1590a7fc36SFelix (Ting Wang) 1690a7fc36SFelix (Ting Wang)@ElementIntTLSv1 = thread_local(localdynamic) global [8187 x i32] zeroinitializer, align 4 ; Within 32K 1790a7fc36SFelix (Ting Wang)@ElementIntTLS2 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 4 1890a7fc36SFelix (Ting Wang)@ElementIntTLS3 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 4 1990a7fc36SFelix (Ting Wang)@ElementIntTLS4 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 4 2090a7fc36SFelix (Ting Wang)@ElementIntTLS5 = thread_local(localdynamic) global [4000 x i32] zeroinitializer, align 4 2190a7fc36SFelix (Ting Wang)@ElementIntTLSv2 = thread_local(localdynamic) global [9000 x i32] zeroinitializer, align 4 ; Beyond 32K 2290a7fc36SFelix (Ting Wang) 2390a7fc36SFelix (Ting Wang)@ElementLongTLS6 = external thread_local(localdynamic) global [60 x i64], align 8 2490a7fc36SFelix (Ting Wang)@ElementLongTLS2 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 8 ; Within 32K 2590a7fc36SFelix (Ting Wang)@MyTLSGDVar = thread_local global [800 x i64] zeroinitializer, align 8 2690a7fc36SFelix (Ting Wang)@ElementLongTLS3 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 8 2790a7fc36SFelix (Ting Wang)@ElementLongTLS4 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 8 2890a7fc36SFelix (Ting Wang)@ElementLongTLS5 = thread_local(localdynamic) global [3000 x i64] zeroinitializer, align 8 2990a7fc36SFelix (Ting Wang)@ElementLongTLS = thread_local(localdynamic) local_unnamed_addr global [7800 x i64] zeroinitializer, align 8 ; Beyond 32K 3090a7fc36SFelix (Ting Wang) 3190a7fc36SFelix (Ting Wang)declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #1 3290a7fc36SFelix (Ting Wang) 3390a7fc36SFelix (Ting Wang); All accesses use a "faster" local-dynamic sequence directly off the module handle. 3490a7fc36SFelix (Ting Wang); Exercise PPCXCOFFObjectWriter::getRelocTypeAndSignSize/fixup_ppc_half16. 3590a7fc36SFelix (Ting Wang)define signext i32 @test1() { 3690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-LABEL: test1: 3790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64: # %bb.0: # %entry 3890a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: mflr r0 3990a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stdu r1, -48(r1) 4090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r3, L..C0(r2) # target-flags(ppc-tlsldm) @"_$TLSML" 4190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r0, 64(r1) 4290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: bla .__tls_get_mod[PR] 43*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 1 44*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r5, 4 45*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r4, ElementIntTLSv1[TL]@ld(r3) 4609d51a84SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 2 47*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r5, ElementIntTLSv1[TL]@ld+24(r3) 48*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r5, (ElementIntTLS4[TL]@ld+328)-65536(r3) 49*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r4, (ElementIntTLS2[TL]@ld+320)-65536(r3) 50*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 3 51*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r4, (ElementIntTLS3[TL]@ld+324)-65536(r3) 5209d51a84SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 88 53*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r4, (ElementIntTLS5[TL]@ld+332)-65536(r3) 5490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r3, 102 5590a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: addi r1, r1, 48 5690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r0, 16(r1) 5790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: mtlr r0 5890a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: blr 5990a7fc36SFelix (Ting Wang); 6090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-LABEL: test1: 6190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64: # %bb.0: # %entry 6290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: mflr r0 6390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stdu r1, -48(r1) 6490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addis r3, L..C0@u(r2) 6590a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r0, 64(r1) 6690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r3, L..C0@l(r3) 6790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: bla .__tls_get_mod[PR] 68*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r4, 1 69*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r5, 4 70*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r4, ElementIntTLSv1[TL]@ld(r3) 7109d51a84SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r4, 2 72*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r5, ElementIntTLSv1[TL]@ld+24(r3) 73*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r5, (ElementIntTLS4[TL]@ld+328)-65536(r3) 74*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r4, (ElementIntTLS2[TL]@ld+320)-65536(r3) 75*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r4, 3 76*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r4, (ElementIntTLS3[TL]@ld+324)-65536(r3) 7709d51a84SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r4, 88 78*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r4, (ElementIntTLS5[TL]@ld+332)-65536(r3) 7990a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r3, 102 8090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addi r1, r1, 48 8190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r0, 16(r1) 8290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: mtlr r0 8390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: blr 8490a7fc36SFelix (Ting Wang)entry: 8590a7fc36SFelix (Ting Wang) %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLSv1) 8690a7fc36SFelix (Ting Wang) store i32 1, ptr %tls1, align 4 8790a7fc36SFelix (Ting Wang) %arrayidx1 = getelementptr inbounds [8187 x i32], ptr %tls1, i64 0, i64 6 8890a7fc36SFelix (Ting Wang) store i32 4, ptr %arrayidx1, align 4 8990a7fc36SFelix (Ting Wang) %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS2) 9090a7fc36SFelix (Ting Wang) %arrayidx2 = getelementptr inbounds [4000 x i32], ptr %tls2, i64 0, i64 80 9190a7fc36SFelix (Ting Wang) store i32 2, ptr %arrayidx2, align 4 9290a7fc36SFelix (Ting Wang) %tls3 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS3) 9390a7fc36SFelix (Ting Wang) %arrayidx3 = getelementptr inbounds [4000 x i32], ptr %tls3, i64 0, i64 81 9490a7fc36SFelix (Ting Wang) store i32 3, ptr %arrayidx3, align 4 9590a7fc36SFelix (Ting Wang) %tls4 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS4) 9690a7fc36SFelix (Ting Wang) %arrayidx4 = getelementptr inbounds [4000 x i32], ptr %tls4, i64 0, i64 82 9790a7fc36SFelix (Ting Wang) store i32 4, ptr %arrayidx4, align 4 9890a7fc36SFelix (Ting Wang) %tls5 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS5) 9990a7fc36SFelix (Ting Wang) %arrayidx5 = getelementptr inbounds [4000 x i32], ptr %tls5, i64 0, i64 83 10090a7fc36SFelix (Ting Wang) store i32 88, ptr %arrayidx5, align 4 10190a7fc36SFelix (Ting Wang) %load1 = load i32, ptr %tls1, align 4 10290a7fc36SFelix (Ting Wang) %load2 = load i32, ptr %arrayidx1, align 4 10390a7fc36SFelix (Ting Wang) %load3 = load i32, ptr %arrayidx2, align 4 10490a7fc36SFelix (Ting Wang) %load4 = load i32, ptr %arrayidx3, align 4 10590a7fc36SFelix (Ting Wang) %load5 = load i32, ptr %arrayidx4, align 4 10690a7fc36SFelix (Ting Wang) %add = add i32 %load1, 88 10790a7fc36SFelix (Ting Wang) %add6 = add i32 %add, %load2 10890a7fc36SFelix (Ting Wang) %add8 = add i32 %add6, %load3 10990a7fc36SFelix (Ting Wang) %add10 = add i32 %add8, %load4 11090a7fc36SFelix (Ting Wang) %add12 = add i32 %add10, %load5 11190a7fc36SFelix (Ting Wang) ret i32 %add12 11290a7fc36SFelix (Ting Wang)} 11390a7fc36SFelix (Ting Wang) 11490a7fc36SFelix (Ting Wang); All accesses use a "faster" local-dynamic sequence directly off the module handle. 11590a7fc36SFelix (Ting Wang); Exercise PPCXCOFFObjectWriter::getRelocTypeAndSignSize/fixup_ppc_half16ds. 11690a7fc36SFelix (Ting Wang)define i64 @test2() { 11790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-LABEL: test2: 11890a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64: # %bb.0: # %entry 11990a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: mflr r0 12090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stdu r1, -48(r1) 12190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r3, L..C0(r2) # target-flags(ppc-tlsldm) @"_$TLSML" 12290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r0, 64(r1) 12390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: bla .__tls_get_mod[PR] 12490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: mr r6, r3 125*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r3, 212 12690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 203 127*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r4, (ElementLongTLS2[TL]@ld+1200)-131072(r6) 128*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r4, L..C1(r2) # target-flags(ppc-tlsgd) @MyTLSGDVar 129*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r3, ElementLongTLS6[UL]@ld+424(r6) 130*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r3, L..C2(r2) # target-flags(ppc-tlsgdm) @MyTLSGDVar 13190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: bla .__tls_get_addr[PR] 13290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 44 13390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r4, 440(r3) 134*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r3, 6 13509d51a84SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 100 136*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r3, (ElementLongTLS3[TL]@ld+2000)-196608(r6) 137*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r3, 882 138*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r4, (ElementLongTLS4[TL]@ld+6800)-196608(r6) 139*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r3, (ElementLongTLS5[TL]@ld+8400)-196608(r6) 14090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r3, 1191 14190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: addi r1, r1, 48 14290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r0, 16(r1) 14390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: mtlr r0 14490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: blr 14590a7fc36SFelix (Ting Wang); 14690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-LABEL: test2: 14790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64: # %bb.0: # %entry 14890a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: mflr r0 14990a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stdu r1, -48(r1) 15090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addis r3, L..C0@u(r2) 15190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r0, 64(r1) 15290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r3, L..C0@l(r3) 15390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: bla .__tls_get_mod[PR] 154*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addis r4, L..C1@u(r2) 15590a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: mr r6, r3 156*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r3, 212 157*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r4, L..C1@l(r4) 158*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r3, ElementLongTLS6[UL]@ld+424(r6) 159*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r3, 203 160*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r3, (ElementLongTLS2[TL]@ld+1200)-131072(r6) 161*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addis r3, L..C2@u(r2) 162*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r3, L..C2@l(r3) 16390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: bla .__tls_get_addr[PR] 16490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r4, 44 16590a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r4, 440(r3) 166*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r3, 6 16790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r4, 100 168*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r3, (ElementLongTLS3[TL]@ld+2000)-196608(r6) 169*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r3, 882 170*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r4, (ElementLongTLS4[TL]@ld+6800)-196608(r6) 171*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r3, (ElementLongTLS5[TL]@ld+8400)-196608(r6) 17290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r3, 1191 17390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addi r1, r1, 48 17490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r0, 16(r1) 17590a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: mtlr r0 17690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: blr 17790a7fc36SFelix (Ting Wang)entry: 17890a7fc36SFelix (Ting Wang) %tls1 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS6) 17990a7fc36SFelix (Ting Wang) %arrayidx = getelementptr inbounds [60 x i64], ptr %tls1, i64 0, i64 53 18090a7fc36SFelix (Ting Wang) store i64 212, ptr %arrayidx, align 8 18190a7fc36SFelix (Ting Wang) %tls2 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS2) 18290a7fc36SFelix (Ting Wang) %arrayidx1 = getelementptr inbounds [3000 x i64], ptr %tls2, i64 0, i64 150 18390a7fc36SFelix (Ting Wang) store i64 203, ptr %arrayidx1, align 8 18490a7fc36SFelix (Ting Wang) %tls3 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @MyTLSGDVar) 18590a7fc36SFelix (Ting Wang) %arrayidx2 = getelementptr inbounds [800 x i64], ptr %tls3, i64 0, i64 55 18690a7fc36SFelix (Ting Wang) store i64 44, ptr %arrayidx2, align 8 18790a7fc36SFelix (Ting Wang) %tls4 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS3) 18890a7fc36SFelix (Ting Wang) %arrayidx3 = getelementptr inbounds [3000 x i64], ptr %tls4, i64 0, i64 250 18990a7fc36SFelix (Ting Wang) store i64 6, ptr %arrayidx3, align 8 19090a7fc36SFelix (Ting Wang) %tls5 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS4) 19190a7fc36SFelix (Ting Wang) %arrayidx4 = getelementptr inbounds [3000 x i64], ptr %tls5, i64 0, i64 850 19290a7fc36SFelix (Ting Wang) store i64 100, ptr %arrayidx4, align 8 19390a7fc36SFelix (Ting Wang) %tls6 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @ElementLongTLS5) 19490a7fc36SFelix (Ting Wang) %arrayidx5 = getelementptr inbounds [3000 x i64], ptr %tls6, i64 0, i64 1050 19590a7fc36SFelix (Ting Wang) store i64 882, ptr %arrayidx5, align 8 19690a7fc36SFelix (Ting Wang) %load1 = load i64, ptr %arrayidx1, align 8 19790a7fc36SFelix (Ting Wang) %load2 = load i64, ptr %arrayidx3, align 8 19890a7fc36SFelix (Ting Wang) %load3 = load i64, ptr %arrayidx4, align 8 19990a7fc36SFelix (Ting Wang) %add = add i64 %load1, 882 20090a7fc36SFelix (Ting Wang) %add9 = add i64 %add, %load2 20190a7fc36SFelix (Ting Wang) %add11 = add i64 %add9, %load3 20290a7fc36SFelix (Ting Wang) ret i64 %add11 20390a7fc36SFelix (Ting Wang)} 20490a7fc36SFelix (Ting Wang) 20590a7fc36SFelix (Ting Wang); Example of one access using the regular local-dynamic access from the TOC. 20690a7fc36SFelix (Ting Wang)define signext i32 @test3() { 20790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-LABEL: test3: 20890a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64: # %bb.0: # %entry 20990a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: mflr r0 21090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stdu r1, -48(r1) 21190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r3, L..C0(r2) # target-flags(ppc-tlsldm) @"_$TLSML" 21290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: std r0, 64(r1) 213*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r6, 3 21490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: bla .__tls_get_mod[PR] 215*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r5, 2 21690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r4, 1 217*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r6, (ElementIntTLS3[TL]@ld+324)-65536(r3) 218*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r6, L..C3(r2) # target-flags(ppc-tlsld) @ElementIntTLSv2 219*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r5, (ElementIntTLS2[TL]@ld+320)-65536(r3) 220*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r5, 88 221*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r5, (ElementIntTLS5[TL]@ld+332)-65536(r3) 222*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r5, 4 223*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r5, (ElementIntTLS4[TL]@ld+328)-65536(r3) 224*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stwux r4, r3, r6 225*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: stw r5, 24(r3) 22690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: li r3, 102 22790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: addi r1, r1, 48 22890a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: ld r0, 16(r1) 22990a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: mtlr r0 23090a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-SMALLCM64-NEXT: blr 23190a7fc36SFelix (Ting Wang); 23290a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-LABEL: test3: 23390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64: # %bb.0: # %entry 23490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: mflr r0 23590a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stdu r1, -48(r1) 23690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addis r3, L..C0@u(r2) 23790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: std r0, 64(r1) 2386bbccd25SMatthias Braun; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addis r6, L..C3@u(r2) 23990a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r3, L..C0@l(r3) 24009d51a84SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r6, L..C3@l(r6) 24190a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: bla .__tls_get_mod[PR] 2426bbccd25SMatthias Braun; SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r5, 2 24390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r4, 1 244*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r5, (ElementIntTLS2[TL]@ld+320)-65536(r3) 245*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r5, 3 246*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r5, (ElementIntTLS3[TL]@ld+324)-65536(r3) 247*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r5, 88 248*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r5, (ElementIntTLS5[TL]@ld+332)-65536(r3) 249*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r5, 4 250*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r5, (ElementIntTLS4[TL]@ld+328)-65536(r3) 25109d51a84SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stwux r4, r3, r6 252*19220110SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: stw r5, 24(r3) 25390a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: li r3, 102 25490a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: addi r1, r1, 48 25590a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: ld r0, 16(r1) 25690a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: mtlr r0 25790a7fc36SFelix (Ting Wang); SMALL-LOCAL-DYNAMIC-LARGECM64-NEXT: blr 25890a7fc36SFelix (Ting Wang)entry: 25990a7fc36SFelix (Ting Wang) %tls1 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLSv2) 26090a7fc36SFelix (Ting Wang) store i32 1, ptr %tls1, align 4 26190a7fc36SFelix (Ting Wang) %arrayidx1 = getelementptr inbounds [9000 x i32], ptr %tls1, i64 0, i64 6 26290a7fc36SFelix (Ting Wang) store i32 4, ptr %arrayidx1, align 4 26390a7fc36SFelix (Ting Wang) %tls2 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS2) 26490a7fc36SFelix (Ting Wang) %arrayidx2 = getelementptr inbounds [4000 x i32], ptr %tls2, i64 0, i64 80 26590a7fc36SFelix (Ting Wang) store i32 2, ptr %arrayidx2, align 4 26690a7fc36SFelix (Ting Wang) %tls3 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS3) 26790a7fc36SFelix (Ting Wang) %arrayidx3 = getelementptr inbounds [4000 x i32], ptr %tls3, i64 0, i64 81 26890a7fc36SFelix (Ting Wang) store i32 3, ptr %arrayidx3, align 4 26990a7fc36SFelix (Ting Wang) %tls4 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS4) 27090a7fc36SFelix (Ting Wang) %arrayidx4 = getelementptr inbounds [4000 x i32], ptr %tls4, i64 0, i64 82 27190a7fc36SFelix (Ting Wang) store i32 4, ptr %arrayidx4, align 4 27290a7fc36SFelix (Ting Wang) %tls5 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @ElementIntTLS5) 27390a7fc36SFelix (Ting Wang) %arrayidx5 = getelementptr inbounds [4000 x i32], ptr %tls5, i64 0, i64 83 27490a7fc36SFelix (Ting Wang) store i32 88, ptr %arrayidx5, align 4 27590a7fc36SFelix (Ting Wang) %load1 = load i32, ptr %tls1, align 4 27690a7fc36SFelix (Ting Wang) %load2 = load i32, ptr %arrayidx1, align 4 27790a7fc36SFelix (Ting Wang) %load3 = load i32, ptr %arrayidx2, align 4 27890a7fc36SFelix (Ting Wang) %load4 = load i32, ptr %arrayidx3, align 4 27990a7fc36SFelix (Ting Wang) %load5 = load i32, ptr %arrayidx4, align 4 28090a7fc36SFelix (Ting Wang) %add = add i32 %load1, 88 28190a7fc36SFelix (Ting Wang) %add9 = add i32 %add, %load2 28290a7fc36SFelix (Ting Wang) %add11 = add i32 %add9, %load3 28390a7fc36SFelix (Ting Wang) %add13 = add i32 %add11, %load4 28490a7fc36SFelix (Ting Wang) %add15 = add i32 %add13, %load5 28590a7fc36SFelix (Ting Wang) ret i32 %add15 28690a7fc36SFelix (Ting Wang)} 28790a7fc36SFelix (Ting Wang) 28890a7fc36SFelix (Ting Wang); DIS: file format aix5coff64-rs6000 28990a7fc36SFelix (Ting Wang); DIS: Disassembly of section .text: 29090a7fc36SFelix (Ting Wang); DIS: 0000000000000000 (idx: [[#NFA+9]]) .test1: 29190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} mflr 0 29290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stdu 1, -48(1) 29390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 29490a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+23]]) _$TLSML[TC] 29590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 6, 2, 0 29690a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+25]]) ElementIntTLSv1[TE] 29790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 0, 64(1) 29890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 7, 2, 0 29990a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+27]]) ElementIntTLS3[TE] 30090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 0(3) 30190a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+23]]) _$TLSML[TC] 30290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 8, 2, 0 30390a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+29]]) ElementIntTLS4[TE] 30490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 9, 2, 0 30590a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+31]]) ElementIntTLS5[TE] 30690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 7, 16(7) 30790a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+27]]) ElementIntTLS3[TE] 30890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 8, 24(8) 30990a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+29]]) ElementIntTLS4[TE] 31090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 9, 32(9) 31190a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+31]]) ElementIntTLS5[TE] 31290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} bla 0x0 31390a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: [[#NFA+1]]) .__tls_get_mod[PR] 31490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 5, 8(6) 31590a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+25]]) ElementIntTLSv1[TE] 31690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 6, 2, 0 31790a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+33]]) ElementIntTLS2[TE] 31890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 1 31990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 6, 40(6) 32090a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+33]]) ElementIntTLS2[TE] 32190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 7, 3, 7 32290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 8, 3, 8 32390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 9, 3, 9 32490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 6, 3, 6 32590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stwux 4, 3, 5 3266bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 2 3276bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 320(6) 3286bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 3 3296bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 324(7) 33090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 4 33190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 24(3) 33290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 3, 88 33390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 328(8) 33490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 3, 332(9) 33590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 3, 102 33690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addi 1, 1, 48 33790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 0, 16(1) 33890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} mtlr 0 33990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} blr 34090a7fc36SFelix (Ting Wang) 34190a7fc36SFelix (Ting Wang); DIS: 0000000000000090 (idx: [[#NFA+11]]) .test2: 34290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} mflr 0 34390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stdu 1, -48(1) 34490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 34590a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+23]]) _$TLSML[TC] 34690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 0, 64(1) 34790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 7, 2, 0 34890a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+35]]) ElementLongTLS6[TE] 34990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 0(3) 35090a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+23]]) _$TLSML[TC] 35190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} bla 0x0 35290a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: [[#NFA+1]]) .__tls_get_mod[PR] 35390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 212 35490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} mr 6, 3 35590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 48(7) 35690a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+35]]) ElementLongTLS6[TE] 35790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 3, 6, 3 35890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 4, 424(3) 35990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 36090a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+37]]) ElementLongTLS2[TE] 36190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 203 36290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 56(3) 36390a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+37]]) ElementLongTLS2[TE] 36490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 3, 6, 3 36590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 4, 1200(3) 36690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 36790a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+39]]) .MyTLSGDVar[TE] 36890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 4, 2, 0 36990a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+41]]) MyTLSGDVar[TE] 37090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 64(3) 37190a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+39]]) .MyTLSGDVar[TE] 37290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 4, 72(4) 37390a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+41]]) MyTLSGDVar[TE] 37490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} bla 0x0 37590a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: [[#NFA+3]]) .__tls_get_addr[PR] 37690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 44 37790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 4, 440(3) 37890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 37990a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+43]]) ElementLongTLS3[TE] 38090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 6 38190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 80(3) 38290a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+43]]) ElementLongTLS3[TE] 38390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 3, 6, 3 38490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 4, 2000(3) 38590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 38690a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+45]]) ElementLongTLS4[TE] 38790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 100 38890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 88(3) 38990a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+45]]) ElementLongTLS4[TE] 39090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 3, 6, 3 39190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 4, 6800(3) 39290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 39390a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+47]]) ElementLongTLS5[TE] 39490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 882 39590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 96(3) 39690a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+47]]) ElementLongTLS5[TE] 39790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 3, 6, 3 39890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 4, 8400(3) 39990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 3, 1191 40090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addi 1, 1, 48 40190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 0, 16(1) 40290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} mtlr 0 40390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} blr 40490a7fc36SFelix (Ting Wang) 40590a7fc36SFelix (Ting Wang); DIS: 0000000000000140 (idx: [[#NFA+13]]) .test3: 40690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} mflr 0 40790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stdu 1, -48(1) 40890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0 40990a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+23]]) _$TLSML[TC] 41090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 6, 2, 0 41190a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+49]]) ElementIntTLSv2[TE] 41290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} std 0, 64(1) 41390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 7, 2, 0 41490a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+27]]) ElementIntTLS3[TE] 41590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 3, 0(3) 41690a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+23]]) _$TLSML[TC] 41790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 8, 2, 0 41890a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+29]]) ElementIntTLS4[TE] 41990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 9, 2, 0 42090a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+31]]) ElementIntTLS5[TE] 42190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 7, 16(7) 42290a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+27]]) ElementIntTLS3[TE] 42390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 8, 24(8) 42490a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+29]]) ElementIntTLS4[TE] 42590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 9, 32(9) 42690a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+31]]) ElementIntTLS5[TE] 42790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} bla 0x0 42890a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: [[#NFA+1]]) .__tls_get_mod[PR] 42990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 5, 104(6) 43090a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+49]]) ElementIntTLSv2[TE] 43190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 6, 2, 0 43290a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+33]]) ElementIntTLS2[TE] 43390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 1 43490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 6, 40(6) 43590a7fc36SFelix (Ting Wang); DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+33]]) ElementIntTLS2[TE] 43690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 7, 3, 7 43790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 8, 3, 8 43890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 9, 3, 9 43990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} add 6, 3, 6 44090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stwux 4, 3, 5 4416bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 2 4426bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 320(6) 4436bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 3 4446bbccd25SMatthias Braun; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 324(7) 44590a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 4, 4 44690a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 24(3) 44790a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 3, 88 44890a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 4, 328(8) 44990a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} stw 3, 332(9) 45090a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} li 3, 102 45190a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addi 1, 1, 48 45290a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} ld 0, 16(1) 45390a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} mtlr 0 45490a7fc36SFelix (Ting Wang); DIS-NEXT: [[#%x, ADDR:]]: {{.*}} blr 45590a7fc36SFelix (Ting Wang) 45690a7fc36SFelix (Ting Wang); DIS: Disassembly of section .data: 45790a7fc36SFelix (Ting Wang) 45890a7fc36SFelix (Ting Wang); DIS: 00000000000001d0 (idx: 17) test1[DS]: 45990a7fc36SFelix (Ting Wang); DIS-NEXT: 1d0: 00 00 00 00 46090a7fc36SFelix (Ting Wang); DIS-NEXT: 00000000000001d0: R_POS (idx: [[#NFA+9]]) .test1 46190a7fc36SFelix (Ting Wang); DIS-NEXT: 1d4: 00 00 00 00 46290a7fc36SFelix (Ting Wang); DIS-NEXT: 1d8: 00 00 00 00 46390a7fc36SFelix (Ting Wang); DIS-NEXT: 00000000000001d8: R_POS (idx: [[#NFA+21]]) TOC[TC0] 46490a7fc36SFelix (Ting Wang); DIS-NEXT: 1dc: 00 00 02 18 46590a7fc36SFelix (Ting Wang) 46690a7fc36SFelix (Ting Wang); DIS: 00000000000001e8 (idx: 19) test2[DS]: 46790a7fc36SFelix (Ting Wang); DIS-NEXT: 1e8: 00 00 00 00 46890a7fc36SFelix (Ting Wang); DIS-NEXT: 00000000000001e8: R_POS (idx: [[#NFA+11]]) .test2 46990a7fc36SFelix (Ting Wang); DIS-NEXT: 1ec: 00 00 00 90 47090a7fc36SFelix (Ting Wang); DIS-NEXT: 1f0: 00 00 00 00 47190a7fc36SFelix (Ting Wang); DIS-NEXT: 00000000000001f0: R_POS (idx: [[#NFA+21]]) TOC[TC0] 47290a7fc36SFelix (Ting Wang); DIS-NEXT: 1f4: 00 00 02 18 47390a7fc36SFelix (Ting Wang) 47490a7fc36SFelix (Ting Wang); DIS: 0000000000000200 (idx: 21) test3[DS]: 47590a7fc36SFelix (Ting Wang); DIS-NEXT: 200: 00 00 00 00 47690a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000200: R_POS (idx: [[#NFA+13]]) .test3 47790a7fc36SFelix (Ting Wang); DIS-NEXT: 204: 00 00 01 40 47890a7fc36SFelix (Ting Wang); DIS-NEXT: 208: 00 00 00 00 47990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000208: R_POS (idx: [[#NFA+21]]) TOC[TC0] 48090a7fc36SFelix (Ting Wang); DIS-NEXT: 20c: 00 00 02 18 48190a7fc36SFelix (Ting Wang) 48290a7fc36SFelix (Ting Wang); DIS: 0000000000000218 (idx: 25) _$TLSML[TC]: 48390a7fc36SFelix (Ting Wang); DIS-NEXT: 218: 00 00 00 00 48490a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000218: R_TLSML (idx: [[#NFA+23]]) _$TLSML[TC] 48590a7fc36SFelix (Ting Wang); DIS-NEXT: 21c: 00 00 00 00 48690a7fc36SFelix (Ting Wang) 48790a7fc36SFelix (Ting Wang); DIS: 0000000000000220 (idx: 27) ElementIntTLSv1[TE]: 48890a7fc36SFelix (Ting Wang); DIS-NEXT: 220: 00 00 00 00 48990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000220: R_TLS_LD (idx: [[#NFA+51]]) ElementIntTLSv1[TL] 49090a7fc36SFelix (Ting Wang); DIS-NEXT: 224: 00 00 00 00 49190a7fc36SFelix (Ting Wang) 49290a7fc36SFelix (Ting Wang); DIS: 0000000000000228 (idx: 29) ElementIntTLS3[TE]: 49390a7fc36SFelix (Ting Wang); DIS-NEXT: 228: 00 00 00 00 49490a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000228: R_TLS_LD (idx: [[#NFA+55]]) ElementIntTLS3[TL] 49590a7fc36SFelix (Ting Wang); DIS-NEXT: 22c: 00 00 be 6c 49690a7fc36SFelix (Ting Wang) 49790a7fc36SFelix (Ting Wang); DIS: 0000000000000230 (idx: 31) ElementIntTLS4[TE]: 49890a7fc36SFelix (Ting Wang); DIS-NEXT: 230: 00 00 00 00 49990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000230: R_TLS_LD (idx: [[#NFA+57]]) ElementIntTLS4[TL] 50090a7fc36SFelix (Ting Wang); DIS-NEXT: 234: 00 00 fc ec 50190a7fc36SFelix (Ting Wang) 50290a7fc36SFelix (Ting Wang); DIS: 0000000000000238 (idx: 33) ElementIntTLS5[TE]: 50390a7fc36SFelix (Ting Wang); DIS-NEXT: 238: 00 00 00 00 50490a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000238: R_TLS_LD (idx: [[#NFA+59]]) ElementIntTLS5[TL] 50590a7fc36SFelix (Ting Wang); DIS-NEXT: 23c: 00 01 3b 6c 50690a7fc36SFelix (Ting Wang) 50790a7fc36SFelix (Ting Wang); DIS: 0000000000000240 (idx: 35) ElementIntTLS2[TE]: 50890a7fc36SFelix (Ting Wang); DIS-NEXT: 240: 00 00 00 00 50990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000240: R_TLS_LD (idx: [[#NFA+53]]) ElementIntTLS2[TL] 51090a7fc36SFelix (Ting Wang); DIS-NEXT: 244: 00 00 7f ec 51190a7fc36SFelix (Ting Wang) 51290a7fc36SFelix (Ting Wang); DIS: 0000000000000248 (idx: 37) ElementLongTLS6[TE]: 51390a7fc36SFelix (Ting Wang); DIS-NEXT: 248: 00 00 00 00 51490a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000248: R_TLS_LD (idx: [[#NFA+5]]) ElementLongTLS6[UL] 51590a7fc36SFelix (Ting Wang); DIS-NEXT: 24c: 00 00 00 00 51690a7fc36SFelix (Ting Wang) 51790a7fc36SFelix (Ting Wang); DIS: 0000000000000250 (idx: 39) ElementLongTLS2[TE]: 51890a7fc36SFelix (Ting Wang); DIS-NEXT: 250: 00 00 00 00 51990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000250: R_TLS_LD (idx: [[#NFA+63]]) ElementLongTLS2[TL] 52090a7fc36SFelix (Ting Wang); DIS-NEXT: 254: 00 02 06 90 52190a7fc36SFelix (Ting Wang) 52290a7fc36SFelix (Ting Wang); DIS: 0000000000000258 (idx: 41) .MyTLSGDVar[TE]: 52390a7fc36SFelix (Ting Wang); DIS-NEXT: 258: 00 00 00 00 52490a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000258: R_TLSM (idx: [[#NFA+65]]) MyTLSGDVar[TL] 52590a7fc36SFelix (Ting Wang); DIS-NEXT: 25c: 00 00 00 00 52690a7fc36SFelix (Ting Wang) 52790a7fc36SFelix (Ting Wang); DIS: 0000000000000260 (idx: 43) MyTLSGDVar[TE]: 52890a7fc36SFelix (Ting Wang); DIS-NEXT: 260: 00 00 00 00 52990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000260: R_TLS (idx: [[#NFA+65]]) MyTLSGDVar[TL] 53090a7fc36SFelix (Ting Wang); DIS-NEXT: 264: 00 02 64 50 53190a7fc36SFelix (Ting Wang) 53290a7fc36SFelix (Ting Wang); DIS: 0000000000000268 (idx: 45) ElementLongTLS3[TE]: 53390a7fc36SFelix (Ting Wang); DIS-NEXT: 268: 00 00 00 00 53490a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000268: R_TLS_LD (idx: [[#NFA+67]]) ElementLongTLS3[TL] 53590a7fc36SFelix (Ting Wang); DIS-NEXT: 26c: 00 02 7d 50 53690a7fc36SFelix (Ting Wang) 53790a7fc36SFelix (Ting Wang); DIS: 0000000000000270 (idx: 47) ElementLongTLS4[TE]: 53890a7fc36SFelix (Ting Wang); DIS-NEXT: 270: 00 00 00 00 53990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000270: R_TLS_LD (idx: [[#NFA+69]]) ElementLongTLS4[TL] 54090a7fc36SFelix (Ting Wang); DIS-NEXT: 274: 00 02 db 10 54190a7fc36SFelix (Ting Wang) 54290a7fc36SFelix (Ting Wang); DIS: 0000000000000278 (idx: 49) ElementLongTLS5[TE]: 54390a7fc36SFelix (Ting Wang); DIS-NEXT: 278: 00 00 00 00 54490a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000278: R_TLS_LD (idx: [[#NFA+71]]) ElementLongTLS5[TL] 54590a7fc36SFelix (Ting Wang); DIS-NEXT: 27c: 00 03 38 d0 54690a7fc36SFelix (Ting Wang) 54790a7fc36SFelix (Ting Wang); DIS: 0000000000000280 (idx: 51) ElementIntTLSv2[TE]: 54890a7fc36SFelix (Ting Wang); DIS-NEXT: 280: 00 00 00 00 54990a7fc36SFelix (Ting Wang); DIS-NEXT: 0000000000000280: R_TLS_LD (idx: [[#NFA+61]]) ElementIntTLSv2[TL] 55090a7fc36SFelix (Ting Wang); DIS-NEXT: 284: 00 01 79 ec 55190a7fc36SFelix (Ting Wang) 55290a7fc36SFelix (Ting Wang); DIS: Disassembly of section .tdata: 55390a7fc36SFelix (Ting Wang); DIS: 0000000000000000 (idx: [[#NFA+51]]) ElementIntTLSv1[TL]: 55490a7fc36SFelix (Ting Wang); DIS: 0000000000007fec (idx: [[#NFA+53]]) ElementIntTLS2[TL]: 55590a7fc36SFelix (Ting Wang); DIS: 000000000000be6c (idx: [[#NFA+55]]) ElementIntTLS3[TL]: 55690a7fc36SFelix (Ting Wang); DIS: 000000000000fcec (idx: [[#NFA+57]]) ElementIntTLS4[TL]: 55790a7fc36SFelix (Ting Wang); DIS: 0000000000013b6c (idx: [[#NFA+59]]) ElementIntTLS5[TL]: 55890a7fc36SFelix (Ting Wang); DIS: 00000000000179ec (idx: [[#NFA+61]]) ElementIntTLSv2[TL]: 55990a7fc36SFelix (Ting Wang); DIS: 0000000000020690 (idx: [[#NFA+63]]) ElementLongTLS2[TL]: 56090a7fc36SFelix (Ting Wang); DIS: 0000000000026450 (idx: [[#NFA+65]]) MyTLSGDVar[TL]: 56190a7fc36SFelix (Ting Wang); DIS: 0000000000027d50 (idx: [[#NFA+67]]) ElementLongTLS3[TL]: 56290a7fc36SFelix (Ting Wang); DIS: 000000000002db10 (idx: [[#NFA+69]]) ElementLongTLS4[TL]: 56390a7fc36SFelix (Ting Wang); DIS: 00000000000338d0 (idx: [[#NFA+71]]) ElementLongTLS5[TL]: 56490a7fc36SFelix (Ting Wang); DIS: 0000000000039690 (idx: [[#NFA+73]]) ElementLongTLS[TL]: 565