diff options
author | Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> | 2017-10-13 15:44:39 -0300 |
---|---|---|
committer | Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> | 2017-10-13 15:44:39 -0300 |
commit | 179dcdb7af4983fd42824db748ee6cb05f8d71cf (patch) | |
tree | 97c3a0e45d5defa1789c5426e341b4081f20a48c /sysdeps/powerpc/powerpc64/power7 | |
parent | 006e766437033d6565133ce356b55d7b301a7b58 (diff) | |
download | glibc-179dcdb7af4983fd42824db748ee6cb05f8d71cf.tar.gz glibc-179dcdb7af4983fd42824db748ee6cb05f8d71cf.tar.xz glibc-179dcdb7af4983fd42824db748ee6cb05f8d71cf.zip |
[BZ #22142] powerpc: Fix the carry bit on mpn_[add|sub]_n on POWER7
Fix the ifdef clause that was being used in the opposite way, setting a wrong value of the carry bit. This is also correcting 2 memory accesses that were mistakenly referring to r0 while they were supposed to mean the immediate value 0. [BZ #22142] * stdio-common/tst-printf.c (fp_test): Add tests for DBL_MAX and -DBL_MAX. (do_test): Likewise. * stdio-common/tst-printf.sh: Likewise. * sysdeps/powerpc/powerpc64/power7/add_n.S: Invert the initial ifdef clause in order to set the carry bit right. Replace r0 by 0 without changing the behavior.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/power7')
-rw-r--r-- | sysdeps/powerpc/powerpc64/power7/add_n.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/powerpc/powerpc64/power7/add_n.S b/sysdeps/powerpc/powerpc64/power7/add_n.S index 02335c1848..88aec84e5a 100644 --- a/sysdeps/powerpc/powerpc64/power7/add_n.S +++ b/sysdeps/powerpc/powerpc64/power7/add_n.S @@ -38,17 +38,17 @@ ENTRY_TOCLESS (FUNC, 5) #ifdef USE_AS_SUB - addic r0, r0, 0 + addic r0, r1, -1 #else - addic r0, r1, -1 + addic r0, r0, 0 #endif andi. r7, N, 1 beq L(bx0) ld r7, 0(UP) - ld r9, r0(VP) + ld r9, 0(VP) ADDSUBC r11, r9, r7 - std r11, r0(RP) + std r11, 0(RP) cmpldi N, N, 1 beq N, L(end) addi UP, UP, 8 |