1	.section	.tbss,"awT",@nobits
2	.align 2
3	.global	foo, bar
4	.hidden bar
5foo:	.long	25
6bar:	.long	27
7baz:	.long	29
8	.text
9	.align 1
10	.global	fn
11	.type	fn, @function
12fn:
13	mov.l	r12,@-r15
14	mov.l	r14,@-r15
15	sts.l	pr,@-r15
16	mova	.L3,r0
17	mov.l	.L3,r12
18	add	r0,r12
19	mov	r15,r14
20
21	! Dynamic TLS model, foo not known to be in the current object
22	mov.l	1f,r4
23	mova	2f,r0
24	mov.l	2f,r1
25	add	r0,r1
26	jsr	@r1
27	add	r12,r4
28	bra	3f
29	nop
30	.align	2
311:	.long	foo@TLSGD
322:	.long	__tls_get_addr@PLT
333:
34
35	! Dynamic TLS model, bar and baz known to be in the current object
36	mov.l	1f,r4
37	mova	2f,r0
38	mov.l	2f,r1
39	add	r0,r1
40	jsr	@r1
41	add	r12,r4
42	bra	3f
43	nop
44	.align	2
451:	.long	bar@TLSLDM
462:	.long	__tls_get_addr@PLT
473:
48	! Just show that there can be arbitrary instructions here
49	mov	#1,r2
50
51	mov.l	.L4,r1
52	add	r1,r0
53	! r0 now contains &bar
54
55	! Again, arbitrary instructions
56	mov.l	r2,@r0
57
58	mov.l	.L5,r1
59	add	r1,r0
60	! r0 now contains &baz
61
62	mov	r14,r15
63	lds.l	@r15+,pr
64	mov.l	@r15+,r14
65	rts
66	mov.l	@r15+,r12
67
68	.align	2
69.L3:	.long	_GLOBAL_OFFSET_TABLE_
70.L4:	.long	bar@DTPOFF
71.L5:	.long	baz@DTPOFF
72