diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-09-09 08:04:57 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-09-09 08:04:57 +0000 |
commit | a1ce647f8871e64dfcf62eb31108b25ed08914cb (patch) | |
tree | 811714f7181a79f1bebc51c1e40770f9e0da0fc7 /sysdeps | |
parent | fc5f4a97487fffc7f5451d216f278d83a8259efe (diff) | |
download | glibc-a1ce647f8871e64dfcf62eb31108b25ed08914cb.zip glibc-a1ce647f8871e64dfcf62eb31108b25ed08914cb.tar.gz glibc-a1ce647f8871e64dfcf62eb31108b25ed08914cb.tar.bz2 |
Update.
* sysdeps/ia64/memchr.S: Add .pred.rel to avoid wrong assembler
warnings.
* sysdeps/ia64/memccpy.S: Likewise.
Patches by Jim Wilson <wilson@redhat.com>.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/ia64/memccpy.S | 13 | ||||
-rw-r--r-- | sysdeps/ia64/memchr.S | 1 |
2 files changed, 8 insertions, 6 deletions
diff --git a/sysdeps/ia64/memccpy.S b/sysdeps/ia64/memccpy.S index 3dd1339..589c9cc 100644 --- a/sysdeps/ia64/memccpy.S +++ b/sysdeps/ia64/memccpy.S @@ -25,9 +25,9 @@ in1: src in2: char in3: byte count - + This implementation assumes little endian mode (UM.be = 0). - + This implementation assumes that it is safe to do read ahead in the src block, without getting beyond its limit. */ @@ -83,10 +83,10 @@ ENTRY(memccpy) .l1: // copy -dest % 8 bytes ld1 value = [src], 1 // value = *src++ ;; - st1 [dest] = value, 1 // *dest++ = value + st1 [dest] = value, 1 // *dest++ = value cmp.eq p6, p0 = value, char (p6) br.cond.spnt .foundit - br.cloop.dptk .l1 + br.cloop.dptk .l1 .dest_aligned: and sh1 = 7, src // sh1 = src % 8 and tmp = -8, len // tmp = len & -OPSIZ @@ -105,7 +105,7 @@ ENTRY(memccpy) ld8 r[1] = [asrc], 8 // r[1] = w0 cmp.ne p6, p0 = r0, r0 ;; // clear p6 .align 32 -.l2: +.l2: (p[0]) ld8 r[0] = [asrc], 8 // r[0] = w1 (p[MEMLAT]) shr.u tmp1[0] = r[1 + MEMLAT], sh1 // tmp1 = w0 >> sh1 (p[MEMLAT]) shl tmp2[0] = r[0 + MEMLAT], sh2 // tmp2 = w1 << sh2 @@ -148,6 +148,7 @@ ENTRY(memccpy) mov ar.lc = saved_lc // restore the loop counter br.ret.sptk.many b0 .gotit: + .pred.rel "mutex" p6, p7 (p6) mov value = val[3] // if coming from l2 (p7) mov value = r[MEMLAT+2] // if coming from l3 mov ar.lc = pos0[1] ;; @@ -160,5 +161,5 @@ ENTRY(memccpy) mov ar.pfs = saved_pfs mov pr = saved_pr, -1 mov ar.lc = saved_lc - br.ret.sptk.many b0 + br.ret.sptk.many b0 END(memccpy) diff --git a/sysdeps/ia64/memchr.S b/sysdeps/ia64/memchr.S index e02945a..5ec9b21 100644 --- a/sysdeps/ia64/memchr.S +++ b/sysdeps/ia64/memchr.S @@ -114,6 +114,7 @@ ENTRY(__memchr) cmp.ne p6, p0 = r0, r0 // clear p6 (p7 was already 0 when we got here) mov ret0 = r0 ;; // return NULL .foundit: + .pred.rel "mutex" p6, p7 (p6) adds ret0 = -1, ret0 // if we got here from l1 or l3 (p7) add ret0 = addr[MEMLAT+2], poschr[1] // if we got here from l2 mov pr = saved_pr, -1 |