--- strncpy.S.orig Tue Nov 19 10:22:01 2002 +++ strncpy.S Tue Nov 19 10:29:21 2002 @@ -63,6 +63,7 @@ mov saved_pr = pr // save the predicate registers .save ar.lc, saved_lc mov saved_lc = ar.lc // save the loop counter + mov ar.ec = 0 .body cmp.geu p6, p5 = 24, in2 (p6) br.cond.spnt .short_len @@ -221,7 +222,9 @@ ld8 r[MEMLAT] = [tmp] br.cond.sptk .back3 .recovery4: + cmp.eq p8,p9=0,len add tmp = -MEMLAT * 8, src ;; - ld8 r[MEMLAT - 1] = [tmp] +(p8) mov r[MEMLAT - 1] = r0 +(p9) ld8 r[MEMLAT - 1] = [tmp] br.cond.sptk .back4 END(strncpy)