about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-10-25 15:54:16 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-10-25 15:54:16 +0000
commit78b7adbaea643f2f213bb113e3ec933416a769a8 (patch)
tree915e40738f7ff5f1933c0d32741cbeb3972e4254 /ChangeLog
parent20973cf442dfbf94dc5b92cd78c1b91136db5266 (diff)
downloadglibc-78b7adbaea643f2f213bb113e3ec933416a769a8.tar.gz
glibc-78b7adbaea643f2f213bb113e3ec933416a769a8.tar.xz
glibc-78b7adbaea643f2f213bb113e3ec933416a769a8.zip
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c0fcabf517..824ce66cbf 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.