memcpy.S revision 1.1
11.1Sscole/*	$NetBSD: memcpy.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/memcpy.S 134739 2004-09-04 00:04:58Z marcel $");
291.1Sscole */
301.1Sscole
311.1Sscole#include <machine/asm.h>
321.1Sscole
331.1Sscole/*
341.1Sscole * void *
351.1Sscole * memcpy(void * restrict dst, const void * restrict src, size_t len);
361.1Sscole */
371.1SscoleENTRY(memcpy,3)
381.1Sscole	mov	r8 = in0
391.1Sscole	mov	in0 = in1
401.1Sscole	;;
411.1Sscole	mov	in1 = r8
421.1Sscole	br.sptk.few bcopy
431.1SscoleEND(memcpy)
44