Fix incorrect use of cmpldi in 32-bit PPC code.

The 32-bit PowerPC POWER6 memcpy uses the cmpldi insn when it should use a cmplwi.
BZ #10107
This commit is contained in:
Ryan S. Arnold 2009-06-16 08:29:04 -07:00 committed by Ulrich Drepper
parent b23964c620
commit 25bfbb9e0e
3 changed files with 38 additions and 31 deletions

View File

@ -1,3 +1,10 @@
2009-04-22 Ryan S. Arnold <rsa@us.ibm.com>
[BZ #10107]
* sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Replace cmpldi
with cmplwi.
* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
2009-06-16 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/grantpt.c: Remove file after folding changes

View File

@ -1,5 +1,5 @@
/* Optimized memcpy implementation for PowerPC32 on POWER6.
Copyright (C) 2003, 2006 Free Software Foundation, Inc.
Copyright (C) 2003, 2006, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -208,7 +208,7 @@ L(word_unaligned_short):
andi. 0,8,3
beq cr6,L(wus_8) /* Handle moves of 8 bytes. */
/* At least 9 bytes left. Get the source word aligned. */
cmpldi cr1,5,16
cmplwi cr1,5,16
mr 12,4
ble cr6,L(wus_4) /* Handle moves of 0-8 bytes. */
mr 11,3

View File

@ -1,5 +1,5 @@
/* Optimized 32-bit memset implementation for POWER6.
Copyright (C) 1997,99, 2000,02,03,06,2007 Free Software Foundation, Inc.
Copyright (C) 1997,99,2000,02,03,06,2007,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -381,7 +381,7 @@ L(cacheAligned):
blt cr1,L(cacheAligned1)
li rMEMP2,128
L(cacheAlignedx):
cmpldi cr5,rLEN,640
cmplwi cr5,rLEN,640
blt cr6,L(cacheAligned128)
bgt cr5,L(cacheAligned512)
cmplwi cr6,rLEN,512