From a611b37e29b5c3166d8bd1fd4293fd123bb13962 Mon Sep 17 00:00:00 2001 From: perry Date: Tue, 4 Aug 1998 03:35:59 +0000 Subject: [PATCH] add memcmp.S memmove.S --- sys/lib/libkern/arch/ns32k/Makefile.inc | 4 +-- sys/lib/libkern/arch/ns32k/memcmp.S | 39 +++++++++++++++++++++++++ sys/lib/libkern/arch/ns32k/memmove.S | 4 +++ 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 sys/lib/libkern/arch/ns32k/memcmp.S create mode 100644 sys/lib/libkern/arch/ns32k/memmove.S diff --git a/sys/lib/libkern/arch/ns32k/Makefile.inc b/sys/lib/libkern/arch/ns32k/Makefile.inc index fbd1661da1b4..b3f27c33a6dd 100644 --- a/sys/lib/libkern/arch/ns32k/Makefile.inc +++ b/sys/lib/libkern/arch/ns32k/Makefile.inc @@ -1,10 +1,10 @@ -# $NetBSD: Makefile.inc,v 1.16 1998/02/22 09:08:34 mycroft Exp $ +# $NetBSD: Makefile.inc,v 1.17 1998/08/04 03:35:59 perry Exp $ SRCS+= __main.c __assert.c \ imax.c imin.c lmax.c lmin.c max.c min.c ulmax.c ulmin.c \ bswap16.c bswap32.c bswap64.c \ bcmp.S bcopy.S bzero.S ffs.S \ - memchr.S memcpy.S memset.S \ + memchr.S memcmp.S memcpy.S memmove.S memset.S \ strcat.S strchr.S strcmp.S strcpy.S strlen.S strrchr.S strncasecmp.c strncmp.S strncpy.S \ scanc.c skpc.c \ htonl.S htons.S ntohl.S ntohs.S \ diff --git a/sys/lib/libkern/arch/ns32k/memcmp.S b/sys/lib/libkern/arch/ns32k/memcmp.S new file mode 100644 index 000000000000..5b462795bd2e --- /dev/null +++ b/sys/lib/libkern/arch/ns32k/memcmp.S @@ -0,0 +1,39 @@ +/* $NetBSD: memcmp.S,v 1.1 1998/08/04 03:35:59 perry Exp $ */ + +/* + * Written by Matthias Pfaller, 1996 + * Public domain. + */ + +#include + +#if defined(LIBC_SCCS) + RCSID("$NetBSD: memcmp.S,v 1.1 1998/08/04 03:35:59 perry Exp $") +#endif + +/* + * int + * memcmp (const void *b1, const void *b2, size_t len) + */ +KENTRY(memcmp, 12) + enter [],0 + movd B_ARG2,r0 + movd B_ARG0,r1 + movd B_ARG1,r2 + + lshd -2,r0 + cmpsd + movqd 4,r0 + bne 1f + movqd 3,r0 + andd B_ARG2,r0 +1: cmpsb + bne 3f +2: exit [] + ret ARGS + +3: movzbd 0(r1),r0 + movzbd 0(r2),r1 + subd r1,r0 + exit [] + ret ARGS diff --git a/sys/lib/libkern/arch/ns32k/memmove.S b/sys/lib/libkern/arch/ns32k/memmove.S new file mode 100644 index 000000000000..469f1ea25370 --- /dev/null +++ b/sys/lib/libkern/arch/ns32k/memmove.S @@ -0,0 +1,4 @@ +/* $NetBSD: memmove.S,v 1.1 1998/08/04 03:35:59 perry Exp $ */ + +#define MEMMOVE +#include "memcpy.S"