aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-12-07 05:22:24 +0000
committerUlrich Drepper <drepper@redhat.com>2000-12-07 05:22:24 +0000
commit4e9b4067d74d2d943de6918f39c15eb8f8f11b22 (patch)
tree724621c96ca21371362670613409c587e84c5dd2
parente3690263f524e4a8a0178612f12799389469ff8f (diff)
downloadglibc-4e9b4067d74d2d943de6918f39c15eb8f8f11b22.zip
glibc-4e9b4067d74d2d943de6918f39c15eb8f8f11b22.tar.gz
glibc-4e9b4067d74d2d943de6918f39c15eb8f8f11b22.tar.bz2
Update.
2000-12-07 Dan Pop <Dan.Pop@cern.ch> * sysdeps/ia64/strcpy.S: Fix a bug in a recovery code sequence.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/ia64/strcpy.S14
2 files changed, 11 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index ce1143c..b72227c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2000-12-07 Dan Pop <Dan.Pop@cern.ch>
+
+ * sysdeps/ia64/strcpy.S: Fix a bug in a recovery code sequence.
+
2000-12-06 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc]
diff --git a/sysdeps/ia64/strcpy.S b/sysdeps/ia64/strcpy.S
index 1250ede..2a2e7e9 100644
--- a/sysdeps/ia64/strcpy.S
+++ b/sysdeps/ia64/strcpy.S
@@ -73,10 +73,10 @@ ENTRY(strcpy)
.l1: // copy -dest % 8 bytes
ld1 c = [src], 1 // c = *src++
;;
- st1 [dest] = c, 1 // *dest++ = c
+ st1 [dest] = c, 1 // *dest++ = c
cmp.eq p6, p0 = c, r0
(p6) br.cond.dpnt .restore_and_exit
- br.cloop.dptk .l1 ;;
+ br.cloop.dptk .l1 ;;
.dest_aligned:
and sh1 = 7, src // sh1 = src % 8
mov ar.lc = -1 // "infinite" loop
@@ -89,10 +89,10 @@ ENTRY(strcpy)
cmp.eq p6, p0 = sh1, r0 // is the src aligned?
(p6) br.cond.sptk .src_aligned ;;
ld8 r[1] = [asrc],8 ;;
-
+
.align 32
-.l2:
- ld8.s r[0] = [asrc], 8
+.l2:
+ ld8.s r[0] = [asrc], 8
shr.u value = r[1], sh1 ;; // value = w0 >> sh1
czx1.r pos = value ;; // do we have an "early" zero
cmp.lt p7, p0 = pos, thresh // in w0 >> sh1?
@@ -112,7 +112,7 @@ ENTRY(strcpy)
(p[0]) ld8.s r[0] = [src], 8
(p[MEMLAT]) chk.s r[MEMLAT], .recovery3
.back3:
-(p[MEMLAT]) mov value = r[MEMLAT]
+(p[MEMLAT]) mov value = r[MEMLAT]
(p[MEMLAT]) czx1.r pos = r[MEMLAT] ;;
(p[MEMLAT]) cmp.ne p7, p0 = 8, pos
(p7) br.cond.dpnt .found0
@@ -133,7 +133,7 @@ ENTRY(strcpy)
br.ret.sptk.many b0
.recovery2:
add tmp = -8, asrc ;;
- ld8 r[MEMLAT] = [tmp]
+ ld8 r[0] = [tmp]
br.cond.sptk .back2
.recovery3:
add tmp = -(MEMLAT + 1) * 8, src ;;