	.data
	.align	4096
	.section ".tdata", #alloc, #write, #tls
	.align	4
	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
sg1:	.word 17
sg2:	.word 18
sg3:	.word 19
sg4:	.word 20
sg5:	.word 21
sg6:	.word 22
sg7:	.word 23
sg8:	.word 24
sl1:	.word 65
sl2:	.word 66
sl3:	.word 67
sl4:	.word 68
sl5:	.word 69
sl6:	.word 70
sl7:	.word 71
sl8:	.word 72
sh1:	.word 257
sh2:	.word 258
sh3:	.word 259
sh4:	.word 260
sh5:	.word 261
sh6:	.word 262
sh7:	.word 263
sh8:	.word 264

	.text
	.align	4096
.LLGETPC0:
	retl
	add	%o7, %l7, %l7

	.globl	fn1
	.type	fn1,#function
	.proc	04
fn1:
	save	%sp, -104, %sp
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLGETPC0
	add	%l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
	nop;nop;nop;nop

	/* GD */
	sethi	%tgd_hi22(sg1), %l1
	nop
	add	%l1, %tgd_lo10(sg1), %l2
	nop
	add	%l7, %l2, %o0, %tgd_add(sg1)
	nop
	call	__tls_get_addr, %tgd_call(sg1)
	nop
	nop;nop;nop;nop

	/* GD -> IE because variable is referenced through IE too */
	sethi	%tgd_hi22(sg2), %o0
	add	%o0, %tgd_lo10(sg2), %o1
	add	%l7, %o1, %o0, %tgd_add(sg2)
	call	__tls_get_addr, %tgd_call(sg2)
	nop
	nop;nop;nop;nop

	/* GD against local variable */
	sethi	%tgd_hi22(sl1), %o4
	add	%o4, %tgd_lo10(sl1), %o4
	add	%l7, %o4, %o0, %tgd_add(sl1)
	call	__tls_get_addr, %tgd_call(sl1)
	nop
	nop;nop;nop;nop

	/* GD -> IE against local variable referenced through IE too */
	sethi	%tgd_hi22(sl2), %o0
	add	%o0, %tgd_lo10(sl2), %o0
	add	%l7, %o0, %o0, %tgd_add(sl2)
	call	__tls_get_addr, %tgd_call(sl2)
	nop
	nop;nop;nop;nop

	/* GD against hidden and local variable */
	sethi	%tgd_hi22(sh1), %o4
	add	%o4, %tgd_lo10(sh1), %o4
	add	%l7, %o4, %o0, %tgd_add(sh1)
	call	__tls_get_addr, %tgd_call(sh1)
	nop
	nop;nop;nop;nop

	/* GD -> IE against hidden and local variable referenced through
	   IE too */
	sethi	%tgd_hi22(sh2), %o0
	add	%o0, %tgd_lo10(sh2), %o0
	add	%l7, %o0, %o0, %tgd_add(sh2)
	call	__tls_get_addr, %tgd_call(sh2)
	nop
	nop;nop;nop;nop

	/* GD against hidden but not local variable */
	sethi	%tgd_hi22(sH1), %o4
	add	%o4, %tgd_lo10(sH1), %o4
	add	%l7, %o4, %o0, %tgd_add(sH1)
	call	__tls_get_addr, %tgd_call(sH1)
	nop
	nop;nop;nop;nop

	/* GD -> IE against hidden but not local variable referenced through
	   IE too */
	sethi	%tgd_hi22(sH2), %o0
	add	%o0, %tgd_lo10(sH2), %o0
	add	%l7, %o0, %o0, %tgd_add(sH2)
	call	__tls_get_addr, %tgd_call(sH2)
	nop
	nop;nop;nop;nop

	/* LD */
	sethi	%tldm_hi22(sl1), %l1
	nop
	add	%l1, %tldm_lo10(sl1), %l2
	nop
	add	%l7, %l2, %o0, %tldm_add(sl1)
	nop
	call	__tls_get_addr, %tldm_call(sl1)
	nop
	sethi	%tldo_hix22(sl1), %l3
	nop
	xor	%l3, %tldo_lox10(sl1), %l4
	nop
	add	%o0, %l4, %l5, %tldo_add(sl1)
	nop
	sethi	%tldo_hix22(sl2 + 2), %l2
	nop
	xor	%l2, %tldo_lox10(sl2 + 2), %l3
	nop
	lduh	[%o0 + %l3], %l6, %tldo_add(sl2 + 2)
	nop;nop;nop;nop

	/* LD against hidden and local variables */
	sethi	%tldm_hi22(sh1), %o1
	sethi	%tldo_hix22(sh1), %l3
	add	%o1, %tldm_lo10(sh1), %o2
	sethi	%tldo_hix22(sh2 + 1), %l2
	add	%l7, %o2, %o0, %tldm_add(sh1)
	xor	%l3, %tldo_lox10(sh1), %l4
	call	__tls_get_addr, %tldm_call(sh1)
	xor	%l2, %tldo_lox10(sh2 + 1), %l3
	add	%o0, %l4, %l5, %tldo_add(sh1)
	ldub	[%o0 + %l3], %l6, %tldo_add(sh2 + 1)
	nop;nop;nop;nop

	/* LD against hidden but not local variables */
	sethi	%tldm_hi22(sH1), %o1
	sethi	%tldo_hix22(sH1 + 3), %l3
	add	%o1, %tldm_lo10(sH1), %o2
	sethi	%tldo_hix22(sH2), %l2
	add	%l7, %o2, %o0, %tldm_add(sH1)
	xor	%l3, %tldo_lox10(sH1 + 3), %l4
	call	__tls_get_addr, %tldm_call(sH1)
	xor	%l2, %tldo_lox10(sH2), %l3
	add	%o0, %l4, %l5, %tldo_add(sH1 + 3)
	ld	[%o0 + %l3], %l6, %tldo_add(sH2)
	nop;nop;nop;nop

	/* IE against global var  */
	sethi	%tie_hi22(sg2), %l1
	nop
	add	%l1, %tie_lo10(sg2), %l2
	nop
	ld	[%l7 + %l2], %l2, %tie_ld(sg2)
	nop
	add	%g7, %l2, %l2, %tie_add(sg2)
	nop;nop;nop;nop

	/* IE against local var  */
	sethi	%tie_hi22(sl2), %o3
	add	%o3, %tie_lo10(sl2), %o3
	ld	[%l7 + %o3], %o2, %tie_ld(sl2)
	add	%g7, %o2, %o4, %tie_add(sl2)
	nop;nop;nop;nop

	/* IE against hidden and local var  */
	sethi	%tie_hi22(sh2), %l1
	add	%l1, %tie_lo10(sh2), %l2
	ld	[%l7 + %l2], %l2, %tie_ld(sh2)
	add	%g7, %l2, %l2, %tie_add(sh2)
	nop;nop;nop;nop

	/* IE against hidden but not local var  */
	sethi	%tie_hi22(sH2), %l1
	add	%l1, %tie_lo10(sH2), %l2
	ld	[%l7 + %l2], %l2, %tie_ld(sH2)
	add	%g7, %l2, %l2, %tie_add(sH2)
	nop;nop;nop;nop

	/* Direct access through %g7  */

	/* IE against global var  */
	sethi	%tie_hi22(sg5), %l1
	add	%l1, %tie_lo10(sg5), %l2
	ld	[%l7 + %l2], %l2, %tie_ld(sg5)
	ld	[%g7 + %l2], %l2, %tie_add(sg5)
	nop;nop;nop;nop

	/* IE against local var  */
	sethi	%tie_hi22(sl5), %o3
	add	%o3, %tie_lo10(sl5), %o4
	ld	[%l7 + %o4], %o5, %tie_ld(sl5)
	stb	%l2, [%g7 + %o5], %tie_add(sl5)
	nop;nop;nop;nop

	/* IE against hidden and local var  */
	sethi	%tie_hi22(sh5), %o3
	add	%o3, %tie_lo10(sh5), %o4
	ld	[%l7 + %o4], %o5, %tie_ld(sh5)
	lduh	[%g7 + %o5], %l2, %tie_add(sh5)
	nop;nop;nop;nop

	/* IE against hidden but not local var  */
	sethi	%tie_hi22(sH5), %o3
	add	%o3, %tie_lo10(sH5), %o4
	ld	[%l7 + %o4], %o5, %tie_ld(sH5)
	st	%l2, [%g7 + %o5], %tie_add(sH5)
	nop;nop;nop;nop

	ret
	restore
