This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH x86_64][BZ #20033] Use calls to finite scalar versions in vector log, pow, exp.
- From: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- To: libc-alpha <libc-alpha at sourceware dot org>, Andrew Stubbs <ams at codesourcery dot com>
- Date: Fri, 8 Jul 2016 17:12:11 +0300
- Subject: Re: [PATCH x86_64][BZ #20033] Use calls to finite scalar versions in vector log, pow, exp.
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3sd6tPCyqxhKHERWtKswc5AYqyvc_mYjt7=miAuK5jJ0Q@mail.gmail.com>
2016-07-08 15:10 GMT+03:00 Andrew Senkevich <andrew.n.senkevich@gmail.com>:
> Hi,
>
> vector math functions require to have -ffast-math (which sets
> -ffinite-math-only), so it is needed to call finite scalar versions
> (which are called from vector functions in some cases).
>
> Since finite version of pow() returns qNaN instead of 1.0 for several
> inputs, those inputs are set under condition which is false for tests
> of vector math functions.
>
> Is it Ok for commit?
>
> ChangeLog:
>
> [BZ #20033]
> * sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S: Call
> finite version.
> * sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_d_log2_core_sse4.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_d_log4_core_avx2.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core_sse4.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core_avx2.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_expf4_core_sse4.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_expf8_core_avx2.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_logf4_core_sse4.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_logf8_core_avx2.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_powf4_core_sse4.S: Likewise.
> * sysdeps/x86_64/fpu/multiarch/svml_s_powf8_core_avx2.S: Likewise.
> * sysdeps/x86_64/fpu/svml_d_exp2_core.S: Likewise.
> * sysdeps/x86_64/fpu/svml_d_log2_core.S: Likewise.
> * sysdeps/x86_64/fpu/svml_d_pow2_core.S: Likewise.
> * sysdeps/x86_64/fpu/svml_s_expf4_core.S: Likewise.
> * sysdeps/x86_64/fpu/svml_s_logf4_core.S: Likewise.
> * sysdeps/x86_64/fpu/svml_s_powf4_core.S: Likewise.
> * math/libm-test.inc (pow_test_data): Exclude tests for qNaN
> in power zero.
>
> diff --git a/math/libm-test.inc b/math/libm-test.inc
> index 4ac7a0c..7734333 100644
> --- a/math/libm-test.inc
> +++ b/math/libm-test.inc
> @@ -10631,10 +10631,12 @@ nexttoward_test (void)
>
> static const struct test_ff_f_data pow_test_data[] =
> {
> +#if !(defined __x86_64__ && defined __FAST_MATH__)
> TEST_ff_f (pow, qnan_value, 0, 1, ERRNO_UNCHANGED),
> TEST_ff_f (pow, -qnan_value, 0, 1, ERRNO_UNCHANGED),
> TEST_ff_f (pow, qnan_value, minus_zero, 1, ERRNO_UNCHANGED),
> TEST_ff_f (pow, -qnan_value, minus_zero, 1, ERRNO_UNCHANGED),
> +#endif
>
> TEST_ff_f (pow, 1.1L, plus_infty, plus_infty,
> ERRNO_UNCHANGED|NO_TEST_INLINE),
> TEST_ff_f (pow, plus_infty, plus_infty, plus_infty,
> ERRNO_UNCHANGED|NO_TEST_INLINE),
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S
> index 9a77959..1e119e2 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S
> @@ -207,7 +207,7 @@ ENTRY (_ZGVbN2v_exp_sse4)
> shlq $4, %r15
> movsd 200(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
>
> movsd %xmm0, 264(%rsp,%r15)
> jmp .LBL_1_8
> @@ -217,7 +217,7 @@ ENTRY (_ZGVbN2v_exp_sse4)
> shlq $4, %r15
> movsd 192(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
>
> movsd %xmm0, 256(%rsp,%r15)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S
> index 2a35fe3..f350800 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S
> @@ -193,7 +193,7 @@ ENTRY (_ZGVdN4v_exp_avx2)
> vmovsd 328(%rsp,%r15), %xmm0
> vzeroupper
>
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
>
> vmovsd %xmm0, 392(%rsp,%r15)
> jmp .LBL_1_8
> @@ -204,7 +204,7 @@ ENTRY (_ZGVdN4v_exp_avx2)
> vmovsd 320(%rsp,%r15), %xmm0
> vzeroupper
>
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
>
> vmovsd %xmm0, 384(%rsp,%r15)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S
> index ea84091..18fb059 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S
> @@ -223,7 +223,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_exp
> movzbl %r12b, %r15d
> shlq $4, %r15
> vmovsd 1160(%rsp,%r15), %xmm0
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
> vmovsd %xmm0, 1224(%rsp,%r15)
> jmp .LBL_1_8
>
> @@ -231,7 +231,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_exp
> movzbl %r12b, %r15d
> shlq $4, %r15
> vmovsd 1152(%rsp,%r15), %xmm0
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
> vmovsd %xmm0, 1216(%rsp,%r15)
> jmp .LBL_1_7
> #endif
> @@ -438,7 +438,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_exp
> vmovsd 1160(%rsp,%r15), %xmm0
> vzeroupper
> vmovsd 1160(%rsp,%r15), %xmm0
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
> vmovsd %xmm0, 1224(%rsp,%r15)
> jmp .LBL_2_8
>
> @@ -448,7 +448,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_exp
> vmovsd 1152(%rsp,%r15), %xmm0
> vzeroupper
> vmovsd 1152(%rsp,%r15), %xmm0
> - call JUMPTARGET(exp)
> + call JUMPTARGET(__exp_finite)
> vmovsd %xmm0, 1216(%rsp,%r15)
> jmp .LBL_2_7
>
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log2_core_sse4.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_log2_core_sse4.S
> index 6795972..6787699 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log2_core_sse4.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log2_core_sse4.S
> @@ -211,7 +211,7 @@ ENTRY (_ZGVbN2v_log_sse4)
> shlq $4, %r15
> movsd 200(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
>
> movsd %xmm0, 264(%rsp,%r15)
> jmp .LBL_1_8
> @@ -221,7 +221,7 @@ ENTRY (_ZGVbN2v_log_sse4)
> shlq $4, %r15
> movsd 192(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
>
> movsd %xmm0, 256(%rsp,%r15)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log4_core_avx2.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_log4_core_avx2.S
> index 267dae0..8d21e5e 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log4_core_avx2.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log4_core_avx2.S
> @@ -191,7 +191,7 @@ ENTRY (_ZGVdN4v_log_avx2)
> vmovsd 328(%rsp,%r15), %xmm0
> vzeroupper
>
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
>
> vmovsd %xmm0, 392(%rsp,%r15)
> jmp .LBL_1_8
> @@ -202,7 +202,7 @@ ENTRY (_ZGVdN4v_log_avx2)
> vmovsd 320(%rsp,%r15), %xmm0
> vzeroupper
>
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
>
> vmovsd %xmm0, 384(%rsp,%r15)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S
> index 62854bb..cf2da9d 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S
> @@ -222,7 +222,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_log
> movzbl %r12b, %r15d
> shlq $4, %r15
> vmovsd 1160(%rsp,%r15), %xmm0
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
> vmovsd %xmm0, 1224(%rsp,%r15)
> jmp .LBL_1_8
>
> @@ -230,7 +230,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_log
> movzbl %r12b, %r15d
> shlq $4, %r15
> vmovsd 1152(%rsp,%r15), %xmm0
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
> vmovsd %xmm0, 1216(%rsp,%r15)
> jmp .LBL_1_7
> #endif
> @@ -443,7 +443,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_log
> vzeroupper
> vmovsd 1160(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
>
> vmovsd %xmm0, 1224(%rsp,%r15)
> jmp .LBL_2_8
> @@ -455,7 +455,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_log
> vzeroupper
> vmovsd 1152(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(log)
> + call JUMPTARGET(__log_finite)
>
> vmovsd %xmm0, 1216(%rsp,%r15)
> jmp .LBL_2_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core_sse4.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core_sse4.S
> index 699f74e..c642f94 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core_sse4.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core_sse4.S
> @@ -413,7 +413,7 @@ ENTRY (_ZGVbN2vv_pow_sse4)
> movsd 72(%rsp,%r15), %xmm0
> movsd 136(%rsp,%r15), %xmm1
>
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
>
> movsd %xmm0, 200(%rsp,%r15)
> jmp .LBL_1_8
> @@ -424,7 +424,7 @@ ENTRY (_ZGVbN2vv_pow_sse4)
> movsd 64(%rsp,%r15), %xmm0
> movsd 128(%rsp,%r15), %xmm1
>
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
>
> movsd %xmm0, 192(%rsp,%r15)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core_avx2.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core_avx2.S
> index 35ba076..8ad9a57 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core_avx2.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core_avx2.S
> @@ -367,7 +367,7 @@ ENTRY (_ZGVdN4vv_pow_avx2)
> vmovsd 264(%rsp,%r15), %xmm1
> vzeroupper
>
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
>
> vmovsd %xmm0, 328(%rsp,%r15)
> jmp .LBL_1_8
> @@ -379,7 +379,7 @@ ENTRY (_ZGVdN4vv_pow_avx2)
> vmovsd 256(%rsp,%r15), %xmm1
> vzeroupper
>
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
>
> vmovsd %xmm0, 320(%rsp,%r15)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S
> b/sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S
> index c6b6474..026feee 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S
> @@ -392,7 +392,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_pow
> shlq $4, %r15
> vmovsd 1160(%rsp,%r15), %xmm0
> vmovsd 1224(%rsp,%r15), %xmm1
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
> vmovsd %xmm0, 1288(%rsp,%r15)
> jmp .LBL_1_8
>
> @@ -401,7 +401,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_pow
> shlq $4, %r15
> vmovsd 1152(%rsp,%r15), %xmm0
> vmovsd 1216(%rsp,%r15), %xmm1
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
> vmovsd %xmm0, 1280(%rsp,%r15)
> jmp .LBL_1_7
>
> @@ -720,7 +720,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_pow
> vzeroupper
> vmovsd 1160(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
>
> vmovsd %xmm0, 1288(%rsp,%r15)
> jmp .LBL_2_8
> @@ -732,7 +732,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_pow
> vzeroupper
> vmovsd 1152(%rsp,%r15), %xmm0
>
> - call JUMPTARGET(pow)
> + call JUMPTARGET(__pow_finite)
>
> vmovsd %xmm0, 1280(%rsp,%r15)
> jmp .LBL_2_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S
> index 18b8a5e..42bd670 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S
> @@ -212,14 +212,14 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_expf
> cfi_restore_state
> movzbl %r12b, %r15d
> vmovss 1156(%rsp,%r15,8), %xmm0
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
> vmovss %xmm0, 1220(%rsp,%r15,8)
> jmp .LBL_1_8
>
> .LBL_1_12:
> movzbl %r12b, %r15d
> vmovss 1152(%rsp,%r15,8), %xmm0
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
> vmovss %xmm0, 1216(%rsp,%r15,8)
> jmp .LBL_1_7
>
> @@ -422,7 +422,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_expf
> vzeroupper
> vmovss 1156(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
>
> vmovss %xmm0, 1220(%rsp,%r15,8)
> jmp .LBL_2_8
> @@ -433,7 +433,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_expf
> vzeroupper
> vmovss 1152(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
>
> vmovss %xmm0, 1216(%rsp,%r15,8)
> jmp .LBL_2_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expf4_core_sse4.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_expf4_core_sse4.S
> index d3db509..59933da 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_expf4_core_sse4.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expf4_core_sse4.S
> @@ -195,7 +195,7 @@ ENTRY (_ZGVbN4v_expf_sse4)
> movzbl %r12b, %r15d
> movss 196(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
>
> movss %xmm0, 260(%rsp,%r15,8)
> jmp .LBL_1_8
> @@ -204,7 +204,7 @@ ENTRY (_ZGVbN4v_expf_sse4)
> movzbl %r12b, %r15d
> movss 192(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
>
> movss %xmm0, 256(%rsp,%r15,8)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expf8_core_avx2.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_expf8_core_avx2.S
> index a80a9ec..54f7500 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_expf8_core_avx2.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expf8_core_avx2.S
> @@ -184,7 +184,7 @@ ENTRY(_ZGVdN8v_expf_avx2)
> vmovss 324(%rsp,%r15,8), %xmm0
> vzeroupper
>
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
>
> vmovss %xmm0, 388(%rsp,%r15,8)
> jmp .LBL_1_8
> @@ -194,7 +194,7 @@ ENTRY(_ZGVdN8v_expf_avx2)
> vmovss 320(%rsp,%r15,8), %xmm0
> vzeroupper
>
> - call JUMPTARGET(expf)
> + call JUMPTARGET(__expf_finite)
>
> vmovss %xmm0, 384(%rsp,%r15,8)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S
> index c714258..046430e 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S
> @@ -197,14 +197,14 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_logf
> cfi_restore_state
> movzbl %r12b, %r15d
> vmovss 1156(%rsp,%r15,8), %xmm0
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
> vmovss %xmm0, 1220(%rsp,%r15,8)
> jmp .LBL_1_8
>
> .LBL_1_12:
> movzbl %r12b, %r15d
> vmovss 1152(%rsp,%r15,8), %xmm0
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
> vmovss %xmm0, 1216(%rsp,%r15,8)
> jmp .LBL_1_7
> #endif
> @@ -391,7 +391,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_logf
> vzeroupper
> vmovss 1156(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
>
> vmovss %xmm0, 1220(%rsp,%r15,8)
> jmp .LBL_2_8
> @@ -402,7 +402,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_logf
> vzeroupper
> vmovss 1152(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
>
> vmovss %xmm0, 1216(%rsp,%r15,8)
> jmp .LBL_2_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_logf4_core_sse4.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_logf4_core_sse4.S
> index 22310f1..b989375 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_logf4_core_sse4.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_logf4_core_sse4.S
> @@ -177,7 +177,7 @@ ENTRY (_ZGVbN4v_logf_sse4)
> movzbl %r12b, %r15d
> movss 196(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
>
> movss %xmm0, 260(%rsp,%r15,8)
> jmp .LBL_1_8
> @@ -186,7 +186,7 @@ ENTRY (_ZGVbN4v_logf_sse4)
> movzbl %r12b, %r15d
> movss 192(%rsp,%r15,8), %xmm0
>
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
>
> movss %xmm0, 256(%rsp,%r15,8)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_logf8_core_avx2.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_logf8_core_avx2.S
> index b69d53f..6d6e97f 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_logf8_core_avx2.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_logf8_core_avx2.S
> @@ -166,7 +166,7 @@ ENTRY(_ZGVdN8v_logf_avx2)
> vmovss 324(%rsp,%r15,8), %xmm0
> vzeroupper
>
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
>
> vmovss %xmm0, 388(%rsp,%r15,8)
> jmp .LBL_1_8
> @@ -176,7 +176,7 @@ ENTRY(_ZGVdN8v_logf_avx2)
> vmovss 320(%rsp,%r15,8), %xmm0
> vzeroupper
>
> - call JUMPTARGET(logf)
> + call JUMPTARGET(__logf_finite)
>
> vmovss %xmm0, 384(%rsp,%r15,8)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S
> index 8b0c256..0d8c819 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S
> @@ -344,7 +344,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_powf
> movzbl %r12b, %r15d
> vmovss 1156(%rsp,%r15,8), %xmm0
> vmovss 1220(%rsp,%r15,8), %xmm1
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
> vmovss %xmm0, 1284(%rsp,%r15,8)
> jmp .LBL_1_8
>
> @@ -352,7 +352,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_powf
> movzbl %r12b, %r15d
> vmovss 1152(%rsp,%r15,8), %xmm0
> vmovss 1216(%rsp,%r15,8), %xmm1
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
> vmovss %xmm0, 1280(%rsp,%r15,8)
> jmp .LBL_1_7
> #endif
> @@ -629,7 +629,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_powf
> vmovss 1156(%rsp,%r15,8), %xmm1
> vzeroupper
> vmovss 1092(%rsp,%r15,8), %xmm0
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
> vmovss %xmm0, 1220(%rsp,%r15,8)
> jmp .LBL_2_8
>
> @@ -638,7 +638,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_powf
> vmovss 1152(%rsp,%r15,8), %xmm1
> vzeroupper
> vmovss 1088(%rsp,%r15,8), %xmm0
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
> vmovss %xmm0, 1216(%rsp,%r15,8)
> jmp .LBL_2_7
> #endif
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_powf4_core_sse4.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_powf4_core_sse4.S
> index 04b4e3d..b87ad27 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_powf4_core_sse4.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_powf4_core_sse4.S
> @@ -356,7 +356,7 @@ ENTRY (_ZGVbN4vv_powf_sse4)
> movss 68(%rsp,%r15,8), %xmm0
> movss 132(%rsp,%r15,8), %xmm1
>
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
>
> movss %xmm0, 196(%rsp,%r15,8)
> jmp .LBL_1_8
> @@ -366,7 +366,7 @@ ENTRY (_ZGVbN4vv_powf_sse4)
> movss 64(%rsp,%r15,8), %xmm0
> movss 128(%rsp,%r15,8), %xmm1
>
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
>
> movss %xmm0, 192(%rsp,%r15,8)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_powf8_core_avx2.S
> b/sysdeps/x86_64/fpu/multiarch/svml_s_powf8_core_avx2.S
> index bfe2229..b094f8e 100644
> --- a/sysdeps/x86_64/fpu/multiarch/svml_s_powf8_core_avx2.S
> +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_powf8_core_avx2.S
> @@ -317,7 +317,7 @@ ENTRY(_ZGVdN8vv_powf_avx2)
> vmovss 132(%rsp,%r15,8), %xmm1
> vzeroupper
>
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
>
> vmovss %xmm0, 196(%rsp,%r15,8)
> jmp .LBL_1_8
> @@ -328,7 +328,7 @@ ENTRY(_ZGVdN8vv_powf_avx2)
> vmovss 128(%rsp,%r15,8), %xmm1
> vzeroupper
>
> - call JUMPTARGET(powf)
> + call JUMPTARGET(__powf_finite)
>
> vmovss %xmm0, 192(%rsp,%r15,8)
> jmp .LBL_1_7
> diff --git a/sysdeps/x86_64/fpu/svml_d_exp2_core.S
> b/sysdeps/x86_64/fpu/svml_d_exp2_core.S
> index 9e51103..ecfaf12 100644
> --- a/sysdeps/x86_64/fpu/svml_d_exp2_core.S
> +++ b/sysdeps/x86_64/fpu/svml_d_exp2_core.S
> @@ -21,7 +21,7 @@
>
> .text
> ENTRY (_ZGVbN2v_exp)
> -WRAPPER_IMPL_SSE2 exp
> +WRAPPER_IMPL_SSE2 __exp_finite
> END (_ZGVbN2v_exp)
>
> #ifndef USE_MULTIARCH
> diff --git a/sysdeps/x86_64/fpu/svml_d_log2_core.S
> b/sysdeps/x86_64/fpu/svml_d_log2_core.S
> index 8ea40fe..b3530cd 100644
> --- a/sysdeps/x86_64/fpu/svml_d_log2_core.S
> +++ b/sysdeps/x86_64/fpu/svml_d_log2_core.S
> @@ -21,7 +21,7 @@
>
> .text
> ENTRY (_ZGVbN2v_log)
> -WRAPPER_IMPL_SSE2 log
> +WRAPPER_IMPL_SSE2 __log_finite
> END (_ZGVbN2v_log)
>
> #ifndef USE_MULTIARCH
> diff --git a/sysdeps/x86_64/fpu/svml_d_pow2_core.S
> b/sysdeps/x86_64/fpu/svml_d_pow2_core.S
> index b25515c..593aaf6 100644
> --- a/sysdeps/x86_64/fpu/svml_d_pow2_core.S
> +++ b/sysdeps/x86_64/fpu/svml_d_pow2_core.S
> @@ -21,7 +21,7 @@
>
> .text
> ENTRY (_ZGVbN2vv_pow)
> -WRAPPER_IMPL_SSE2_ff pow
> +WRAPPER_IMPL_SSE2_ff __pow_finite
> END (_ZGVbN2vv_pow)
>
> #ifndef USE_MULTIARCH
> diff --git a/sysdeps/x86_64/fpu/svml_s_expf4_core.S
> b/sysdeps/x86_64/fpu/svml_s_expf4_core.S
> index 65b5d1a..3901564 100644
> --- a/sysdeps/x86_64/fpu/svml_s_expf4_core.S
> +++ b/sysdeps/x86_64/fpu/svml_s_expf4_core.S
> @@ -22,7 +22,7 @@
>
> .text
> ENTRY (_ZGVbN4v_expf)
> -WRAPPER_IMPL_SSE2 expf
> +WRAPPER_IMPL_SSE2 __expf_finite
> END (_ZGVbN4v_expf)
>
> #ifndef USE_MULTIARCH
> diff --git a/sysdeps/x86_64/fpu/svml_s_logf4_core.S
> b/sysdeps/x86_64/fpu/svml_s_logf4_core.S
> index 195f328..fa13933 100644
> --- a/sysdeps/x86_64/fpu/svml_s_logf4_core.S
> +++ b/sysdeps/x86_64/fpu/svml_s_logf4_core.S
> @@ -22,7 +22,7 @@
>
> .text
> ENTRY (_ZGVbN4v_logf)
> -WRAPPER_IMPL_SSE2 logf
> +WRAPPER_IMPL_SSE2 __logf_finite
> END (_ZGVbN4v_logf)
>
> #ifndef USE_MULTIARCH
> diff --git a/sysdeps/x86_64/fpu/svml_s_powf4_core.S
> b/sysdeps/x86_64/fpu/svml_s_powf4_core.S
> index 88fae60..7bb5b3d 100644
> --- a/sysdeps/x86_64/fpu/svml_s_powf4_core.S
> +++ b/sysdeps/x86_64/fpu/svml_s_powf4_core.S
> @@ -21,7 +21,7 @@
>
> .text
> ENTRY (_ZGVbN4vv_powf)
> -WRAPPER_IMPL_SSE2_ff powf
> +WRAPPER_IMPL_SSE2_ff __powf_finite
> END (_ZGVbN4vv_powf)
>
> #ifndef USE_MULTIARCH
I am usually got OK from Joseph to commit, who else can approve patch
while Joseph is absent?
--
WBR,
Andrew