This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.19-480-gd298c41
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 26 May 2014 14:17:09 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.19-480-gd298c41
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 d298c41635ce7f2dc7c3eccc842fe3aa754c0c8e (commit)
from b60ea6fff5cca4da517ec9cce3af8f3e94d6ac65 (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=d298c41635ce7f2dc7c3eccc842fe3aa754c0c8e
commit d298c41635ce7f2dc7c3eccc842fe3aa754c0c8e
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.
diff --git a/ChangeLog b/ChangeLog
index a7be30e..8f74df1 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-26 Andreas Schwab <schwab@suse.de>
[BZ #16984]
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