glibc/sysdeps/unix/sysv/linux/ia64
Joseph Myers 632a6cbe44 Add narrowing divide functions.
This patch adds the narrowing divide functions from TS 18661-1 to
glibc's libm: fdiv, fdivl, ddivl, f32divf64, f32divf32x, f32xdivf64
for all configurations; f32divf64x, f32divf128, f64divf64x,
f64divf128, f32xdivf64x, f32xdivf128, f64xdivf128 for configurations
with _Float64x and _Float128; __nldbl_ddivl for ldbl-opt.

The changes are mostly essentially the same as for the other narrowing
functions, so the description of those generally applies to this patch
as well.

Tested for x86_64, x86, mips64 (all three ABIs, both hard and soft
float) and powerpc, and with build-many-glibcs.py.

	* math/Makefile (libm-narrow-fns): Add div.
	(libm-test-funcs-narrow): Likewise.
	* math/Versions (GLIBC_2.28): Add narrowing divide functions.
	* math/bits/mathcalls-narrow.h (div): Use __MATHCALL_NARROW.
	* math/gen-auto-libm-tests.c (test_functions): Add div.
	* math/math-narrow.h (CHECK_NARROW_DIV): New macro.
	(NARROW_DIV_ROUND_TO_ODD): Likewise.
	(NARROW_DIV_TRIVIAL): Likewise.
	* sysdeps/ieee754/float128/float128_private.h (__fdivl): New
	macro.
	(__ddivl): Likewise.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fdiv and
	ddiv.
	(CFLAGS-nldbl-ddiv.c): New variable.
	(CFLAGS-nldbl-fdiv.c): Likewise.
	* sysdeps/ieee754/ldbl-opt/Versions (GLIBC_2.28): Add
	__nldbl_ddivl.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl_ddivl): New
	prototype.
	* manual/arith.texi (Misc FP Arithmetic): Document fdiv, fdivl,
	ddivl, fMdivfN, fMdivfNx, fMxdivfN and fMxdivfNx.
	* math/auto-libm-test-in: Add tests of div.
	* math/auto-libm-test-out-narrow-div: New generated file.
	* math/libm-test-narrow-div.inc: New file.
	* sysdeps/i386/fpu/s_f32xdivf64.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_f32xdivf64.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_fdiv.c: Likewise.
	* sysdeps/ieee754/float128/s_f32divf128.c: Likewise.
	* sysdeps/ieee754/float128/s_f64divf128.c: Likewise.
	* sysdeps/ieee754/float128/s_f64xdivf128.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_ddivl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_f64xdivf128.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_fdivl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_ddivl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_fdivl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_ddivl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_fdivl.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-ddiv.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-fdiv.c: Likewise.
	* sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise.
	* sysdeps/ieee754/soft-fp/s_fdiv.c: Likewise.
	* sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise.
	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
	* sysdeps/mach/hurd/i386/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
2018-05-17 00:40:52 +00:00
..
bits hurd: Fix includability of <hurd/signal.h> in all standards 2018-03-05 22:50:29 +01:00
sys Add PTRACE_SECCOMP_GET_METADATA from Linux 4.16 to sys/ptrace.h. 2018-04-24 12:11:35 +00:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__ia64_longjmp.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__longjmp.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__sigstack_longjmp.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__start_context.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
brk.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bsd-_setjmp.S ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
bsd-setjmp.S ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
c++-types.data IA64: Consolidate nptl/ subdirectories under linux/... 2014-08-04 10:00:52 -04:00
clone2.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clone.S ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
configure Assume that accept4 is always available and works 2017-04-19 07:44:48 +02:00
configure.ac Assume that accept4 is always available and works 2017-04-19 07:44:48 +02:00
dl-brk.S ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
dl-cache.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-static.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
get_clockfreq.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getclktck.c ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
getcontext.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
has_cpuclock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
ioperm.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ipc_priv.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
jmp_buf-macros.h Add jmp_buf-macros.h 2017-11-09 05:10:03 -08:00
kernel_sigaction.h linux: Consolidate sigaction implementation 2018-04-05 17:09:50 -03:00
kernel_stat.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
kernel-features.h Refactor Linux ARCH_FORK implementation 2018-03-07 17:39:40 -03:00
ld.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ldd-rewrite.sed ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libanl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libBrokenLocale.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libc.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libcrypt.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libdl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libm.abilist Add narrowing divide functions. 2018-05-17 00:40:52 +00:00
libnsl.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libpthread.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libresolv.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
librt.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libthread_db.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
libutil.abilist Ignore absolute symbols in ABI tests. 2018-05-04 15:46:32 +00:00
localplt.data ld.so: Introduce struct dl_exception 2017-08-10 16:54:57 +02:00
makecontext.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile conformtest: XFAIL uc_sigmask test for ia64 (bug 21634). 2017-06-20 17:47:32 +00:00
mmap_internal.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pipe.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pt-vfork.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
readelflib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rt-sysdep.S ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
setcontext.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setjmp.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
shlib-versions Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
sigaltstack-offsets.sym ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
sigcontext-offsets.sym Fix mcontext_t sigcontext namespace (bug 21457). 2017-08-30 22:02:04 +00:00
sigcontextinfo.h Remove unused frame.h header, sigcontextinfo.h macros. 2018-03-22 16:40:51 +00:00
sigprocmask.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swapcontext.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
syscalls.list Consolidate Linux send implementation 2017-03-09 15:22:06 +01:00
sysconf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sysdep.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
system.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
timer_create.c IA64: Consolidate nptl/ subdirectories under linux/... 2014-08-04 10:00:52 -04:00
timer_delete.c IA64: Consolidate nptl/ subdirectories under linux/... 2014-08-04 10:00:52 -04:00
timer_getoverr.c IA64: Consolidate nptl/ subdirectories under linux/... 2014-08-04 10:00:52 -04:00
timer_gettime.c IA64: Consolidate nptl/ subdirectories under linux/... 2014-08-04 10:00:52 -04:00
timer_settime.c IA64: Consolidate nptl/ subdirectories under linux/... 2014-08-04 10:00:52 -04:00
tst-setcontext2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ucontext_i.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
unwind_longjmp.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
unwind-dw2-fde.c ia64: relocate out of ports/ subdir 2014-02-16 01:12:38 -05:00
unwind-forcedunwind.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions network: recvmsg and sendmsg standard compliance (BZ#16919) 2016-05-25 17:39:01 -03:00
vfork.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wordexp.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00