[PATCH 4/13] AArch64: Cleanup fenv implementation
Carlos O'Donell
carlos@redhat.com
Thu Oct 23 23:00:00 GMT 2014
On 10/23/2014 01:34 PM, Wilco Dijkstra wrote:
> Cleanup feclearexcept to use the same logic as the ARM version. No functional changes.
>
> ChangeLog:
> 2014-10-23 Wilco Dijkstra <wdijkstr@arm.com>
>
> * sysdeps/aarch64/fpu/fclrexcpt.c (feclearexcept):
> Simplify logic.
Looks good to me.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> ---
> sysdeps/aarch64/fpu/fclrexcpt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sysdeps/aarch64/fpu/fclrexcpt.c b/sysdeps/aarch64/fpu/fclrexcpt.c
> index b24f0ff..4471373 100644
> --- a/sysdeps/aarch64/fpu/fclrexcpt.c
> +++ b/sysdeps/aarch64/fpu/fclrexcpt.c
> @@ -28,7 +28,7 @@ feclearexcept (int excepts)
> excepts &= FE_ALL_EXCEPT;
>
> _FPU_GETFPSR (fpsr);
> - fpsr_new = (fpsr & ~FE_ALL_EXCEPT) | (fpsr & FE_ALL_EXCEPT & ~excepts);
> + fpsr_new = fpsr & ~excepts;
OK.
The logic does seem to collapse down nicely. No need to assembly the final
fpsr_new from the two halves.
Is the generated code better?
>
> if (fpsr != fpsr_new)
> _FPU_SETFPSR (fpsr_new);
>
Cheers,
Carlos.
More information about the Libc-alpha
mailing list