Exchange t8 with t10.
authorUlrich Drepper <drepper@redhat.com>
Sun, 10 Dec 2000 22:27:31 +0000 (22:27 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 10 Dec 2000 22:27:31 +0000 (22:27 +0000)
sysdeps/alpha/alphaev6/stxcpy.S

index 0df2043..39d731d 100644 (file)
@@ -68,9 +68,9 @@ stxcpy_aligned:
        ornot   t1, t2, t2      # E : (stall)
 
        mskql   t0, a1, t0      # U : assemble the first output word
-       cmpbge  zero, t2, t   # E : bits set iff null found
+       cmpbge  zero, t2, t10   # E : bits set iff null found
        or      t0, t3, t1      # E : (stall)
-       bne     t8, $a_eos      # U : (stall)
+       bne     t10, $a_eos     # U : (stall)
 
        /* On entry to this basic block:
           t0 == the first destination word for masking back in
@@ -85,29 +85,29 @@ $a_loop:
 
        ldq_u   t1, 0(a1)       # L : Latency=3
        addq    a1, 8, a1       # E :
-       cmpbge  zero, t1, t   # E : (3 cycle stall)
-       beq     t8, $a_loop     # U : (stall for t8)
+       cmpbge  zero, t1, t10   # E : (3 cycle stall)
+       beq     t10, $a_loop    # U : (stall for t10)
 
        /* Take care of the final (partial) word store.
           On entry to this basic block we have:
           t1 == the source word containing the null
-          t8 == the cmpbge mask that found it.  */
+          t10 == the cmpbge mask that found it.  */
 $a_eos:
-       negq    t8, t6          # E : find low bit set
-       and     t8, t6, t10     # E : (stall)
+       negq    t10, t6         # E : find low bit set
+       and     t10, t6, t8     # E : (stall)
        /* For the sake of the cache, don't read a destination word
           if we're not going to need it.  */
-       and     t10, 0x80, t6   # E : (stall)
+       and     t8, 0x80, t6    # E : (stall)
        bne     t6, 1f          # U : (stall)
 
        /* We're doing a partial word store and so need to combine
           our source and original destination words.  */
        ldq_u   t0, 0(a0)       # L : Latency=3
-       subq    t10, 1, t6      # E :
+       subq    t8, 1, t6       # E :
        zapnot  t1, t6, t1      # U : clear src bytes >= null (stall)
-       or      t10, t6, t8     # E : (stall)
+       or      t8, t6, t10     # E : (stall)
 
-       zap     t0, t8, t0      # E : clear dst bytes <= null
+       zap     t0, t10, t0     # E : clear dst bytes <= null
        or      t0, t1, t1      # E : (stall)
        nop
        nop
@@ -170,14 +170,14 @@ $u_head:
        or      t0, t1, t1      # E : (stall on t1)
 
        or      t1, t6, t6      # E :
-       cmpbge  zero, t6, t   # E : (stall)
+       cmpbge  zero, t6, t10   # E : (stall)
        lda     t6, -1          # E : for masking just below
-       bne     t8, $u_final    # U : (stall)
+       bne     t10, $u_final   # U : (stall)
 
        mskql   t6, a1, t6              # U : mask out the bits we have
        or      t6, t2, t2              # E :   already extracted before (stall)
-       cmpbge  zero, t2, t           # E :   testing eos (stall)
-       bne     t8, $u_late_head_exit   # U : (stall)
+       cmpbge  zero, t2, t10           # E :   testing eos (stall)
+       bne     t10, $u_late_head_exit  # U : (stall)
 
        /* Finally, we've got all the stupid leading edge cases taken care
           of and we can set up to enter the main loop.  */
@@ -188,9 +188,9 @@ $u_head:
        ldq_u   t2, 8(a1)       # U : read next high-order source word
 
        addq    a1, 8, a1       # E :
-       cmpbge  zero, t2, t   # E : (stall for t2)
+       cmpbge  zero, t2, t10   # E : (stall for t2)
        nop                     # E :
-       bne     t8, $u_eos      # U : (stall)
+       bne     t10, $u_eos     # U : (stall)
 
        /* Unaligned copy main loop.  In order to avoid reading too much,
           the loop is structured to detect zeros in aligned source words.
@@ -217,8 +217,8 @@ $u_loop:
        stq_u   t1, -8(a0)      # L : save the current word (stall)
        mov     t3, t0          # E :
 
-       cmpbge  zero, t2, t   # E : test new word for eos
-       beq     t8, $u_loop     # U : (stall)
+       cmpbge  zero, t2, t10   # E : test new word for eos
+       beq     t10, $u_loop    # U : (stall)
        nop
        nop
 
@@ -233,31 +233,31 @@ $u_loop:
 $u_eos:
        extqh   t2, a1, t1      # U :
        or      t0, t1, t1      # E : first (partial) source word complete (stall)
-       cmpbge  zero, t1, t   # E : is the null in this first bit? (stall)
-       bne     t8, $u_final    # U : (stall)
+       cmpbge  zero, t1, t10   # E : is the null in this first bit? (stall)
+       bne     t10, $u_final   # U : (stall)
 
 $u_late_head_exit:
        stq_u   t1, 0(a0)       # L : the null was in the high-order bits
        addq    a0, 8, a0       # E :
        extql   t2, a1, t1      # U :
-       cmpbge  zero, t1, t   # E : (stall)
+       cmpbge  zero, t1, t10   # E : (stall)
 
        /* Take care of a final (probably partial) result word.
           On entry to this basic block:
           t1 == assembled source word
-          t8 == cmpbge mask that found the null.  */
+          t10 == cmpbge mask that found the null.  */
 $u_final:
-       negq    t8, t6          # E : isolate low bit set
-       and     t6, t8, t10     # E : (stall)
-       and     t10, 0x80, t6   # E : avoid dest word load if we can (stall)
+       negq    t10, t6         # E : isolate low bit set
+       and     t6, t10, t8     # E : (stall)
+       and     t8, 0x80, t6    # E : avoid dest word load if we can (stall)
        bne     t6, 1f          # U : (stall)
 
        ldq_u   t0, 0(a0)       # E :
-       subq    t10, 1, t6      # E :
-       or      t6, t10, t8     # E : (stall)
+       subq    t8, 1, t6       # E :
+       or      t6, t8, t10     # E : (stall)
        zapnot  t1, t6, t1      # U : kill source bytes >= null (stall)
 
-       zap     t0, t8, t0      # U : kill dest bytes <= null (2 cycle data stall)
+       zap     t0, t10, t0     # U : kill dest bytes <= null (2 cycle data stall)
        or      t0, t1, t1      # E : (stall)
        nop
        nop
@@ -291,14 +291,14 @@ $unaligned:
        subq    a1, t4, a1      # E : sub dest misalignment from src addr
        /* If source misalignment is larger than dest misalignment, we need
           extra startup checks to avoid SEGV.  */
-       cmplt   t4, t5, t10     # E :
-       beq     t10, $u_head    # U :
+       cmplt   t4, t5, t     # E :
+       beq     t8, $u_head     # U :
        lda     t2, -1          # E : mask out leading garbage in source
 
        mskqh   t2, t5, t2      # U :
        ornot   t1, t2, t3      # E : (stall)
-       cmpbge  zero, t3, t   # E : is there a zero? (stall)
-       beq     t8, $u_head     # U : (stall)
+       cmpbge  zero, t3, t10   # E : is there a zero? (stall)
+       beq     t10, $u_head    # U : (stall)
 
        /* At this point we've found a zero in the first partial word of
           the source.  We need to isolate the valid source data and mask
@@ -306,14 +306,14 @@ $unaligned:
           that we'll need at least one byte of that original dest word.) */
 
        ldq_u   t0, 0(a0)       # L :
-       negq    t8, t6          # E : build bitmask of bytes <= zero
-       and     t6, t8, t10     # E : (stall)
+       negq    t10, t6         # E : build bitmask of bytes <= zero
+       and     t6, t10, t8     # E : (stall)
        and     a1, 7, t5       # E :
 
-       subq    t10, 1, t6      # E :
-       or      t6, t10, t8     # E : (stall)
-       srl     t10, t5, t10    # U : adjust final null return value
-       zapnot  t2, t8, t2      # U : prepare source word; mirror changes (stall)
+       subq    t8, 1, t6       # E :
+       or      t6, t8, t10     # E : (stall)
+       srl     t8, t5, t8      # U : adjust final null return value
+       zapnot  t2, t10, t2     # U : prepare source word; mirror changes (stall)
 
        and     t1, t2, t1      # E : to source validity mask
        extql   t2, a1, t2      # U :