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> >> 9 #include <asm/export.h> 11 10 12 .text 11 .text 13 ENTRY(memcmp) 12 ENTRY(memcmp) 14 cmp %o2, 0 13 cmp %o2, 0 15 1: BRANCH32(be, pn, 2f) 14 1: BRANCH32(be, pn, 2f) 16 nop 15 nop 17 ldub [%o0], %g7 16 ldub [%o0], %g7 18 ldub [%o1], %g3 17 ldub [%o1], %g3 19 sub %o2, 1, %o2 18 sub %o2, 1, %o2 20 add %o0, 1, %o0 19 add %o0, 1, %o0 21 add %o1, 1, %o1 20 add %o1, 1, %o1 22 subcc %g7, %g3, %g3 21 subcc %g7, %g3, %g3 23 BRANCH32(be, pt, 1b) 22 BRANCH32(be, pt, 1b) 24 cmp %o2, 0 23 cmp %o2, 0 25 retl 24 retl 26 mov %g3, %o0 25 mov %g3, %o0 27 2: retl 26 2: retl 28 mov 0, %o0 27 mov 0, %o0 29 ENDPROC(memcmp) 28 ENDPROC(memcmp) 30 EXPORT_SYMBOL(memcmp) 29 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.