glibc/sysdeps/powerpc
Joseph Myers 90f0ac10a7 Add fmaximum, fminimum functions
C2X adds new <math.h> functions for floating-point maximum and
minimum, corresponding to the new operations that were added in IEEE
754-2019 because of concerns about the old operations not being
associative in the presence of signaling NaNs.  fmaximum and fminimum
handle NaNs like most <math.h> functions (any NaN argument means the
result is a quiet NaN).  fmaximum_num and fminimum_num handle both
quiet and signaling NaNs the way fmax and fmin handle quiet NaNs (if
one argument is a number and the other is a NaN, return the number),
but still raise "invalid" for a signaling NaN argument, making them
exceptions to the normal rule that a function with a floating-point
result raising "invalid" also returns a quiet NaN.  fmaximum_mag,
fminimum_mag, fmaximum_mag_num and fminimum_mag_num are corresponding
functions returning the argument with greatest or least absolute
value.  All these functions also treat +0 as greater than -0.  There
are also corresponding <tgmath.h> type-generic macros.

Add these functions to glibc.  The implementations use type-generic
templates based on those for fmax, fmin, fmaxmag and fminmag, and test
inputs are based on those for those functions with appropriate
adjustments to the expected results.  The RISC-V maintainers might
wish to add optimized versions of fmaximum_num and fminimum_num (for
float and double), since RISC-V (F extension version 2.2 and later)
provides instructions corresponding to those functions - though it
might be at least as useful to add architecture-independent built-in
functions to GCC and teach the RISC-V back end to expand those
functions inline, which is what you generally want for functions that
can be implemented with a single instruction.

Tested for x86_64 and x86, and with build-many-glibcs.py.
2021-09-28 23:31:35 +00:00
..
bits Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fpu Add narrowing fma functions 2021-09-22 21:25:31 +00:00
nofpu Add fmaximum, fminimum functions 2021-09-28 23:31:35 +00:00
nptl elf: Remove THREAD_GSCOPE_IN_TCB 2021-09-16 01:04:20 +02:00
power4 Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
power6 Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
powerpc32 powerpc: Delete unneeded ELF_MACHINE_BEFORE_RTLD_RELOC 2021-09-27 10:12:50 -07:00
powerpc64 powerpc: Delete unneeded ELF_MACHINE_BEFORE_RTLD_RELOC 2021-09-27 10:12:50 -07:00
sys/platform Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
abort-instr.h
atomic-machine.h Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
cpu-features.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
cpu-features.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-tls.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-tls.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dl-tunables.list Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
elf-initfini.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ffs.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
fpu_control.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gccframe.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
hwcapinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
hwcapinfo.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ifunc-sel.h
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
jmpbuf-unwind.h Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
ldsodefs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
libc-tls.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
locale-defines.sym
longjmp.c nptl: Move __pthread_unwind_next into libc 2021-04-21 19:49:50 +02:00
machine-gmon.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makefile Remove stale references to libdl.a 2021-06-09 19:14:02 +02:00
math-tests-snan-cast.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
memusage.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mod-cache-ppc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mod-tlsopt-powerpc.c elf: Drop elf/tls-macros.h in favor of __thread and tls_model attributes [BZ #28152] [BZ #28205] 2021-08-16 09:59:30 -07:00
mp_clz_tab.c
novmx-longjmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
novmx-sigjmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
novmxsetjmp.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
preconfigure powerpc: Add support for POWER10 2020-06-29 10:08:38 -03:00
preconfigure.ac powerpc: Add support for POWER10 2020-06-29 10:08:38 -03:00
rtld-global-offsets.sym powerpc: Move cache line size to rtld_global_ro 2020-01-17 09:05:03 -03:00
sigjmp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stackinfo.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-arith.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-arithf.c
test-get_hwcap-static.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-get_hwcap.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-gettimebase.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cache-ppc-static-dlopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cache-ppc-static.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cache-ppc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-set_ppr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-stack-align.h Properly check stack alignment [BZ #27901] 2021-05-24 07:42:12 -07:00
tst-tlsifunc-static.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-tlsifunc.c elf: Drop elf/tls-macros.h in favor of __thread and tls_model attributes [BZ #28152] [BZ #28205] 2021-08-16 09:59:30 -07:00
tst-tlsopt-powerpc.c
Versions nptl: Move __pthread_unwind_next into libc 2021-04-21 19:49:50 +02:00