1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -emulated-tls -march=x86 -mtriple=i386-linux-gnu | FileCheck -check-prefix=X32 %s 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -emulated-tls -march=x86-64 -mtriple=x86_64-linux-gnu | FileCheck -check-prefix=X64 %s 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -emulated-tls -march=x86 -mtriple=x86-linux-android | FileCheck -check-prefix=X32 %s 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -emulated-tls -march=x86-64 -mtriple=x86_64-linux-android | FileCheck -check-prefix=X64 %s 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; Copied from tls.ll; emulated TLS model is not implemented 7*9880d681SAndroid Build Coastguard Worker; for *-pc-win32 and *-pc-winows targets yet. 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker; Use my_emutls_get_address like __emutls_get_address. 10*9880d681SAndroid Build Coastguard Worker@my_emutls_v_xyz = external global i8*, align 4 11*9880d681SAndroid Build Coastguard Workerdeclare i8* @my_emutls_get_address(i8*) 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine i32 @my_get_xyz() { 14*9880d681SAndroid Build Coastguard Worker; X32-LABEL: my_get_xyz: 15*9880d681SAndroid Build Coastguard Worker; X32: movl $my_emutls_v_xyz, (%esp) 16*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll my_emutls_get_address 17*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movl (%eax), %eax 18*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 19*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 20*9880d681SAndroid Build Coastguard Worker; X64-LABEL: my_get_xyz: 21*9880d681SAndroid Build Coastguard Worker; X64: movl $my_emutls_v_xyz, %edi 22*9880d681SAndroid Build Coastguard Worker; X64-NEXT: callq my_emutls_get_address 23*9880d681SAndroid Build Coastguard Worker; X64-NEXT: movl (%rax), %eax 24*9880d681SAndroid Build Coastguard Worker; X64-NEXT: popq %rcx 25*9880d681SAndroid Build Coastguard Worker; X64-NEXT: retq 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerentry: 28*9880d681SAndroid Build Coastguard Worker %call = call i8* @my_emutls_get_address(i8* bitcast (i8** @my_emutls_v_xyz to i8*)) 29*9880d681SAndroid Build Coastguard Worker %0 = bitcast i8* %call to i32* 30*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %0, align 4 31*9880d681SAndroid Build Coastguard Worker ret i32 %1 32*9880d681SAndroid Build Coastguard Worker} 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Worker@i1 = thread_local global i32 15 35*9880d681SAndroid Build Coastguard Worker@i2 = external thread_local global i32 36*9880d681SAndroid Build Coastguard Worker@i3 = internal thread_local global i32 15 37*9880d681SAndroid Build Coastguard Worker@i4 = hidden thread_local global i32 15 38*9880d681SAndroid Build Coastguard Worker@i5 = external hidden thread_local global i32 39*9880d681SAndroid Build Coastguard Worker@s1 = thread_local global i16 15 40*9880d681SAndroid Build Coastguard Worker@b1 = thread_local global i8 0 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Workerdefine i32 @f1() { 43*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f1: 44*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i1, (%esp) 45*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 46*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movl (%eax), %eax 47*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 48*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 49*9880d681SAndroid Build Coastguard Worker; X64-LABEL: f1: 50*9880d681SAndroid Build Coastguard Worker; X64: movl $__emutls_v.i1, %edi 51*9880d681SAndroid Build Coastguard Worker; X64-NEXT: callq __emutls_get_address 52*9880d681SAndroid Build Coastguard Worker; X64-NEXT: movl (%rax), %eax 53*9880d681SAndroid Build Coastguard Worker; X64-NEXT: popq %rcx 54*9880d681SAndroid Build Coastguard Worker; X64-NEXT: retq 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Workerentry: 57*9880d681SAndroid Build Coastguard Worker %tmp1 = load i32, i32* @i1 58*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 59*9880d681SAndroid Build Coastguard Worker} 60*9880d681SAndroid Build Coastguard Worker 61*9880d681SAndroid Build Coastguard Workerdefine i32* @f2() { 62*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f2: 63*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i1, (%esp) 64*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 65*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 66*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 67*9880d681SAndroid Build Coastguard Worker; X64-LABEL: f2: 68*9880d681SAndroid Build Coastguard Worker; X64: movl $__emutls_v.i1, %edi 69*9880d681SAndroid Build Coastguard Worker; X64-NEXT: callq __emutls_get_address 70*9880d681SAndroid Build Coastguard Worker; X64-NEXT: popq %rcx 71*9880d681SAndroid Build Coastguard Worker; X64-NEXT: retq 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Workerentry: 74*9880d681SAndroid Build Coastguard Worker ret i32* @i1 75*9880d681SAndroid Build Coastguard Worker} 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Workerdefine i32 @f3() nounwind { 78*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f3: 79*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i2, (%esp) 80*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 81*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movl (%eax), %eax 82*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 83*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Workerentry: 86*9880d681SAndroid Build Coastguard Worker %tmp1 = load i32, i32* @i2 87*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 88*9880d681SAndroid Build Coastguard Worker} 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Workerdefine i32* @f4() { 91*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f4: 92*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i2, (%esp) 93*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 94*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 95*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Workerentry: 98*9880d681SAndroid Build Coastguard Worker ret i32* @i2 99*9880d681SAndroid Build Coastguard Worker} 100*9880d681SAndroid Build Coastguard Worker 101*9880d681SAndroid Build Coastguard Workerdefine i32 @f5() nounwind { 102*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f5: 103*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i3, (%esp) 104*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 105*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movl (%eax), %eax 106*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 107*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Workerentry: 110*9880d681SAndroid Build Coastguard Worker %tmp1 = load i32, i32* @i3 111*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 112*9880d681SAndroid Build Coastguard Worker} 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Workerdefine i32* @f6() { 115*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f6: 116*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i3, (%esp) 117*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 118*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 119*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Workerentry: 122*9880d681SAndroid Build Coastguard Worker ret i32* @i3 123*9880d681SAndroid Build Coastguard Worker} 124*9880d681SAndroid Build Coastguard Worker 125*9880d681SAndroid Build Coastguard Workerdefine i32 @f7() { 126*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f7: 127*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i4, (%esp) 128*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 129*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movl (%eax), %eax 130*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 131*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Workerentry: 134*9880d681SAndroid Build Coastguard Worker %tmp1 = load i32, i32* @i4 135*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 136*9880d681SAndroid Build Coastguard Worker} 137*9880d681SAndroid Build Coastguard Worker 138*9880d681SAndroid Build Coastguard Workerdefine i32* @f8() { 139*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f8: 140*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i4, (%esp) 141*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 142*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 143*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 144*9880d681SAndroid Build Coastguard Worker 145*9880d681SAndroid Build Coastguard Workerentry: 146*9880d681SAndroid Build Coastguard Worker ret i32* @i4 147*9880d681SAndroid Build Coastguard Worker} 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Workerdefine i32 @f9() { 150*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f9: 151*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i5, (%esp) 152*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 153*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movl (%eax), %eax 154*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 155*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Workerentry: 158*9880d681SAndroid Build Coastguard Worker %tmp1 = load i32, i32* @i5 159*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 160*9880d681SAndroid Build Coastguard Worker} 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Workerdefine i32* @f10() { 163*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f10: 164*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.i5, (%esp) 165*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 166*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 167*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Workerentry: 170*9880d681SAndroid Build Coastguard Worker ret i32* @i5 171*9880d681SAndroid Build Coastguard Worker} 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Workerdefine i16 @f11() { 174*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f11: 175*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.s1, (%esp) 176*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 177*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movzwl (%eax), %eax 178*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 179*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 180*9880d681SAndroid Build Coastguard Worker 181*9880d681SAndroid Build Coastguard Workerentry: 182*9880d681SAndroid Build Coastguard Worker %tmp1 = load i16, i16* @s1 183*9880d681SAndroid Build Coastguard Worker ret i16 %tmp1 184*9880d681SAndroid Build Coastguard Worker} 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Workerdefine i32 @f12() { 187*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f12: 188*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.s1, (%esp) 189*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 190*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movswl (%eax), %eax 191*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 192*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 193*9880d681SAndroid Build Coastguard Worker 194*9880d681SAndroid Build Coastguard Workerentry: 195*9880d681SAndroid Build Coastguard Worker %tmp1 = load i16, i16* @s1 196*9880d681SAndroid Build Coastguard Worker %tmp2 = sext i16 %tmp1 to i32 197*9880d681SAndroid Build Coastguard Worker ret i32 %tmp2 198*9880d681SAndroid Build Coastguard Worker} 199*9880d681SAndroid Build Coastguard Worker 200*9880d681SAndroid Build Coastguard Workerdefine i8 @f13() { 201*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f13: 202*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.b1, (%esp) 203*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 204*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movb (%eax), %al 205*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 206*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 207*9880d681SAndroid Build Coastguard Worker 208*9880d681SAndroid Build Coastguard Workerentry: 209*9880d681SAndroid Build Coastguard Worker %tmp1 = load i8, i8* @b1 210*9880d681SAndroid Build Coastguard Worker ret i8 %tmp1 211*9880d681SAndroid Build Coastguard Worker} 212*9880d681SAndroid Build Coastguard Worker 213*9880d681SAndroid Build Coastguard Workerdefine i32 @f14() { 214*9880d681SAndroid Build Coastguard Worker; X32-LABEL: f14: 215*9880d681SAndroid Build Coastguard Worker; X32: movl $__emutls_v.b1, (%esp) 216*9880d681SAndroid Build Coastguard Worker; X32-NEXT: calll __emutls_get_address 217*9880d681SAndroid Build Coastguard Worker; X32-NEXT: movsbl (%eax), %eax 218*9880d681SAndroid Build Coastguard Worker; X32-NEXT: addl $12, %esp 219*9880d681SAndroid Build Coastguard Worker; X32-NEXT: retl 220*9880d681SAndroid Build Coastguard Worker 221*9880d681SAndroid Build Coastguard Workerentry: 222*9880d681SAndroid Build Coastguard Worker %tmp1 = load i8, i8* @b1 223*9880d681SAndroid Build Coastguard Worker %tmp2 = sext i8 %tmp1 to i32 224*9880d681SAndroid Build Coastguard Worker ret i32 %tmp2 225*9880d681SAndroid Build Coastguard Worker} 226*9880d681SAndroid Build Coastguard Worker 227*9880d681SAndroid Build Coastguard Worker;;;;;;;;;;;;;; 32-bit __emutls_v. and __emutls_t. 228*9880d681SAndroid Build Coastguard Worker 229*9880d681SAndroid Build Coastguard Worker; X32 .section .data.rel.local, 230*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_v.i1: 231*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 4 232*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 4 233*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 0 234*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long __emutls_t.i1 235*9880d681SAndroid Build Coastguard Worker 236*9880d681SAndroid Build Coastguard Worker; X32 .section .rodata, 237*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_t.i1: 238*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 15 239*9880d681SAndroid Build Coastguard Worker 240*9880d681SAndroid Build Coastguard Worker; X32-NOT: __emutls_v.i2 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Worker; X32 .section .data.rel.local, 243*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_v.i3: 244*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 4 245*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 4 246*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 0 247*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long __emutls_t.i3 248*9880d681SAndroid Build Coastguard Worker 249*9880d681SAndroid Build Coastguard Worker; X32 .section .rodata, 250*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_t.i3: 251*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 15 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Worker; X32 .section .data.rel.local, 254*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_v.i4: 255*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 4 256*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 4 257*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 0 258*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long __emutls_t.i4 259*9880d681SAndroid Build Coastguard Worker 260*9880d681SAndroid Build Coastguard Worker; X32 .section .rodata, 261*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_t.i4: 262*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 15 263*9880d681SAndroid Build Coastguard Worker 264*9880d681SAndroid Build Coastguard Worker; X32-NOT: __emutls_v.i5: 265*9880d681SAndroid Build Coastguard Worker; X32 .hidden __emutls_v.i5 266*9880d681SAndroid Build Coastguard Worker; X32-NOT: __emutls_v.i5: 267*9880d681SAndroid Build Coastguard Worker 268*9880d681SAndroid Build Coastguard Worker; X32 .section .data.rel.local, 269*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_v.s1: 270*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 2 271*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 2 272*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 0 273*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long __emutls_t.s1 274*9880d681SAndroid Build Coastguard Worker 275*9880d681SAndroid Build Coastguard Worker; X32 .section .rodata, 276*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_t.s1: 277*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .short 15 278*9880d681SAndroid Build Coastguard Worker 279*9880d681SAndroid Build Coastguard Worker; X32 .section .data.rel.local, 280*9880d681SAndroid Build Coastguard Worker; X32-LABEL: __emutls_v.b1: 281*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 1 282*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 1 283*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 0 284*9880d681SAndroid Build Coastguard Worker; X32-NEXT: .long 0 285*9880d681SAndroid Build Coastguard Worker 286*9880d681SAndroid Build Coastguard Worker; X32-NOT: __emutls_t.b1 287*9880d681SAndroid Build Coastguard Worker 288*9880d681SAndroid Build Coastguard Worker;;;;;;;;;;;;;; 64-bit __emutls_v. and __emutls_t. 289*9880d681SAndroid Build Coastguard Worker 290*9880d681SAndroid Build Coastguard Worker; X64 .section .data.rel.local, 291*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_v.i1: 292*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 4 293*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 4 294*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 0 295*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad __emutls_t.i1 296*9880d681SAndroid Build Coastguard Worker 297*9880d681SAndroid Build Coastguard Worker; X64 .section .rodata, 298*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_t.i1: 299*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .long 15 300*9880d681SAndroid Build Coastguard Worker 301*9880d681SAndroid Build Coastguard Worker; X64-NOT: __emutls_v.i2 302*9880d681SAndroid Build Coastguard Worker 303*9880d681SAndroid Build Coastguard Worker; X64 .section .data.rel.local, 304*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_v.i3: 305*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 4 306*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 4 307*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 0 308*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad __emutls_t.i3 309*9880d681SAndroid Build Coastguard Worker 310*9880d681SAndroid Build Coastguard Worker; X64 .section .rodata, 311*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_t.i3: 312*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .long 15 313*9880d681SAndroid Build Coastguard Worker 314*9880d681SAndroid Build Coastguard Worker; X64 .section .data.rel.local, 315*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_v.i4: 316*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 4 317*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 4 318*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 0 319*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad __emutls_t.i4 320*9880d681SAndroid Build Coastguard Worker 321*9880d681SAndroid Build Coastguard Worker; X64 .section .rodata, 322*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_t.i4: 323*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .long 15 324*9880d681SAndroid Build Coastguard Worker 325*9880d681SAndroid Build Coastguard Worker; X64-NOT: __emutls_v.i5: 326*9880d681SAndroid Build Coastguard Worker; X64 .hidden __emutls_v.i5 327*9880d681SAndroid Build Coastguard Worker; X64-NOT: __emutls_v.i5: 328*9880d681SAndroid Build Coastguard Worker 329*9880d681SAndroid Build Coastguard Worker; X64 .section .data.rel.local, 330*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_v.s1: 331*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 2 332*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 2 333*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 0 334*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad __emutls_t.s1 335*9880d681SAndroid Build Coastguard Worker 336*9880d681SAndroid Build Coastguard Worker; X64 .section .rodata, 337*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_t.s1: 338*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .short 15 339*9880d681SAndroid Build Coastguard Worker 340*9880d681SAndroid Build Coastguard Worker; X64 .section .data.rel.local, 341*9880d681SAndroid Build Coastguard Worker; X64-LABEL: __emutls_v.b1: 342*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 1 343*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 1 344*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 0 345*9880d681SAndroid Build Coastguard Worker; X64-NEXT: .quad 0 346*9880d681SAndroid Build Coastguard Worker 347*9880d681SAndroid Build Coastguard Worker; X64-NOT: __emutls_t.b1 348