memmove.S revision 1.1
11.1Sscole/*	$NetBSD: memmove.S,v 1.1 2016/08/05 15:06:02 scole Exp $	*/
21.1Sscole
31.1Sscole/*-
41.1Sscole * Copyright (c) 2000 Doug Rabson
51.1Sscole * All rights reserved.
61.1Sscole *
71.1Sscole * Redistribution and use in source and binary forms, with or without
81.1Sscole * modification, are permitted provided that the following conditions
91.1Sscole * are met:
101.1Sscole * 1. Redistributions of source code must retain the above copyright
111.1Sscole *    notice, this list of conditions and the following disclaimer.
121.1Sscole * 2. Redistributions in binary form must reproduce the above copyright
131.1Sscole *    notice, this list of conditions and the following disclaimer in the
141.1Sscole *    documentation and/or other materials provided with the distribution.
151.1Sscole *
161.1Sscole * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
171.1Sscole * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
181.1Sscole * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
191.1Sscole * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
201.1Sscole * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
211.1Sscole * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
221.1Sscole * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
231.1Sscole * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
241.1Sscole * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
251.1Sscole * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
261.1Sscole * SUCH DAMAGE.
271.1Sscole *
281.1Sscole * __FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/memmove.S 134743 2004-09-04 00:23:15Z marcel $");
291.1Sscole *
301.1Sscole */
311.1Sscole
321.1Sscole#include <machine/asm.h>
331.1Sscole
341.1Sscole/*
351.1Sscole * void *
361.1Sscole * memmove(void *dst, const void *src, size_t len);
371.1Sscole */
381.1SscoleENTRY(memmove,3)
391.1Sscole	mov	r8 = in0
401.1Sscole	mov	in0 = in1
411.1Sscole	;;
421.1Sscole	mov	in1 = r8
431.1Sscole	br.sptk.few bcopy
441.1SscoleEND(memmove)
45