Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4973 right-hear 1
#include
2
#include
3
#include
4
 
5
void * memcpy(void * _dest, const void *_src, size_t _n)
6
{
7
int d0, d1, d2;
8
 __asm__ __volatile__(
9
        "jcxz 1f\n\t"
10
	"rep ; movsl\n\t"
11
	"1:\t"
12
	"testb $2,%b4\n\t"
13
	"je 1f\n\t"
14
	"movsw\n"
15
	"1:\ttestb $1,%b4\n\t"
16
	"je 2f\n\t"
17
	"movsb\n"
18
	"2:"
19
	: "=&c" (d0), "=&D" (d1), "=&S" (d2)
20
	:"0" (_n/4), "q" (_n),"1" ((long)_dest),"2" ((long)_src)
21
	: "memory");
22
 return (_dest);
23
}