123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * memcmp for PowerPC32
- *
- * Copyright (C) 1996 Paul Mackerras.
- *
- */
- #include <asm/ppc_asm.h>
- #include <asm/export.h>
- .text
- _GLOBAL(memcmp)
- srawi. r7, r5, 2 /* Divide len by 4 */
- mr r6, r3
- beq- 3f
- mtctr r7
- li r7, 0
- 1: lwzx r3, r6, r7
- lwzx r0, r4, r7
- addi r7, r7, 4
- cmplw cr0, r3, r0
- bdnzt eq, 1b
- bne 5f
- 3: andi. r3, r5, 3
- beqlr
- cmplwi cr1, r3, 2
- blt- cr1, 4f
- lhzx r3, r6, r7
- lhzx r0, r4, r7
- addi r7, r7, 2
- subf. r3, r0, r3
- beqlr cr1
- bnelr
- 4: lbzx r3, r6, r7
- lbzx r0, r4, r7
- subf. r3, r0, r3
- blr
- 5: li r3, 1
- bgtlr
- li r3, -1
- blr
- EXPORT_SYMBOL(memcmp)
|