	.globl rd_minf 
	.ent rd_minf
rd_minf:
	lda $sp,-16($sp)
        excb
	mf_fpcr $f0,$f0,$f0
	stt $f0, 0($sp)
        addq $31, 0x3, $16
        sll  $16, 0x3a, $16
	ldq $17, 0($sp)
        bic $17, $16, $17
        addq $31, 0x1, $16
        sll  $16, 0x3a, $16
	bis  $17,$16,$17
	stq $17, 0($sp) 
	ldt $f0, 0($sp)
	mt_fpcr $f0,$f0,$f0
        excb
	lda $sp, 16($sp)
	ret $31, ($26), 1 
	.end rd_minf

	.globl rd_pinf 
	.ent rd_pinf
rd_pinf:
	lda $sp,-16($sp)
        excb
	mf_fpcr $f0,$f0,$f0
	stt $f0, 0($sp)
        addq $31, 0x3, $16
        sll  $16, 0x3a, $16
	ldq $17, 0($sp)
        bis $17, $16, $17
	stq $17, 0($sp) 
	ldt $f0, 0($sp)
	mt_fpcr $f0,$f0,$f0
        excb
	lda $sp, 16($sp)
	ret $31, ($26), 1 
	.end rd_pinf

	.globl rd_zero 
	.ent rd_zero
rd_zero:
	lda $sp,-16($sp)
        excb
	mf_fpcr $f0,$f0,$f0
	stt $f0, 0($sp)
        addq $31, 0x3, $16
        sll  $16, 0x3a, $16
	ldq $17, 0($sp)
        bic $17, $16, $17
	stq $17, 0($sp) 
	ldt $f0, 0($sp)
	mt_fpcr $f0,$f0,$f0
        excb
	lda $sp, 16($sp)
	ret $31, ($26), 1 
	.end rd_zero

	.globl rd_near 
	.ent rd_near
rd_near:
	lda $sp,-16($sp)
        excb
	mf_fpcr $f0,$f0,$f0
	stt $f0, 0($sp)
        addq $31, 0x3, $16
        sll  $16, 0x3a, $16
	ldq $17, 0($sp)
        bic $17, $16, $17
        addq $31, 0x2, $16
        sll  $16, 0x3a, $16
	bis  $17,$16,$17
	stq $17, 0($sp) 
	ldt $f0, 0($sp)
	mt_fpcr $f0,$f0,$f0
        excb
	lda $sp, 16($sp)
	ret $31, ($26), 1 
	.end rd_near


