about summary refs log tree commit diff
diff options
context:
space:
mode:
-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 ce1143c8fb..b72227c923 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 1250edec70..2a2e7e9a4a 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 ;;