Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 212531
Collapse All | Expand All

(-)./klibc-1.5.11/usr/klibc/memmove.c (-12 / +12 lines)
Lines 8-24 Link Here
8
{
8
{
9
	const char *p = src;
9
	const char *p = src;
10
	char *q = dst;
10
	char *q = dst;
11
#if defined(__i386__) || defined(__x86_64__)
11
//#if defined(__i386__) || defined(__x86_64__)
12
	if (q < p) {
12
//	if (q < p) {
13
		asm volatile("cld ; rep ; movsb"
13
//		asm volatile("cld ; rep ; movsb"
14
			     : "+c" (n), "+S"(p), "+D"(q));
14
//			     : "+c" (n), "+S"(p), "+D"(q));
15
	} else {
15
//	} else {
16
		p += (n - 1);
16
//		p += (n - 1);
17
		q += (n - 1);
17
//		q += (n - 1);
18
		asm volatile("std ; rep ; movsb"
18
//		asm volatile("std ; rep ; movsb"
19
			     : "+c" (n), "+S"(p), "+D"(q));
19
//			     : "+c" (n), "+S"(p), "+D"(q));
20
	}
20
//	}
21
#else
21
//#else
22
	if (q < p) {
22
	if (q < p) {
23
		while (n--) {
23
		while (n--) {
24
			*q++ = *p++;
24
			*q++ = *p++;
Lines 30-36 Link Here
30
			*--q = *--p;
30
			*--q = *--p;
31
		}
31
		}
32
	}
32
	}
33
#endif
33
//#endif
34
34
35
	return dst;
35
	return dst;
36
}
36
}

Return to bug 212531