diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-06-18 04:29:42 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-06-18 04:29:42 +0000 |
commit | 7c3164bc6650ceeecd67841dfb8fcf399d12a93f (patch) | |
tree | 23a7016e21d2848ec2d3fdfa1b8dc1abcf3e85d4 /sysdeps/powerpc | |
parent | 72e615009bfde798692487d04ae548d15eb423ba (diff) | |
download | glibc-7c3164bc6650ceeecd67841dfb8fcf399d12a93f.zip glibc-7c3164bc6650ceeecd67841dfb8fcf399d12a93f.tar.gz glibc-7c3164bc6650ceeecd67841dfb8fcf399d12a93f.tar.bz2 |
Update.
2004-06-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread_cond_timedwait.c
(__pthread_cond_timedwait): Also check for negativ nanoseconds.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Check for invalid nanosecond in
timeout value.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* tst-cond19.c: New file.
* Makefile: Add rules to build and run tst-cond19.
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r-- | sysdeps/powerpc/powerpc64/memcpy.S | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sysdeps/powerpc/powerpc64/memcpy.S b/sysdeps/powerpc/powerpc64/memcpy.S index c6d7645..f3448e0 100644 --- a/sysdeps/powerpc/powerpc64/memcpy.S +++ b/sysdeps/powerpc/powerpc64/memcpy.S @@ -79,6 +79,8 @@ EALIGN (BP_SYM (memcpy), 5, 0) rldicl. 0,12,0,61 cmpldi cr6,31,7 ble- cr6,.L2 /* less than 8 bytes left. */ + srdi 11,31,3 + andi. 10,12,7 bne- 0,.L6 /* Source is not DW aligned. */ srdi. 9,31,3 mr 10,3 @@ -164,19 +166,17 @@ EALIGN (BP_SYM (memcpy), 5, 0) ld 30,-16(1) blr + .align 4 .L6: - srdi 11,31,3 - mr 4,3 - mr 5,12 /* Copy doublewords where the destination is aligned but the source is not. Use aligned doubleword loads from the source, shifted to realign the data, to allow aligned destination stores. */ - andi. 10,5,7 + subf 5,10,12 andi. 0,11,1 - subf 5,10,5 - ld 6,0(5) sldi 10,10,3 + mr 4,3 + ld 6,0(5) ld 7,8(5) subfic 9,10,64 beq 2f |