This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch ibm/2.19/master updated. glibc-2.19-32-ge40df8c
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 26 May 2014 14:55:48 -0000
- Subject: GNU C Library master sources branch ibm/2.19/master updated. glibc-2.19-32-ge40df8c
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, ibm/2.19/master has been updated
via e40df8c4677611afc48601472675593dfd087e4b (commit)
from a448439dfffc0878121e0941be9717e05786b1fe (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=e40df8c4677611afc48601472675593dfd087e4b
commit e40df8c4677611afc48601472675593dfd087e4b
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date: Thu May 22 14:48:38 2014 -0500
PowerPC: Remove 64 bits instructions in PPC32 code
This patch replaces the insrdi by insrwi in powerpc32 assembly.
It is a backport of d298c41635ce7f2dc7c3eccc842fe3aa754c0c8e.
diff --git a/ChangeLog b/ChangeLog
index 04228c1..0013bcb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2014-05-26 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/powerpc32/power4/memset.S (memset): Replace insrdi
+ by insrwi.
+ * sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
+ * sysdeps/powerpc/powerpc32/power7/memset.S (memset): Likewise.
+ * sysdeps/powerpc/powerpc32/power7/memchr.S (memchr): Likewise.
+ * sysdeps/powerpc/powerpc32/power7/memrchr.S (memrchr): Likewise.
+ * sysdeps/powerpc/powerpc32/power7/rawmemchr.S (rawmemchr): Likewise.
+ * sysdeps/powerpc/powerpc32/power7/strchr.S (strchr): Likewise.
+ * sysdeps/powerpc/powerpc32/power7/strchrnul.S (strchrnul): Likewise.
+
2014-05-22 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc32/power4/multiarch/memchr.c (memchr): Remove
diff --git a/sysdeps/powerpc/powerpc32/power4/memset.S b/sysdeps/powerpc/powerpc32/power4/memset.S
index 88110e3..8b746a6 100644
--- a/sysdeps/powerpc/powerpc32/power4/memset.S
+++ b/sysdeps/powerpc/powerpc32/power4/memset.S
@@ -50,7 +50,7 @@ L(_memset):
/* Align to word boundary. */
cmplwi cr5, rLEN, 31
- insrdi rCHR, rCHR, 8, 48 /* Replicate byte to halfword. */
+ insrwi rCHR, rCHR, 8, 16 /* Replicate byte to halfword. */
beq+ L(aligned)
mtcrf 0x01, rMEMP0
subfic rALIGN, rALIGN, 4
@@ -65,7 +65,7 @@ L(g0):
/* Handle the case of size < 31. */
L(aligned):
mtcrf 0x01, rLEN
- insrdi rCHR, rCHR, 16, 32 /* Replicate halfword to word. */
+ insrwi rCHR, rCHR, 16, 0 /* Replicate halfword to word. */
ble cr5, L(medium)
/* Align to 32-byte boundary. */
andi. rALIGN, rMEMP, 0x1C
diff --git a/sysdeps/powerpc/powerpc32/power6/memset.S b/sysdeps/powerpc/powerpc32/power6/memset.S
index 4b18fa7..445fa44 100644
--- a/sysdeps/powerpc/powerpc32/power6/memset.S
+++ b/sysdeps/powerpc/powerpc32/power6/memset.S
@@ -48,7 +48,7 @@ L(_memset):
ble- cr1, L(small)
/* Align to word boundary. */
cmplwi cr5, rLEN, 31
- insrdi rCHR, rCHR, 8, 48 /* Replicate byte to halfword. */
+ insrwi rCHR, rCHR, 8, 16 /* Replicate byte to halfword. */
beq+ L(aligned)
mtcrf 0x01, rMEMP0
subfic rALIGN, rALIGN, 4
@@ -64,7 +64,7 @@ L(g0):
/* Handle the case of size < 31. */
L(aligned):
mtcrf 0x01, rLEN
- insrdi rCHR, rCHR, 16, 32 /* Replicate halfword to word. */
+ insrwi rCHR, rCHR, 16, 0 /* Replicate halfword to word. */
ble cr5, L(medium)
/* Align to 32-byte boundary. */
andi. rALIGN, rMEMP, 0x1C
diff --git a/sysdeps/powerpc/powerpc32/power7/memchr.S b/sysdeps/powerpc/powerpc32/power7/memchr.S
index 1d6a0d6..ccdd7cf 100644
--- a/sysdeps/powerpc/powerpc32/power7/memchr.S
+++ b/sysdeps/powerpc/powerpc32/power7/memchr.S
@@ -25,9 +25,9 @@ ENTRY (__memchr)
CALL_MCOUNT
dcbt 0,r3
clrrwi r8,r3,2
- insrdi r4,r4,8,48
+ insrwi r4,r4,8,16 /* Replicate byte to word. */
add r7,r3,r5 /* Calculate the last acceptable address. */
- insrdi r4,r4,16,32
+ insrwi r4,r4,16,0
cmplwi r5,16
li r9, -1
rlwinm r6,r3,3,27,28 /* Calculate padding. */
diff --git a/sysdeps/powerpc/powerpc32/power7/memrchr.S b/sysdeps/powerpc/powerpc32/power7/memrchr.S
index ebfd540..b05bf32 100644
--- a/sysdeps/powerpc/powerpc32/power7/memrchr.S
+++ b/sysdeps/powerpc/powerpc32/power7/memrchr.S
@@ -32,8 +32,8 @@ ENTRY (__memrchr)
dcbt r9,r6,16 /* Stream hint, decreasing addresses. */
/* Replicate BYTE to word. */
- rldimi r4,r4,8,48
- rldimi r4,r4,16,32
+ insrwi r4,r4,8,16
+ insrwi r4,r4,16,0
li r6,-4
li r9,-1
rlwinm r0,r0,3,27,28 /* Calculate padding. */
diff --git a/sysdeps/powerpc/powerpc32/power7/memset.S b/sysdeps/powerpc/powerpc32/power7/memset.S
index ae18761..34fc1ad 100644
--- a/sysdeps/powerpc/powerpc32/power7/memset.S
+++ b/sysdeps/powerpc/powerpc32/power7/memset.S
@@ -35,8 +35,8 @@ L(_memset):
cfi_offset(31,-8)
/* Replicate byte to word. */
- insrdi 4,4,8,48
- insrdi 4,4,16,32
+ insrwi 4,4,8,16
+ insrwi 4,4,16,0
ble cr6,L(small) /* If length <= 8, use short copy code. */
diff --git a/sysdeps/powerpc/powerpc32/power7/rawmemchr.S b/sysdeps/powerpc/powerpc32/power7/rawmemchr.S
index dec4db0..8ccf186 100644
--- a/sysdeps/powerpc/powerpc32/power7/rawmemchr.S
+++ b/sysdeps/powerpc/powerpc32/power7/rawmemchr.S
@@ -27,8 +27,8 @@ ENTRY (__rawmemchr)
clrrwi r8,r3,2 /* Align the address to word boundary. */
/* Replicate byte to word. */
- rldimi r4,r4,8,48
- rldimi r4,r4,16,32
+ insrwi r4,r4,8,16
+ insrwi r4,r4,16,0
/* Now r4 has a word of c bytes. */
diff --git a/sysdeps/powerpc/powerpc32/power7/strchr.S b/sysdeps/powerpc/powerpc32/power7/strchr.S
index f7ecb72..d795833 100644
--- a/sysdeps/powerpc/powerpc32/power7/strchr.S
+++ b/sysdeps/powerpc/powerpc32/power7/strchr.S
@@ -35,8 +35,8 @@ ENTRY (strchr)
beq cr7,L(null_match)
/* Replicate byte to word. */
- insrdi r4,r4,8,48
- insrdi r4,r4,16,32
+ insrwi r4,r4,8,16
+ insrwi r4,r4,16,0
/* Now r4 has a word of c bytes and r0 has
a word of null bytes. */
diff --git a/sysdeps/powerpc/powerpc32/power7/strchrnul.S b/sysdeps/powerpc/powerpc32/power7/strchrnul.S
index ece8237..dcc7620 100644
--- a/sysdeps/powerpc/powerpc32/power7/strchrnul.S
+++ b/sysdeps/powerpc/powerpc32/power7/strchrnul.S
@@ -27,8 +27,8 @@ ENTRY (__strchrnul)
clrrwi r8,r3,2 /* Align the address to word boundary. */
/* Replicate byte to word. */
- insrdi r4,r4,8,48
- insrdi r4,r4,16,32
+ insrwi r4,r4,8,16
+ insrwi r4,r4,16,0
rlwinm r6,r3,3,27,28 /* Calculate padding. */
lwz r12,0(r8) /* Load word from memory. */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 12 ++++++++++++
sysdeps/powerpc/powerpc32/power4/memset.S | 4 ++--
sysdeps/powerpc/powerpc32/power6/memset.S | 4 ++--
sysdeps/powerpc/powerpc32/power7/memchr.S | 4 ++--
sysdeps/powerpc/powerpc32/power7/memrchr.S | 4 ++--
sysdeps/powerpc/powerpc32/power7/memset.S | 4 ++--
sysdeps/powerpc/powerpc32/power7/rawmemchr.S | 4 ++--
sysdeps/powerpc/powerpc32/power7/strchr.S | 4 ++--
sysdeps/powerpc/powerpc32/power7/strchrnul.S | 4 ++--
9 files changed, 28 insertions(+), 16 deletions(-)
hooks/post-receive
--
GNU C Library master sources