Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 13 Sep 2019 14:31:23 -0400
From: Rich Felker <dalias@...c.org>
To: info@...ile-stream.com
Cc: musl@...ts.openwall.com
Subject: Re: [PATCH] mips: add single-instruction math functions

On Wed, Sep 11, 2019 at 01:05:04PM +0300, info@...ile-stream.com wrote:
> 
> non-commit text:
> gcc puts annoying nop into the delay slot for these functions, e.g.:
> 	abs.d	$f0,$f12
> 	jr	$ra
> 	 nop
> is there any way to get rid of this without using pure .S?
> 
> 
> 
> SQRT.fmt exists on MIPS II+ (float), MIPS III+ (double).
> 
> ABS.fmt exists on MIPS I+ but only cores with ABS2008 flag in FCSR
> implement the required behaviour.
> ---
>  src/math/mips/fabs.c  | 16 ++++++++++++++++
>  src/math/mips/fabsf.c | 16 ++++++++++++++++
>  src/math/mips/sqrt.c  | 16 ++++++++++++++++
>  src/math/mips/sqrtf.c | 16 ++++++++++++++++
>  4 files changed, 64 insertions(+)
>  create mode 100644 src/math/mips/fabs.c
>  create mode 100644 src/math/mips/fabsf.c
>  create mode 100644 src/math/mips/sqrt.c
>  create mode 100644 src/math/mips/sqrtf.c
> 
> diff --git a/src/math/mips/fabs.c b/src/math/mips/fabs.c
> new file mode 100644
> index 00000000..0a5aa3b1
> --- /dev/null
> +++ b/src/math/mips/fabs.c
> @@ -0,0 +1,16 @@
> +#if !defined(__mips_soft_float) && defined(__mips_abs2008)

Why is this dependent on __mips_abs2008?

Rich

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.