	/* Force .data aligned to 4K, so that .got very likely gets at
	   0x60000000000031b0 (0x60 bytes .tdata and 0x150 bytes
	   .dynamic).  */
	.data
	.balign	4096
	.section ".tdata", "awT", @progbits
	.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:	.long 17
sg2:	.long 18
sg3:	.long 19
sg4:	.long 20
sg5:	.long 21
sg6:	.long 22
sg7:	.long 23
sg8:	.long 24
sl1:	.long 65
sl2:	.long 66
sl3:	.long 67
sl4:	.long 68
sl5:	.long 69
sl6:	.long 70
sl7:	.long 71
sl8:	.long 72
sh1:	.long 257
sh2:	.long 258
sh3:	.long 259
sh4:	.long 260
sh5:	.long 261
sh6:	.long 262
sh7:	.long 263
sh8:	.long 264
	/* Force .text aligned to 4K, so it very likely gets at
	   0x4000000000001000.  */
	.pred.safe_across_calls p1-p5,p16-p63
	.text
	.balign	4096
	.globl	fn2#
	.proc	fn2#
fn2:
	.prologue 12, 33
	.mib
	.save	ar.pfs, r34
	alloc	r34 = ar.pfs, 0, 3, 2, 0
	.save	rp, r33
	mov	r33 = b0

	/* GD */
	addl	r14 = @ltoff(@dtpmod(sG1#)), gp
	addl	r15 = @ltoff(@dtprel(sG1#)), gp
	;;
	ld8	out0 = [r14]
	ld8	out1 = [r15]
	br.call.sptk.many b0 = __tls_get_addr#
	;;

	/* GD against local symbol */
	addl	r14 = @ltoff(@dtpmod(sl2#)), gp
	addl	r15 = @ltoff(@dtprel(sl2#)), gp
	;;
	ld8	out0 = [r14]
	ld8	out1 = [r15]
	br.call.sptk.many b0 = __tls_get_addr#
	;;

	/* LD */
	addl	r14 = @ltoff(@dtpmod(sl1#)), gp
	addl	out1 = @dtprel(sl1#) + 1, r0
	;;
	ld8	out0 = [r14]
	br.call.sptk.many b0 = __tls_get_addr#
	;;

	/* LD with 4 variables variables */
	addl	r14 = @ltoff(@dtpmod(sh1#)), gp
	mov	out1 = r0
	;;
	ld8	out0 = [r14]
	br.call.sptk.many b0 = __tls_get_addr#
	;;
	mov	r2 = r8
	;;
	addl	r14 = @dtprel(sh1#), r2
	addl	r15 = @dtprel(sh2#) + 2, r2
	;;
	adds	r14 = @dtprel(sh3#) + 3, r8
	movl	r15 = @dtprel(sh4#) + 1
	;;
	add	r15 = r15, r8
	;;

	mov	ar.pfs = r34
	mov	b0 = r33
	br.ret.sptk.many b0
	.endp	fn2#
