flt_rounds_softfloat.S revision 1.1
11.1Sfredette/*	$NetBSD: flt_rounds_softfloat.S,v 1.1 2001/05/17 21:46:26 fredette Exp $	*/
21.1Sfredette
31.1Sfredette/*
41.1Sfredette * Written by J.T. Conklin, Apr 6, 1995
51.1Sfredette * Public domain.
61.1Sfredette */
71.1Sfredette
81.1Sfredette#include <machine/asm.h>
91.1Sfredette
101.1Sfredette	.text
111.1Sfredette	.even
121.1Sfredette
131.1Sfredette	/* NB: this is tied to the gcc-2.95 lb1sf68.asm: */
141.1Sfredette_map:
151.1Sfredette	.byte 1		/* round to nearest */
161.1Sfredette	.byte 0		/* round to zero */
171.1Sfredette	.byte 2		/* round to positive infinity */
181.1Sfredette	.byte 3		/* round to negative infinity */
191.1Sfredette
201.1SfredetteENTRY(__flt_rounds)
211.1Sfredette	lea	_C_LABEL(_fpCCR),%a0	| check the rounding mode
221.1Sfredette	movew	%a0@(6),%d0	| rounding mode in d0
231.1Sfredette	lea	_map,%a0
241.1Sfredette	moveb	%a0@(%d0:l:1),%d0
251.1Sfredette	rts
261.1Sfredette
271.1Sfredette
281.1Sfredette
29