diff options
Diffstat (limited to 'ANDROID_3.4.5/arch/alpha/lib/strcat.S')
-rw-r--r-- | ANDROID_3.4.5/arch/alpha/lib/strcat.S | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/ANDROID_3.4.5/arch/alpha/lib/strcat.S b/ANDROID_3.4.5/arch/alpha/lib/strcat.S deleted file mode 100644 index 393f5038..00000000 --- a/ANDROID_3.4.5/arch/alpha/lib/strcat.S +++ /dev/null @@ -1,52 +0,0 @@ -/* - * arch/alpha/lib/strcat.S - * Contributed by Richard Henderson (rth@tamu.edu) - * - * Append a null-terminated string from SRC to DST. - */ - - .text - - .align 3 - .globl strcat - .ent strcat -strcat: - .frame $30, 0, $26 - .prologue 0 - - mov $16, $0 # set up return value - - /* Find the end of the string. */ - - ldq_u $1, 0($16) # load first quadword (a0 may be misaligned) - lda $2, -1 - insqh $2, $16, $2 - andnot $16, 7, $16 - or $2, $1, $1 - cmpbge $31, $1, $2 # bits set iff byte == 0 - bne $2, $found - -$loop: ldq $1, 8($16) - addq $16, 8, $16 - cmpbge $31, $1, $2 - beq $2, $loop - -$found: negq $2, $3 # clear all but least set bit - and $2, $3, $2 - - and $2, 0xf0, $3 # binary search for that set bit - and $2, 0xcc, $4 - and $2, 0xaa, $5 - cmovne $3, 4, $3 - cmovne $4, 2, $4 - cmovne $5, 1, $5 - addq $3, $4, $3 - addq $16, $5, $16 - addq $16, $3, $16 - - /* Now do the append. */ - - mov $26, $23 - br __stxcpy - - .end strcat |