android_bionic/libm
Elliott Hughes 079f6fd857 libm: admit we use SSE4.1 in x86's libm.
Although the NDK ABI for x86 doesn't include SSE4.1, it's needed for
roundss/roundsd, and we've used that (via hand-written assembler) in the
x86 libm since Android M. We've recently switched to using compiler
builtins to generate the assembler instead, and without allowing the
compiler to use SSE4.1, it can't (resulting in infinite recursion as
these functions defer to themselves for an answer).

Given that the x86 libm.so has required SSE4.1 for 8 years at this
point without anyone noticing, let alone caring, let's just retain the
status quo rather.

(Despite the fact that this caused boot failures for cf_x86, I didn't
notice when testing the 32-bit libm.so from a cf_x86_64 build because our
x86-64 ABI *does* include SSE4.1, and the BoardConfig.mk for cf_x86_64
explicitly chooses "silvermont" as the 32-bit cpu variant, implicitly
enabling SSE4.1.)

Test: llvm-objdump -d on a cf_x86 build
Change-Id: I9392d3699057fcca96677de52f8d36d377b1719a
2023-02-10 16:42:50 +00:00
..
amd64
arm
arm64
i387
riscv64
upstream-freebsd
upstream-netbsd
x86 Let clang generate most of our assembler for x86/x86-64 too. 2023-02-07 01:22:29 +00:00
x86_64 Let clang generate most of our assembler for x86/x86-64 too. 2023-02-07 01:22:29 +00:00
Android.bp libm: admit we use SSE4.1 in x86's libm. 2023-02-10 16:42:50 +00:00
MODULE_LICENSE_BSD_LIKE
NOTICE
builtins.cpp Fix floor()/floorl() on armv7 arm32 devices. 2023-02-09 06:54:18 +00:00
digittoint.c
fake_long_double.c Move the copysign() family over to builtins all the time. 2023-02-08 01:26:43 +00:00
fenv-access.h
fpmath.h
freebsd-compat.h
libm.map.txt
signbit.cpp
significandl.c