mirror of
https://github.com/mirror/tinycc.git
synced 2025-02-14 07:10:07 +08:00
Fix memcpy1/memcpy2 asm testcode on x86_64
This commit is contained in:
parent
027b8fb9b8
commit
6c0e0b998b
@ -3209,7 +3209,7 @@ return dest;
|
|||||||
|
|
||||||
static inline void * memcpy1(void * to, const void * from, size_t n)
|
static inline void * memcpy1(void * to, const void * from, size_t n)
|
||||||
{
|
{
|
||||||
long d0, d1, d2;
|
size_t d0, d1, d2;
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__(
|
||||||
"rep ; movsl\n\t"
|
"rep ; movsl\n\t"
|
||||||
"testb $2,%b4\n\t"
|
"testb $2,%b4\n\t"
|
||||||
@ -3220,14 +3220,14 @@ __asm__ __volatile__(
|
|||||||
"movsb\n"
|
"movsb\n"
|
||||||
"2:"
|
"2:"
|
||||||
: "=&c" (d0), "=&D" (d1), "=&S" (d2)
|
: "=&c" (d0), "=&D" (d1), "=&S" (d2)
|
||||||
:"0" (n/4), "q" (n),"1" ((long) to),"2" ((long) from)
|
:"0" (n/4), "q" (n),"1" ((size_t) to),"2" ((size_t) from)
|
||||||
: "memory");
|
: "memory");
|
||||||
return (to);
|
return (to);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void * memcpy2(void * to, const void * from, size_t n)
|
static inline void * memcpy2(void * to, const void * from, size_t n)
|
||||||
{
|
{
|
||||||
long d0, d1, d2;
|
size_t d0, d1, d2;
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__(
|
||||||
"rep movsl\n\t" /* one-line rep prefix + string op */
|
"rep movsl\n\t" /* one-line rep prefix + string op */
|
||||||
"testb $2,%b4\n\t"
|
"testb $2,%b4\n\t"
|
||||||
@ -3238,7 +3238,7 @@ __asm__ __volatile__(
|
|||||||
"movsb\n"
|
"movsb\n"
|
||||||
"2:"
|
"2:"
|
||||||
: "=&c" (d0), "=&D" (d1), "=&S" (d2)
|
: "=&c" (d0), "=&D" (d1), "=&S" (d2)
|
||||||
:"0" (n/4), "q" (n),"1" ((long) to),"2" ((long) from)
|
:"0" (n/4), "q" (n),"1" ((size_t) to),"2" ((size_t) from)
|
||||||
: "memory");
|
: "memory");
|
||||||
return (to);
|
return (to);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user