This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch release/2.24/master updated. glibc-2.24-39-g4d393a8


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, release/2.24/master has been updated
       via  4d393a8831fc0ab1b7c29e2d5bafbdbfe2102082 (commit)
      from  d012ea850680a2a94959f1c5136502a0f712b30a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4d393a8831fc0ab1b7c29e2d5bafbdbfe2102082

commit 4d393a8831fc0ab1b7c29e2d5bafbdbfe2102082
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jan 30 10:59:15 2017 -0800

    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)

diff --git a/ChangeLog b/ChangeLog
index a9b7540..1b7d40a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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-11-28  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #20750]
diff --git a/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S b/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
index 28e71fd..acf448c 100644
--- a/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
+++ b/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
@@ -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

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    6 ++++++
 .../x86_64/multiarch/memset-vec-unaligned-erms.S   |    2 ++
 2 files changed, 8 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]