sparc: prepare lib/ for unification
Identical named files renamed to <name>_32.S Refactored Makefile to prepare for unification. Linking order was altered slightly - but this is a lib.a file so it should not matter. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
5de18cde3b
commit
18269c0fd4
118
arch/sparc/lib/strncmp_32.S
Normal file
118
arch/sparc/lib/strncmp_32.S
Normal file
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* strncmp.S: Hand optimized Sparc assembly of GCC output from GNU libc
|
||||
* generic strncmp routine.
|
||||
*/
|
||||
|
||||
.text
|
||||
.align 4
|
||||
.global __strncmp, strncmp
|
||||
__strncmp:
|
||||
strncmp:
|
||||
mov %o0, %g3
|
||||
mov 0, %o3
|
||||
|
||||
cmp %o2, 3
|
||||
ble 7f
|
||||
mov 0, %g2
|
||||
|
||||
sra %o2, 2, %o4
|
||||
ldub [%g3], %o3
|
||||
|
||||
0:
|
||||
ldub [%o1], %g2
|
||||
add %g3, 1, %g3
|
||||
and %o3, 0xff, %o0
|
||||
|
||||
cmp %o0, 0
|
||||
be 8f
|
||||
add %o1, 1, %o1
|
||||
|
||||
cmp %o0, %g2
|
||||
be,a 1f
|
||||
ldub [%g3], %o3
|
||||
|
||||
retl
|
||||
sub %o0, %g2, %o0
|
||||
|
||||
1:
|
||||
ldub [%o1], %g2
|
||||
add %g3,1, %g3
|
||||
and %o3, 0xff, %o0
|
||||
|
||||
cmp %o0, 0
|
||||
be 8f
|
||||
add %o1, 1, %o1
|
||||
|
||||
cmp %o0, %g2
|
||||
be,a 1f
|
||||
ldub [%g3], %o3
|
||||
|
||||
retl
|
||||
sub %o0, %g2, %o0
|
||||
|
||||
1:
|
||||
ldub [%o1], %g2
|
||||
add %g3, 1, %g3
|
||||
and %o3, 0xff, %o0
|
||||
|
||||
cmp %o0, 0
|
||||
be 8f
|
||||
add %o1, 1, %o1
|
||||
|
||||
cmp %o0, %g2
|
||||
be,a 1f
|
||||
ldub [%g3], %o3
|
||||
|
||||
retl
|
||||
sub %o0, %g2, %o0
|
||||
|
||||
1:
|
||||
ldub [%o1], %g2
|
||||
add %g3, 1, %g3
|
||||
and %o3, 0xff, %o0
|
||||
|
||||
cmp %o0, 0
|
||||
be 8f
|
||||
add %o1, 1, %o1
|
||||
|
||||
cmp %o0, %g2
|
||||
be 1f
|
||||
add %o4, -1, %o4
|
||||
|
||||
retl
|
||||
sub %o0, %g2, %o0
|
||||
|
||||
1:
|
||||
|
||||
cmp %o4, 0
|
||||
bg,a 0b
|
||||
ldub [%g3], %o3
|
||||
|
||||
b 7f
|
||||
and %o2, 3, %o2
|
||||
|
||||
9:
|
||||
ldub [%o1], %g2
|
||||
add %g3, 1, %g3
|
||||
and %o3, 0xff, %o0
|
||||
|
||||
cmp %o0, 0
|
||||
be 8f
|
||||
add %o1, 1, %o1
|
||||
|
||||
cmp %o0, %g2
|
||||
be 7f
|
||||
add %o2, -1, %o2
|
||||
|
||||
8:
|
||||
retl
|
||||
sub %o0, %g2, %o0
|
||||
|
||||
7:
|
||||
cmp %o2, 0
|
||||
bg,a 9b
|
||||
ldub [%g3], %o3
|
||||
|
||||
and %g2, 0xff, %o0
|
||||
retl
|
||||
sub %o3, %o0, %o0
|
Reference in New Issue
Block a user