mirror of git://sourceware.org/git/glibc.git
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:
parent
b23964c620
commit
25bfbb9e0e
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue