glibc/sysdeps/aarch64/fpu
Joe Ramsay 1cf29fbc5b AArch64: Small optimisation in AdvSIMD erf and erfc
In both routines, reduce register pressure such that GCC 14 emits no
spills for erf and fewer spills for erfc.  Also use more efficient
comparison for the special-case in erf.

Benchtests show erf improves by 6.4%, erfc by 1.0%.
2024-10-28 15:01:37 +00:00
..
bits AArch64: Add vector logp1 alias for log1p 2024-09-19 17:53:34 +01:00
finclude Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scripts Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
acos_advsimd.c aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR 2024-02-26 09:45:50 -03:00
acos_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
acosf_advsimd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
acosf_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
acosh_advsimd.c aarch64/fpu: Add vector variants of acosh 2024-04-04 10:32:58 +01:00
acosh_sve.c aarch64/fpu: Add vector variants of acosh 2024-04-04 10:32:58 +01:00
acoshf_advsimd.c AArch64: Improve codegen in users of AdvSIMD log1pf helper 2024-09-23 15:44:07 +01:00
acoshf_sve.c aarch64/fpu: Add vector variants of acosh 2024-04-04 10:32:58 +01:00
advsimd_f32_protos.h AArch64: Add vector logp1 alias for log1p 2024-09-19 17:53:34 +01:00
asin_advsimd.c aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR 2024-02-26 09:45:50 -03:00
asin_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
asinf_advsimd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
asinf_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
asinh_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
asinh_sve.c aarch64/fpu: Add vector variants of asinh 2024-04-04 10:33:02 +01:00
asinhf_advsimd.c AArch64: Improve codegen in users of AdvSIMD log1pf helper 2024-09-23 15:44:07 +01:00
asinhf_sve.c aarch64/fpu: Add vector variants of asinh 2024-04-04 10:33:02 +01:00
atan2_advsimd.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
atan2_sve.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
atan2f_advsimd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atan2f_sve.c aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR 2024-02-26 09:45:50 -03:00
atan_advsimd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atan_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atanf_advsimd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atanf_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
atanh_advsimd.c aarch64/fpu: Add vector variants of atanh 2024-04-04 10:33:12 +01:00
atanh_sve.c aarch64/fpu: Add vector variants of atanh 2024-04-04 10:33:12 +01:00
atanhf_advsimd.c AArch64: Improve codegen in users of AdvSIMD log1pf helper 2024-09-23 15:44:07 +01:00
atanhf_sve.c aarch64/fpu: Add vector variants of atanh 2024-04-04 10:33:12 +01:00
bench-libmvec-arch.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cbrt_advsimd.c aarch64/fpu: Add vector variants of cbrt 2024-05-16 14:35:06 +01:00
cbrt_sve.c aarch64/fpu: Add vector variants of cbrt 2024-05-16 14:35:06 +01:00
cbrtf_advsimd.c aarch64/fpu: Add vector variants of cbrt 2024-05-16 14:35:06 +01:00
cbrtf_sve.c aarch64/fpu: Add vector variants of cbrt 2024-05-16 14:35:06 +01:00
cos_advsimd.c AArch64: Simplify rounding-multiply pattern in several AdvSIMD routines 2024-09-23 15:44:08 +01:00
cos_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cosf_advsimd.c AArch64: Simplify rounding-multiply pattern in several AdvSIMD routines 2024-09-23 15:44:08 +01:00
cosf_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cosh_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
cosh_sve.c aarch64/fpu: Add vector variants of cosh 2024-04-04 10:32:52 +01:00
coshf_advsimd.c aarch64/fpu: Add vector variants of cosh 2024-04-04 10:32:52 +01:00
coshf_sve.c AArch64: Improve codegen in SVE expf & related routines 2024-09-23 15:44:07 +01:00
erf_advsimd.c AArch64: Small optimisation in AdvSIMD erf and erfc 2024-10-28 15:01:37 +00:00
erf_data.c aarch64/fpu: Add vector variants of erf 2024-04-04 10:32:48 +01:00
erf_sve.c aarch64/fpu: Add vector variants of erf 2024-04-04 10:32:48 +01:00
erfc_advsimd.c AArch64: Small optimisation in AdvSIMD erf and erfc 2024-10-28 15:01:37 +00:00
erfc_data.c aarch64/fpu: Add vector variants of erfc 2024-04-04 10:33:24 +01:00
erfc_sve.c aarch64/fpu: Add vector variants of erfc 2024-04-04 10:33:24 +01:00
erfcf_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
erfcf_data.c aarch64/fpu: Add vector variants of erfc 2024-04-04 10:33:24 +01:00
erfcf_sve.c aarch64/fpu: Add vector variants of erfc 2024-04-04 10:33:24 +01:00
erff_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
erff_data.c aarch64/fpu: Add vector variants of erf 2024-04-04 10:32:48 +01:00
erff_sve.c aarch64/fpu: Add vector variants of erf 2024-04-04 10:32:48 +01:00
exp2_advsimd.c aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR 2024-02-26 09:45:50 -03:00
exp2_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
exp2f_advsimd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
exp2f_sve.c AArch64: Improve codegen in SVE expf & related routines 2024-09-23 15:44:07 +01:00
exp10_advsimd.c aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR 2024-02-26 09:45:50 -03:00
exp10_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
exp10f_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
exp10f_sve.c AArch64: Improve codegen in SVE expf & related routines 2024-09-23 15:44:07 +01:00
exp_advsimd.c aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR 2024-02-26 09:45:50 -03:00
exp_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
expf_advsimd.c AArch64: Simplify rounding-multiply pattern in several AdvSIMD routines 2024-09-23 15:44:08 +01:00
expf_sve.c AArch64: Improve codegen in SVE expf & related routines 2024-09-23 15:44:07 +01:00
expm1_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
expm1_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
expm1f_advsimd.c AArch64: Improve codegen in users of ADVSIMD expm1f helper 2024-09-23 15:44:07 +01:00
expm1f_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fclrexcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetexcept.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetmode.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fegetround.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fenv_private.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetexcept.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetmode.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fesetround.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
feupdateenv.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
finite_pow.h aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
fpu_control.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ftestexcept.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
hypot_advsimd.c aarch64/fpu: Add vector variants of hypot 2024-05-16 14:34:43 +01:00
hypot_sve.c aarch64/fpu: Add vector variants of hypot 2024-05-16 14:34:43 +01:00
hypotf_advsimd.c aarch64/fpu: Add vector variants of hypot 2024-05-16 14:34:43 +01:00
hypotf_sve.c aarch64/fpu: Add vector variants of hypot 2024-05-16 14:34:43 +01:00
log1p_advsimd.c AArch64: Add vector logp1 alias for log1p 2024-09-19 17:53:34 +01:00
log1p_sve.c AArch64: Add vector logp1 alias for log1p 2024-09-19 17:53:34 +01:00
log1pf_advsimd.c AArch64: Improve codegen in users of AdvSIMD log1pf helper 2024-09-23 15:44:07 +01:00
log1pf_sve.c AArch64: Add vector logp1 alias for log1p 2024-09-19 17:53:34 +01:00
log2_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
log2_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
log2f_advsimd.c aarch64: Avoid redundant MOVs in AdvSIMD F32 logs 2024-09-09 13:03:49 +01:00
log2f_sve.c AArch64: Improve codegen in SVE F32 logs 2024-09-23 15:44:07 +01:00
log10_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
log10_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
log10f_advsimd.c aarch64: Avoid redundant MOVs in AdvSIMD F32 logs 2024-09-09 13:03:49 +01:00
log10f_sve.c AArch64: Improve codegen in SVE F32 logs 2024-09-23 15:44:07 +01:00
log_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
log_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
logf_advsimd.c aarch64: Avoid redundant MOVs in AdvSIMD F32 logs 2024-09-09 13:03:49 +01:00
logf_sve.c AArch64: Improve codegen in SVE F32 logs 2024-09-23 15:44:07 +01:00
Makefile aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
math_private.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
math-barriers.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
math-tests-arch.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
math-use-builtins-ceil.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-floor.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-fma.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-fmax.h aarch64: Add math-use-builtins-f{max,min}.h 2021-12-13 10:08:46 -03:00
math-use-builtins-fmin.h aarch64: Add math-use-builtins-f{max,min}.h 2021-12-13 10:08:46 -03:00
math-use-builtins-nearbyint.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-rint.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-round.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-sqrt.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
math-use-builtins-trunc.h math: Decompose math-use-builtins.h 2020-06-22 11:09:45 -03:00
poly_advsimd_f32.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
poly_advsimd_f64.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
poly_generic.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
poly_sve_f32.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
poly_sve_f64.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
poly_sve_generic.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
pow_advsimd.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
pow_sve.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
powf_advsimd.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
powf_sve.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
s_llrint.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_llrintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_llround.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_llroundf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_lrint.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_lrintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_lround.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_lroundf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_roundeven.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
s_roundevenf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sin_advsimd.c AArch64: Simplify rounding-multiply pattern in several AdvSIMD routines 2024-09-23 15:44:08 +01:00
sin_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sinf_advsimd.c AArch64: Simplify rounding-multiply pattern in several AdvSIMD routines 2024-09-23 15:44:08 +01:00
sinf_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sinh_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
sinh_sve.c aarch64/fpu: Add vector variants of sinh 2024-04-04 10:33:16 +01:00
sinhf_advsimd.c AArch64: Improve codegen in users of ADVSIMD expm1f helper 2024-09-23 15:44:07 +01:00
sinhf_sve.c aarch64/fpu: Add vector variants of sinh 2024-04-04 10:33:16 +01:00
sv_erf_data.c aarch64/fpu: Add vector variants of erf 2024-04-04 10:32:48 +01:00
sv_erff_data.c aarch64/fpu: Add vector variants of erf 2024-04-04 10:32:48 +01:00
sv_expf_inline.h AArch64: Improve codegen in SVE expf & related routines 2024-09-23 15:44:07 +01:00
sv_expm1f_inline.h aarch64/fpu: Add vector variants of sinh 2024-04-04 10:33:16 +01:00
sv_log1p_inline.h aarch64/fpu: Add vector variants of acosh 2024-04-04 10:32:58 +01:00
sv_log1pf_inline.h aarch64/fpu: Add vector variants of acosh 2024-04-04 10:32:58 +01:00
sv_math.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tan_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
tan_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tanf_advsimd.c aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
tanf_sve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tanh_advsimd.c aarch64/fpu: Add vector variants of tanh 2024-04-04 10:33:20 +01:00
tanh_sve.c aarch64/fpu: Add vector variants of tanh 2024-04-04 10:33:20 +01:00
tanhf_advsimd.c AArch64: Improve codegen in users of ADVSIMD expm1f helper 2024-09-23 15:44:07 +01:00
tanhf_sve.c aarch64/fpu: Add vector variants of tanh 2024-04-04 10:33:20 +01:00
test-double-advsimd-wrappers.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
test-double-advsimd.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-double-sve-wrappers.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
test-double-sve.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-float-advsimd-wrappers.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
test-float-advsimd.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-float-sve-wrappers.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
test-float-sve.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-vpcs-vector-wrapper.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
v_exp_data.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
v_exp_tail_data.c aarch64/fpu: Add vector variants of cosh 2024-04-04 10:32:52 +01:00
v_expf_inline.h aarch64: Fix AdvSIMD libmvec routines for big-endian 2024-05-14 13:10:33 +01:00
v_expm1f_inline.h AArch64: Improve codegen in users of ADVSIMD expm1f helper 2024-09-23 15:44:07 +01:00
v_log1p_inline.h aarch64/fpu: Add vector variants of acosh 2024-04-04 10:32:58 +01:00
v_log1pf_inline.h AArch64: Improve codegen in users of AdvSIMD log1pf helper 2024-09-23 15:44:07 +01:00
v_log2_data.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
v_log10_data.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
v_log_data.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
v_math.h aarch64/fpu: Add vector variants of acosh 2024-04-04 10:32:58 +01:00
v_pow_exp_data.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
v_pow_log_data.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
v_powf_data.c aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
vecmath_config.h aarch64/fpu: Add vector variants of pow 2024-05-21 14:38:49 +01:00
Versions AArch64: Add vector logp1 alias for log1p 2024-09-19 17:53:34 +01:00