forked from rpms/glibc
52 lines
1.7 KiB
Diff
52 lines
1.7 KiB
Diff
From 55c7bcc71b84123d5d4bd2814366a6b05fcf8ebd Mon Sep 17 00:00:00 2001
|
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
|
Date: Sat, 9 May 2020 12:04:23 -0700
|
|
Subject: [PATCH] x86-64: Use RDX_LP on __x86_shared_non_temporal_threshold [BZ
|
|
#25966]
|
|
Content-type: text/plain; charset=UTF-8
|
|
|
|
Since __x86_shared_non_temporal_threshold is defined as
|
|
|
|
long int __x86_shared_non_temporal_threshold;
|
|
|
|
and long int is 4 bytes for x32, use RDX_LP to compare against
|
|
__x86_shared_non_temporal_threshold in assembly code.
|
|
---
|
|
sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S | 6 +++---
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S b/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
|
|
index 71f5954d..673b73aa 100644
|
|
--- a/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
|
|
+++ b/sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
|
|
@@ -245,7 +245,7 @@ L(return):
|
|
#endif
|
|
|
|
L(movsb):
|
|
- cmpq __x86_shared_non_temporal_threshold(%rip), %rdx
|
|
+ cmp __x86_shared_non_temporal_threshold(%rip), %RDX_LP
|
|
jae L(more_8x_vec)
|
|
cmpq %rsi, %rdi
|
|
jb 1f
|
|
@@ -397,7 +397,7 @@ L(more_8x_vec):
|
|
addq %r8, %rdx
|
|
#if (defined USE_MULTIARCH || VEC_SIZE == 16) && IS_IN (libc)
|
|
/* Check non-temporal store threshold. */
|
|
- cmpq __x86_shared_non_temporal_threshold(%rip), %rdx
|
|
+ cmp __x86_shared_non_temporal_threshold(%rip), %RDX_LP
|
|
ja L(large_forward)
|
|
#endif
|
|
L(loop_4x_vec_forward):
|
|
@@ -448,7 +448,7 @@ L(more_8x_vec_backward):
|
|
subq %r8, %rdx
|
|
#if (defined USE_MULTIARCH || VEC_SIZE == 16) && IS_IN (libc)
|
|
/* Check non-temporal store threshold. */
|
|
- cmpq __x86_shared_non_temporal_threshold(%rip), %rdx
|
|
+ cmp __x86_shared_non_temporal_threshold(%rip), %RDX_LP
|
|
ja L(large_backward)
|
|
#endif
|
|
L(loop_4x_vec_backward):
|
|
--
|
|
GitLab
|
|
|