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: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Fri, 8 Jul 2016 13:19:58 -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> <CAMXFM3u1_hidL67U-Be+q8RNMk=nLZCAZ99=FBexb2XqHso25Q@mail.gmail.com>
On 08/07/2016 11:12, Andrew Senkevich wrote:
> 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?
I would say x86 maintainer as I suggested in my previous release blocker
discussion.