about summary refs log tree commit diff
path: root/assert
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-01-30 10:59:15 -0800
committerH.J. Lu <hjl.tools@gmail.com>2017-02-24 09:46:15 -0800
commit4d393a8831fc0ab1b7c29e2d5bafbdbfe2102082 (patch)
tree61dd7efdad17adb9047e1f6eaf6fe646d20b5d16 /assert
parentd012ea850680a2a94959f1c5136502a0f712b30a (diff)
downloadglibc-4d393a8831fc0ab1b7c29e2d5bafbdbfe2102082.tar.gz
glibc-4d393a8831fc0ab1b7c29e2d5bafbdbfe2102082.tar.xz
glibc-4d393a8831fc0ab1b7c29e2d5bafbdbfe2102082.zip
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.

(cherry picked from commit 02b78ff749f0c88771713368dbb2a09b1979814f)
Diffstat (limited to 'assert')
0 files changed, 0 insertions, 0 deletions