mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-18 12:16:13 +08:00
Add VZEROUPPER to memset-vec-unaligned-erms.S [BZ #21081]
Since memset-vec-unaligned-erms.S has VDUP_TO_VEC0_AND_SET_RETURN at function entry, memset optimized for AVX2 and AVX512 will always use ymm/zmm register. VZEROUPPER should be placed before ret in L(stosb): movq %rdx, %rcx movzbl %sil, %eax movq %rdi, %rdx rep stosb movq %rdx, %rax ret since it can be reached from L(stosb_more_2x_vec): cmpq $REP_STOSB_THRESHOLD, %rdx ja L(stosb) [BZ #21081] * sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S (L(stosb)): Add VZEROUPPER before ret.
This commit is contained in:
parent
f8bf15febc
commit
02b78ff749
@ -1,3 +1,9 @@
|
||||
2017-01-30 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
[BZ #21081]
|
||||
* sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
|
||||
(L(stosb)): Add VZEROUPPER before ret.
|
||||
|
||||
2016-01-28 Carlos O'Donell <carlos@redhat.com>
|
||||
Alexey Makhalov <amakhalov@vmware.com>
|
||||
Florian Weimer <fweimer@redhat.com>
|
||||
|
@ -110,6 +110,8 @@ ENTRY (__memset_erms)
|
||||
ENTRY (MEMSET_SYMBOL (__memset, erms))
|
||||
# endif
|
||||
L(stosb):
|
||||
/* Issue vzeroupper before rep stosb. */
|
||||
VZEROUPPER
|
||||
movq %rdx, %rcx
|
||||
movzbl %sil, %eax
|
||||
movq %rdi, %rdx
|
||||
|
Loading…
Reference in New Issue
Block a user