| 123456789101112131415161718192021222324252627282930313233343536373839 | /* Round argument toward 0. SH4 version. * According to ISO/IEC 9899:1999. This version doesn't handle range error. * If arg is not finite or if the result cannot be represented into a long, * return an unspecified value. No exception raised. * * Copyright (C) 2010 STMicroelectronics Ltd. * * Author: Christian Bruel <christian.bruel@st.com> * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */#include <sysdep.h>ENTRY(lroundf)	mov	#0,r0	sts	fpscr,r3	lds	r0,fpscr	flds	fr5,fpul	mov.l	LOCAL(mask),r1	sts	fpul,r2	and	r2,r1	mov.l	LOCAL(midway),r2	or	r1,r2	lds	r2,fpul	fsts	fpul,fr2	fadd	fr2,fr5	ftrc	fr5,fpul	sts	fpul,r0	rts	lds	r3,fpscr	.align 2LOCAL(mask):	.long	0x80000000LOCAL(midway):	.long	1056964608END(lroundf)
 |