This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 4/13] AArch64: Cleanup fenv implementation


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]