diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 1998-06-24 18:02:19 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 1998-06-24 18:02:19 +0000 |
commit | d2ca3afd28b6a51becc299e18f1759c478f6ae34 (patch) | |
tree | 6cc708df49385c0b9adf89122ef77d2513b70c93 /sys/lib | |
parent | ecc96ce1110214dced524be444f32efd9303ec3c (diff) |
add bcmp()
Diffstat (limited to 'sys/lib')
-rw-r--r-- | sys/lib/libkern/arch/hppa/Makefile.inc | 4 | ||||
-rw-r--r-- | sys/lib/libkern/arch/hppa/bcmp.S | 84 |
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) + |