| From c640bf1ea99d9598f8e3afc922567d8b3623d23e Mon Sep 17 00:00:00 2001 |
| From: "H.J. Lu" <hjl.tools@gmail.com> |
| Date: Wed, 2 Mar 2022 14:57:54 -0800 |
| Subject: [PATCH] x86-64: Use RDX_LP on __x86_shared_non_temporal_threshold [BZ |
| #25966] |
| |
| 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. |
| |
| (cherry picked from commit 55c7bcc71b84123d5d4bd2814366a6b05fcf8ebd) |
| |
| 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 |
| |
| |
| @@ -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 |
| |