[PATCH v2 1/3] math: Remove fenvinline.h

Paul E Murphy murphyp@linux.ibm.com
Mon Mar 9 20:19:09 GMT 2020



On 3/9/20 1:32 PM, Adhemerval Zanella wrote:
> Changes from previous version:
> 
>    - Mention on commit message x86 also exports a similar optimization,
>      but on a different header.
> 
> --
> 
> Similar to string2.h (18b10de7ce) and string3.h (09a596cc2c) this
> patch removes the fenvinline.h on all architectures.  Currently
> only powerpc implements some optimizations.  This kind of optimization
> is better implemented by the compiler (which handles the architecture
> ISA transparently).
> 
> Also, for the specific optimized powerpc implementation the code is
> becoming convoluted and these micro-optimization are hardly wildly
> used, even more being a possible hotspot in realword cases
> (non-default rounding are used only on specific cases and exception
> handling are done most likely only on errors path).  Only x86
> implements similar optimization (on fenv.h) also indicates that
> these should no be on libc.
> 
> The math/test-fenv already covers all math/test-fenvinline tests,
> so it is safe to remove it.
> 
> Checked on x86_64-linux-gnu and powerpc64le-linux-gnu.
> ---
>   bits/fenvinline.h                 |   8 -
>   math/Makefile                     |   4 +-
>   math/fenv.h                       |   4 -
>   math/test-fenvinline.c            | 354 ------------------------------
>   sysdeps/powerpc/bits/fenvinline.h | 108 ---------
>   5 files changed, 2 insertions(+), 476 deletions(-)
>   delete mode 100644 bits/fenvinline.h
>   delete mode 100644 math/test-fenvinline.c
>   delete mode 100644 sysdeps/powerpc/bits/fenvinline.h

Does sysdeps/powerpc/fpu/fegetround.c also need updated with this patch 
too?  I think it using the removed __fegetround macro.


More information about the Libc-alpha mailing list