minix/lib/libm/arch/m68060
Lionel Sambuc 84d9c625bf Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC)
- Fix for possible unset uid/gid in toproto
 - Fix for default mtree style
 - Update libelf
 - Importing libexecinfo
 - Resynchronize GCC, mpc, gmp, mpfr
 - build.sh: Replace params with show-params.
     This has been done as the make target has been renamed in the same
     way, while a new target named params has been added. This new
     target generates a file containing all the parameters, instead of
     printing it on the console.
 - Update test48 with new etc/services (Fix by Ben Gras <ben@minix3.org)
     get getservbyport() out of the inner loop

Change-Id: Ie6ad5226fa2621ff9f0dee8782ea48f9443d2091
2014-07-28 17:05:06 +02:00
..
e_acos.S
e_acosf.S
e_asin.S
e_asinf.S
e_atanh.S
e_atanhf.S
e_cosh.S
e_coshf.S
e_exp.S
e_expf.S
e_log.S
e_log10.S
e_log10f.S
e_logf.S
e_sinh.S
e_sinhf.S
e_sqrt.S
e_sqrtf.S
fplsp_wrap.S
fplsp.hex
k_tan.S
k_tanf.S
makeas.sh
Makefile
Makefile.list
makeoffs.awk
Readme.NetBSD
s_atan.S
s_atanf.S
s_cos.S
s_cosf.S
s_expm1.S
s_expm1f.S
s_log1p.S
s_log1pf.S
s_logb.S
s_logbf.S
s_sin.S
s_sinf.S
s_tan.S
s_tanf.S
s_tanh.S
s_tanhf.S

- Import new Motorola 060SP packages in /sys/arch/m68k/060SP first.
- if you had to change something in here, "make clean" here
- commit Makefile Readme.NetBSD makeas.sh makeoffs.awk
- "make" here
- commit this directory
     ----------------------------------------------------------------------
Method:

Out of the table, we create a wrapper for fplsp.S. It contains:

Single precision:

	movl	sp@(4),sp@-			4
	bsr	_060fplsp+theoffset		4
	fmovs	fp0,sp@				4
	movel	sp@+,d0				4
	rts					2
	(18 bytes)

Double precision:

	movl	sp@(4+0),sp@-			4
	movl	sp@(8+4),sp@-			4
	bsr	_060fplsp+theoffset		4
	fmovd	fp0,sp@				4
	movel	sp@+,d0				4
	movel	sp@+,d1				4
	rts					2
	(26 bytes)

For __SVR4_ABI, the code is much shorter... it reduces to a single jbra.