summaryrefslogtreecommitdiff
path: root/sys/lib
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>1998-06-24 18:02:19 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>1998-06-24 18:02:19 +0000
commitd2ca3afd28b6a51becc299e18f1759c478f6ae34 (patch)
tree6cc708df49385c0b9adf89122ef77d2513b70c93 /sys/lib
parentecc96ce1110214dced524be444f32efd9303ec3c (diff)
add bcmp()
Diffstat (limited to 'sys/lib')
-rw-r--r--sys/lib/libkern/arch/hppa/Makefile.inc4
-rw-r--r--sys/lib/libkern/arch/hppa/bcmp.S84
2 files changed, 86 insertions, 2 deletions
diff --git a/sys/lib/libkern/arch/hppa/Makefile.inc b/sys/lib/libkern/arch/hppa/Makefile.inc
index b5b92f769e5..c0644f8ece5 100644
--- a/sys/lib/libkern/arch/hppa/Makefile.inc
+++ b/sys/lib/libkern/arch/hppa/Makefile.inc
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile.inc,v 1.3 1998/06/24 14:42:40 mickey Exp $
+# $OpenBSD: Makefile.inc,v 1.4 1998/06/24 18:02:17 mickey Exp $
SRCS+= __main.c imax.c imin.c lmax.c lmin.c max.c min.c ulmax.c ulmin.c \
random.c ashrdi3.c divdi3.c strncpy.c
-SRCS+= milli.S bzero.S bcopy.S ffs.S
+SRCS+= milli.S bzero.S bcopy.S bcmp.S ffs.S
diff --git a/sys/lib/libkern/arch/hppa/bcmp.S b/sys/lib/libkern/arch/hppa/bcmp.S
new file mode 100644
index 00000000000..3f0b9f527ab
--- /dev/null
+++ b/sys/lib/libkern/arch/hppa/bcmp.S
@@ -0,0 +1,84 @@
+/* $OpenBSD: bcmp.S,v 1.1 1998/06/24 18:02:18 mickey Exp $ */
+
+/*
+ * Copyright 1996 1995 by Open Software Foundation, Inc.
+ * All Rights Reserved
+ *
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appears in all copies and
+ * that both the copyright notice and this permission notice appear in
+ * supporting documentation.
+ *
+ * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE.
+ *
+ * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
+ * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/*
+ * pmk1.1
+ */
+/*
+ * (c) Copyright 1988 HEWLETT-PACKARD COMPANY
+ *
+ * To anyone who acknowledges that this file is provided "AS IS"
+ * without any express or implied warranty:
+ * permission to use, copy, modify, and distribute this file
+ * for any purpose is hereby granted without fee, provided that
+ * the above copyright notice and this notice appears in all
+ * copies, and that the name of Hewlett-Packard Company not be
+ * used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Hewlett-Packard Company makes no representations about the
+ * suitability of this software for any purpose.
+ */
+
+/*
+ * Copyright (c) 1990,1991,1994 The University of Utah and
+ * the Computer Systems Laboratory (CSL). All rights reserved.
+ *
+ * THE UNIVERSITY OF UTAH AND CSL PROVIDE THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION, AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM ITS USE.
+ *
+ * CSL requests users of this software to return to csl-dist@cs.utah.edu any
+ * improvements that they make and grant CSL redistribution rights.
+ *
+ * Utah $Hdr: movc.s 1.26 94/12/14$
+ */
+
+#include <machine/asm.h>
+
+ .space $TEXT$
+
+ .code
+
+/*
+ * int
+ * bcmp(src, dst, count)
+ * vm_offset_t src;
+ * vm_offset_t dst;
+ * int count;
+ */
+ENTRY(bcmp)
+ comb,>= r0,arg2,$bcmp_exit
+ copy t1,t2
+
+$bcmp_loop
+ ldbs,ma 1(arg0),t1
+ ldbs,ma 1(arg1),t2
+ comb,<>,n t1,t2,$bcmp_exit
+ addib,<> -1,arg2,$bcmp_loop
+ nop
+
+$bcmp_exit
+ bv 0(r2)
+ sub t1,t2,ret0
+
+EXIT(bcmp)
+