HomeFreeBSD

Use a builtin where possible in msun

Description

Use a builtin where possible in msun

Some of the functions in msun can be implemented using a compiler
builtin function to generate a small number of instructions. Implement
this support in fma, fmax, fmin, and sqrt on arm64.

Care must be taken as the builtin can be implemented as a function
call on some architectures that lack direct support. In these cases
we need to use the original code path.

As we don't set errno on failure build with -fno-math-errno so the
toolchain doesn't convert a builtin into a function call when it
detects a failure, e.g. gcc will add a call to sqrt when the input
is negative leading to an infinite loop.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32801

(cherry picked from commit b2e843161dc3b79777e873183447c92ed9c3703a)

Details

Provenance
andrewAuthored on Nov 2 2021, 11:31 AM
dimCommitted on Aug 13 2023, 8:39 AM
Differential Revision
D32801: Use a builtin where possible in msun
Parents
rG2030f99a9aac: cd9660: do not leak buffers in cd9660_rrip_loop()
Branches
Unknown
Tags
Unknown