File:  [DVB] / dietlibc / sparc / memmove.S
Revision 1.1: download - view: text, annotated - select for diffs
Thu Sep 4 01:50:50 2003 UTC (20 years, 9 months ago) by leitner
Branches: MAIN
CVS tags: HEAD
add parisc and sparc assembly functions (Thomas Ogrisegg)

/*
    Copyright (C) 2003 Thomas M. Ogrisegg <tom@hi-tek.fnord.at>

    This is free software. You can redistribute and
    modify it under the terms of the GNU General Public
    Public License.

    memmove.S
      sparc assembler implementation of memmove(3)
*/

.text
.globl memmove
memmove:
	mov %o0, %o5
	mov -1, %o4
	cmp %o0, %o1
	bg,a .Lcopy
	add %o4, %o2, %o4
	inc %o4
.Lcopy:
	subcc %o2, 1, %o2
	bl .Lret
	cmp %o0, %o1
	ldub [%o1+%o4], %o3
	stb %o3, [%o0+%o4]
	bg,a .Lnext
	sub %o4, 2, %o4
.Lnext:
	b .Lcopy
	inc %o4
.Lret:
	retl
	mov %o5, %o0

LinuxTV legacy CVS <linuxtv.org/cvs>