about summary refs log tree commit diff
path: root/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2022-06-20 13:02:10 -0700
committerNoah Goldstein <goldstein.w.n@gmail.com>2022-06-22 19:42:17 -0700
commit3079f652d7cc34456aefb412677c01e758922527 (patch)
tree5d3f749db7fcfdeb17e3765858894a15c1267e26 /sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S
parent3edda6a0f013736ca9554a95e553739a41dbd4b7 (diff)
downloadglibc-3079f652d7cc34456aefb412677c01e758922527.tar.gz
glibc-3079f652d7cc34456aefb412677c01e758922527.tar.xz
glibc-3079f652d7cc34456aefb412677c01e758922527.zip
x86: Replace all sse instructions with vex equivilent in avx+ files
Most of these don't really matter as there was no dirty upper state
but we should generally avoid stray sse when its not needed.

The one case that really matters is in svml_d_tanh4_core_avx2.S:

blendvps %xmm0, %xmm8, %xmm7

When there was a dirty upper state.

Tested on x86_64-linux
Diffstat (limited to 'sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S')
-rw-r--r--sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S
index f42462c581..94186a14cb 100644
--- a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S
+++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S
@@ -222,13 +222,13 @@ L(SPECIAL_VALUES_LOOP):
 	tzcntl	%ebx, %ebp
 
 	/* Scalar math fucntion call to process special input.  */
-	movss	64(%rsp, %rbp, 4), %xmm0
+	vmovss	64(%rsp, %rbp, 4), %xmm0
 	call	atanhf@PLT
 
 	/* No good way to avoid the store-forwarding fault this will cause on
 	   return. `lfence` avoids the SF fault but at greater cost as it
 	   serialized stack/callee save restoration.  */
-	movss	%xmm0, (%rsp, %rbp, 4)
+	vmovss	%xmm0, (%rsp, %rbp, 4)
 
 	blsrl   %ebx, %ebx
 	jnz	L(SPECIAL_VALUES_LOOP)