aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel F. T. Gomes <gftg@linux.vnet.ibm.com>2016-04-12 13:11:29 -0300
committerGabriel F. T. Gomes <gftg@linux.vnet.ibm.com>2016-05-04 09:14:52 -0300
commiteb3b8a4924502e508d5b353ed75f39826d2c9466 (patch)
treee84ab024ac5a8a9f2a4c57ee121e2f7e449e6f01
parent5171f3079f2cc53e0548fc4967361f4d1ce9d7ea (diff)
downloadglibc-eb3b8a4924502e508d5b353ed75f39826d2c9466.tar
glibc-eb3b8a4924502e508d5b353ed75f39826d2c9466.tar.gz
glibc-eb3b8a4924502e508d5b353ed75f39826d2c9466.tar.bz2
glibc-eb3b8a4924502e508d5b353ed75f39826d2c9466.zip
powerpc: Fix operand prefixes
The file sysdeps/powerpc/sysdeps.h defines aliases for condition register operands. E.g.: 'cr7' means condition register 7. On the one hand, this increases readability, as it makes it easier for readers to know whether the operand is a condition register, a general purpose register or an immediate. On the other hand, this permits that condition registers be written as if they were general purpose, and vice-versa, thus reducing the readability of the code. This commit removes some of these unintentional misuses. The changes have no effect on the final code. Checked with objdump.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/powerpc/powerpc64/power8/strncpy.S8
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index d5f56c9c9b..8fcb047815 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-05-04 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/powerpc64/power8/strncpy.S: Fix use of condition
+ registers specifiers where general purpose registers specifiers should
+ have been used.
+
2016-05-04 Florian Weimer <fweimer@redhat.com>
[BZ #19779]
diff --git a/sysdeps/powerpc/powerpc64/power8/strncpy.S b/sysdeps/powerpc/powerpc64/power8/strncpy.S
index 0bb3bd46d7..437edeb715 100644
--- a/sysdeps/powerpc/powerpc64/power8/strncpy.S
+++ b/sysdeps/powerpc/powerpc64/power8/strncpy.S
@@ -294,7 +294,7 @@ L(pagecross):
#endif
orc r9,r7,r9 /* Mask bits that are not part of the
string. */
- li cr7,0
+ li r7,0
cmpb r9,r9,r7 /* Check for null bytes in DWORD1. */
cmpdi cr7,r9,0
bne cr7,L(short_path_prepare_2)
@@ -305,14 +305,14 @@ L(pagecross):
/* For next checks we have aligned address, so we check for more
three doublewords to make sure we can read 16 unaligned bytes
to start the bulk copy with 16 aligned addresses. */
- ld cr7,8(r11)
+ ld r7,8(r11)
cmpb r9,r7,r9
cmpdi cr7,r9,0
bne cr7,L(short_path_prepare_2)
- addi cr7,r8,-8
+ addi r7,r8,-8
cmpldi cr7,r7,8
ble cr7,L(short_path_prepare_2)
- ld cr7,16(r11)
+ ld r7,16(r11)
cmpb r9,r7,r9
cmpdi cr7,r9,0
bne cr7,L(short_path_prepare_2)