This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: AArch64 patches for glibc master.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]