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