1	.file	1 "tlslib-o32.s"
2	.abicalls
3	.text
4	.align	2
5	.globl	fn
6	.ent	fn
7	.type	fn,@function
8fn:
9	.frame	$fp,16,$31
10	.mask	0x40000000,-8
11	.fmask	0x00000000,0
12	.set	noreorder
13	.cpload $25
14	.set	reorder
15	addiu	$sp,$sp,-16
16	sw	$fp,8($sp)
17	move	$fp,$sp
18	.cprestore	0
19
20	# General Dynamic
21	lw	$25,%call16(__tls_get_addr)($28)
22	addiu	$4,$28,%tlsgd(tlsvar_gd)
23	jal	$25
24
25	# Local Dynamic
26	lw	$25,%call16(__tls_get_addr)($28)
27	addiu	$4,$28,%tlsldm(tlsvar_ld)
28	jal	$25
29
30	move	$2,$2		# Arbitrary instructions
31
32	lui	$3,%dtprel_hi(tlsvar_ld)
33	addiu	$3,$3,%dtprel_lo(tlsvar_ld)
34	addu	$3,$3,$2
35
36	# Initial Exec
37	.set	push
38	.set	mips32r2
39	rdhwr	$2, $5
40	.set	pop
41	lw	$3,%gottprel(tlsvar_ie)($28)
42	addu	$3,$3,$2
43
44	move	$sp,$fp
45	lw	$fp,8($sp)
46	addiu	$sp,$sp,16
47	j	$31
48	.end	fn
49
50	.section		.tbss,"awT",@nobits
51	.align	2
52	.global	tlsvar_gd
53	.type	tlsvar_gd,@object
54	.size	tlsvar_gd,4
55tlsvar_gd:
56	.space	4
57	.global	tlsvar_ie
58	.type	tlsvar_ie,@object
59	.size	tlsvar_ie,4
60tlsvar_ie:
61	.space	4
62
63	.section		.tdata,"awT"
64	.align	2
65	.global	tlsvar_ld
66	.hidden	tlsvar_ld
67	.type	tlsvar_ld,@object
68	.size	tlsvar_ld,4
69tlsvar_ld:
70	.word	1
71