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 master updated. glibc-2.24-289-g78b7adb


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, master has been updated
       via  78b7adbaea643f2f213bb113e3ec933416a769a8 (commit)
      from  20973cf442dfbf94dc5b92cd78c1b91136db5266 (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=78b7adbaea643f2f213bb113e3ec933416a769a8

commit 78b7adbaea643f2f213bb113e3ec933416a769a8
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Oct 25 15:54:16 2016 +0000

    Fix cmpli usage in power6 memset.
    
    Building glibc for powerpc64 with recent (2.27.51.20161012) binutils,
    with multi-arch enabled, I get the error:
    
    ../sysdeps/powerpc/powerpc64/power6/memset.S: Assembler messages:
    ../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (5 is not between 0 and 1)
    ../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (128 is not between 0 and 31)
    ../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: missing operand
    
    Indeed, cmpli is documented as a four-operand instruction, and looking
    at nearby code it seems likely cmpldi was intended.  This patch fixes
    this powerpc64 code accordingly, and makes a corresponding change to
    the powerpc32 code.
    
    Tested for powerpc, powerpc64 and powerpc64le by Tulio Magno Quites
    Machado Filho
    
    	* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Use cmplwi
    	instead of cmpli.
    	* sysdeps/powerpc/powerpc64/power6/memset.S (memset): Use cmpldi
    	instead of cmpli.

diff --git a/ChangeLog b/ChangeLog
index c0fcabf..824ce66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-10-25  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Use cmplwi
+	instead of cmpli.
+	* sysdeps/powerpc/powerpc64/power6/memset.S (memset): Use cmpldi
+	instead of cmpli.
+
 2016-10-24  Yury Norov  <ynorov@caviumnetworks.com>
 
 	* sysdeps/unix/sysv/linux/fxstat.c: Remove useless cast.
diff --git a/sysdeps/powerpc/powerpc32/power6/memset.S b/sysdeps/powerpc/powerpc32/power6/memset.S
index b2a222e..d5dbe83 100644
--- a/sysdeps/powerpc/powerpc32/power6/memset.S
+++ b/sysdeps/powerpc/powerpc32/power6/memset.S
@@ -394,7 +394,7 @@ L(cacheAlignedx):
 /* A simple loop for the longer (>640 bytes) lengths.  This form limits
    the branch miss-predicted to exactly 1 at loop exit.*/
 L(cacheAligned512):
-	cmpli	cr1,rLEN,128
+	cmplwi	cr1,rLEN,128
 	blt	cr1,L(cacheAligned1)
 	dcbz	0,rMEMP
 	addi	rLEN,rLEN,-128
diff --git a/sysdeps/powerpc/powerpc64/power6/memset.S b/sysdeps/powerpc/powerpc64/power6/memset.S
index c2d1c4e..d445b1e 100644
--- a/sysdeps/powerpc/powerpc64/power6/memset.S
+++ b/sysdeps/powerpc/powerpc64/power6/memset.S
@@ -251,7 +251,7 @@ L(cacheAlignedx):
 /* A simple loop for the longer (>640 bytes) lengths.  This form limits
    the branch miss-predicted to exactly 1 at loop exit.*/
 L(cacheAligned512):
-	cmpli	cr1,rLEN,128
+	cmpldi	cr1,rLEN,128
 	blt	cr1,L(cacheAligned1)
 	dcbz	0,rMEMP
 	addi	rLEN,rLEN,-128

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

Summary of changes:
 ChangeLog                                 |    7 +++++++
 sysdeps/powerpc/powerpc32/power6/memset.S |    2 +-
 sysdeps/powerpc/powerpc64/power6/memset.S |    2 +-
 3 files changed, 9 insertions(+), 2 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]