Commit | Line | Data |
---|---|---|
18cdae68 DM |
1 | /* Sparc optimized memcmp code. |
2 | * | |
3 | * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) | |
4 | * Copyright (C) 2000, 2008 David S. Miller (davem@davemloft.net) | |
5 | */ | |
6 | ||
7 | #include <linux/linkage.h> | |
8 | #include <asm/asm.h> | |
9 | ||
10 | .text | |
11 | ENTRY(memcmp) | |
12 | cmp %o2, 0 | |
13 | 1: BRANCH32(be, pn, 2f) | |
14 | nop | |
15 | ldub [%o0], %g7 | |
16 | ldub [%o1], %g3 | |
17 | sub %o2, 1, %o2 | |
18 | add %o0, 1, %o0 | |
19 | add %o1, 1, %o1 | |
20 | subcc %g7, %g3, %g3 | |
21 | BRANCH32(be, pt, 1b) | |
22 | cmp %o2, 0 | |
23 | retl | |
24 | mov %g3, %o0 | |
25 | 2: retl | |
26 | mov 0, %o0 | |
27 | ENDPROC(memcmp) |