glibc/sysdeps/powerpc
Joseph Myers 95c26233a1 Fix powerpc software sqrtf (bug 17967).
Similarly to sqrt in
<https://sourceware.org/ml/libc-alpha/2015-02/msg00353.html>, the
powerpc sqrtf implementation for when _ARCH_PPCSQ is not defined also
relies on a * b + c being contracted into a fused multiply-add.
Although this contraction is not explicitly disabled for e_sqrtf.c, it
still seems appropriate to make the file explicit about its
requirements by using __builtin_fmaf; this patch does so.
Furthermore, it turns out that doing so fixes the observed inaccuracy
and missing exceptions (that is, that without explicit __builtin_fmaf
usage, it was not being compiled as intended).

Tested for powerpc32 (hard float).

	[BZ #17967]
	* sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Use
	__builtin_fmaf instead of relying on contraction of a * b + c.
2015-02-13 16:20:36 +00:00
..
bits
fpu Fix powerpc software sqrtf (bug 17967). 2015-02-13 16:20:36 +00:00
nofpu Fix powerpc-nofpu fesetenv namespace (bug 17748). 2015-01-14 21:35:40 +00:00
nptl powerpc: Fix Copyright dates and CL entry 2015-01-12 12:58:34 -05:00
power4
power5+/fpu
power6
power7/fpu
powerpc32 powerpc: drop R_PPC_REL16 check 2015-02-10 06:09:22 -05:00
powerpc64 powerpc: POWER7 strncpy optimization for unaligned string 2015-02-12 13:16:08 -05:00
soft-fp
sys/platform
Implies
Makefile
Versions
abort-instr.h
dl-procinfo.c
dl-procinfo.h
dl-tls.h
ffs.c
fpu_control.h
gccframe.h
ifunc-sel.h
jmpbuf-offsets.h
jmpbuf-unwind.h
ldsodefs.h
locale-defines.sym
longjmp.c
machine-gmon.h
math-tests.h
memusage.h
mp_clz_tab.c
novmx-longjmp.c
novmx-sigjmp.c
novmxsetjmp.h
preconfigure
rtld-global-offsets.sym
sched_cpucount.c
sigjmp.c
sotruss-lib.c
stackinfo.h
strcat.c
sysdep.h powerpc: abort transaction in syscalls 2015-01-12 06:32:08 -05:00
test-arith.c
test-arithf.c
test-gettimebase.c
tls-macros.h
tst-stack-align.h