AArch64 patches for glibc master.
Marcus Shawcroft
marcus.shawcroft@linaro.org
Thu Dec 12 00:17:00 GMT 2013
Hi,
On 9 December 2013 18:56, Joseph S. Myers <joseph@codesourcery.com> wrote:
> * You're adding ulps for sqrt, which should always be exact.
This issue appears to be that sysdeps/ieee754/dbl-64/e_sqrt.c is
compiled without -ffp-contract=off and the compiler takes the
opportunity to use an fnmsub (negated fused multiply-subtract).
Inspection of sysdeps/ieee754/dbl-64/Makefile suggests that we assume
-ffp-contract=fast and target specific source files with
-ffp-contract=off rather than taking the conservative approach of
defaulting to -ffp-contract=off and calling out individual files with
-ffp-contract=fast.
Extending the existing mechanism to pass -ffp-contract=off for
e_sqrt.c is trivial, but is this the right approach, I'm not sure how
to go about proving that we don't have similar issues lurking latent
elsewhere in ieee754/* which may surface when a future version of gcc
figures out how to make more extensive use of fused multiply
instructions.
Cheers
/Marcus
More information about the Libc-alpha
mailing list