[x86_64,BZ,#20033] Use calls to finite scalar versions in vector log, pow, exp.

Message ID CAMXFM3u4b_nMbarQsZ=cEWeNyVsXpMb8kjLejn59chn5Q-yGQg@mail.gmail.com
State New, archived
Headers

Commit Message

Andrew Senkevich July 28, 2016, 11:54 a.m. UTC
  2016-07-28 0:34 GMT+03:00 Joseph Myers <joseph@codesourcery.com>:
> On Wed, 27 Jul 2016, Andrew Senkevich wrote:
>
>> > No, I said handled like NO_TEST_INLINE.  Exactly like NO_TEST_INLINE.  No
>> > architecture conditionals, no #if, just an "if" conditional exactly
>> > corresponding to how NO_TEST_INLINE and NON_FINITE are handled (the
>> > NON_FINITE if is actually better to follow since it follows the glibc
>> > convention of avoiding implicit boolean conversion).
>>
>> Do you mean the following change for math/libm-test.inc?
>
> Yes (not until after 2.24, of course).

Do you mean the patch below is Ok for trunk after 2.24 will be released?

index 4ac7a0c..117057c 100644



--
WBR,
Andrew
  

Comments

Joseph Myers July 28, 2016, 3:42 p.m. UTC | #1
On Thu, 28 Jul 2016, Andrew Senkevich wrote:

> 2016-07-28 0:34 GMT+03:00 Joseph Myers <joseph@codesourcery.com>:
> > On Wed, 27 Jul 2016, Andrew Senkevich wrote:
> >
> >> > No, I said handled like NO_TEST_INLINE.  Exactly like NO_TEST_INLINE.  No
> >> > architecture conditionals, no #if, just an "if" conditional exactly
> >> > corresponding to how NO_TEST_INLINE and NON_FINITE are handled (the
> >> > NON_FINITE if is actually better to follow since it follows the glibc
> >> > convention of avoiding implicit boolean conversion).
> >>
> >> Do you mean the following change for math/libm-test.inc?
> >
> > Yes (not until after 2.24, of course).
> 
> Do you mean the patch below is Ok for trunk after 2.24 will be released?

This is OK for master after 2.24 has been released and branched and the 
reopening of master for 2.25 has been announced.
  

Patch

--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -179,6 +179,7 @@ 
 #define IGNORE_RESULT                  0x20000
 #define NON_FINITE                     0x40000
 #define TEST_SNAN                      0x80000
+#define NO_TEST_MATHVEC                        0x100000

 #define __CONCATX(a,b) __CONCAT(a,b)

@@ -1056,6 +1057,9 @@  enable_test (int exceptions)
     return 0;
   if (!SNAN_TESTS (FLOAT) && (exceptions & TEST_SNAN) != 0)
     return 0;
+  if (TEST_MATHVEC && (exceptions & NO_TEST_MATHVEC) != 0)
+    return 0;
+
   return 1;
 }

@@ -10631,10 +10635,10 @@  nexttoward_test (void)

 static const struct test_ff_f_data pow_test_data[] =
   {
-    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),
+    TEST_ff_f (pow, qnan_value, 0, 1, ERRNO_UNCHANGED|NO_TEST_MATHVEC),
+    TEST_ff_f (pow, -qnan_value, 0, 1, ERRNO_UNCHANGED|NO_TEST_MATHVEC),
+    TEST_ff_f (pow, qnan_value, minus_zero, 1,
ERRNO_UNCHANGED|NO_TEST_MATHVEC),
+    TEST_ff_f (pow, -qnan_value, minus_zero, 1,
ERRNO_UNCHANGED|NO_TEST_MATHVEC),

     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