144380Ssos	.data
2230132Suqs	.align	4096
344380Ssos	.section ".tbss"
444380Ssos	.align	4
544380Ssosbl1:	.word 0
644380Ssosbl2:	.word 0
744380Ssosbl3:	.word 0
844380Ssosbl4:	.word 0
944380Ssosbl5:	.word 0
1044380Ssos	.text
1144380Ssos	.align	4096
1244380Ssos	.globl	fn3
1344380Ssos	.type	fn3,#function
1444380Ssos	.proc	04
1544380Ssosfn3:
1644380Ssos	save	%sp, -160, %sp
1744380Ssos	.hidden	_GLOBAL_OFFSET_TABLE_
1844380Ssos	sethi	%hh(_GLOBAL_OFFSET_TABLE_), %l1
1944380Ssos	sethi	%lm(_GLOBAL_OFFSET_TABLE_), %l2
2044380Ssos	or	%l1, %hm(_GLOBAL_OFFSET_TABLE_), %l1
2144380Ssos	or	%l2, %lo(_GLOBAL_OFFSET_TABLE_), %l2
2244380Ssos	sllx	%l1, 32, %l1
2344380Ssos	add	%l1, %l2, %l1
2444380Ssos	nop;nop;nop;nop
2544380Ssos
2650477Speter	/* IE against global var  */
2744380Ssos	sethi	%tie_hi22(sg1), %o3
2844380Ssos	add	%o3, %tie_lo10(sg1), %o3
29198582Snwhitehorn	ldx	[%l1 + %o3], %o2, %tie_ldx(sg1)
30198582Snwhitehorn	add	%g7, %o2, %o4, %tie_add(sg1)
31198582Snwhitehorn	nop;nop;nop;nop
32198582Snwhitehorn
33198582Snwhitehorn	/* direct %g7 access IE against global var  */
3444380Ssos	sethi	%tie_hi22(sg2), %o0
35144707Ssos	add	%o0, %tie_lo10(sg2), %o0
36119404Ssos	ldx	[%l1 + %o0], %o0, %tie_ldx(sg2)
37144707Ssos	lduw [%g7 + %o0], %o0, %tie_add(sg2)
38144707Ssos	nop;nop;nop;nop
39144707Ssos
40144707Ssos	/* IE against hidden var */
41144707Ssos	sethi	%tie_hi22(sh1), %o0
42144707Ssos	add	%o0, %tie_lo10(sh1), %o0
43144707Ssos	ldx	[%l1 + %o0], %o0, %tie_ldx(sh1)
44144707Ssos	add	%g7, %o0, %o0, %tie_add(sh1)
45144707Ssos	nop;nop;nop;nop
46144707Ssos
47144707Ssos	/* direct %g7 access IE against hidden var */
48144707Ssos	sethi	%tie_hi22(sh2), %o5
49144707Ssos	add	%o5, %tie_lo10(sh2), %o1
50144707Ssos	ldx	[%l1 + %o1], %o2, %tie_ldx(sh2)
51144707Ssos	stb	%o3, [%g7 + %o2], %tie_add(sh2)
52144707Ssos	nop;nop;nop;nop
53144330Ssos
54144330Ssos	/* IE against local var  */
55144330Ssos	sethi	%tie_hi22(bl1), %o0
56144330Ssos	add	%o0, %tie_lo10(bl1), %o0
57144330Ssos	ldx	[%l1 + %o0], %o0, %tie_ldx(bl1)
58144330Ssos	add	%g7, %o0, %o0, %tie_add(bl1)
59144330Ssos	nop;nop;nop;nop
60144330Ssos
61157329Ssos	/* direct %g7 access IE against local var  */
6252067Ssos	sethi	%tie_hi22(bl2), %o5
63144707Ssos	add	%o5, %tie_lo10(bl2), %o1
64144330Ssos	ldx	[%l1 + %o1], %o2, %tie_ldx(bl2)
65144330Ssos	stb	%o3, [%g7 + %o2], %tie_add(bl2)
66144330Ssos	nop;nop;nop;nop
67144330Ssos
6844380Ssos	/* LE, local var  */
69144707Ssos	sethi	%tle_hix22(bl3+1), %o2
70144707Ssos	xor     %o2, %tle_lox10(bl3+1), %o4
71144330Ssos	add	%g7, %o4, %o0
72144330Ssos	nop;nop;nop;nop
73144330Ssos
74144330Ssos	/* LE, hidden var, direct %g7 access  */
75144330Ssos	sethi	%tle_hix22(sh3), %o2
76144330Ssos	xor     %o2, %tle_lox10(sh3), %o2
77144330Ssos	ld	[%g7 + %o2], %o2
78144330Ssos	nop;nop;nop;nop
79144330Ssos
80144330Ssos	return	%i7 + 8
8144380Ssos	nop
82144707Ssos