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