diff options
Diffstat (limited to 'sys/i386/isa/bs')
-rw-r--r-- | sys/i386/isa/bs/bsif.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/i386/isa/bs/bsif.h b/sys/i386/isa/bs/bsif.h index 193e2f9..4311894 100644 --- a/sys/i386/isa/bs/bsif.h +++ b/sys/i386/isa/bs/bsif.h @@ -225,10 +225,13 @@ memcopy(from, to, len) void *from, *to; register size_t len; { - len >>= 2; - __asm __volatile("cld\n\trep\n\tmovsl" : : - "S" (from), "D" (to), "c" (len) : - "%esi", "%edi", "%ecx"); + __asm __volatile(" \n\ + cld \n\ + rep \n\ + movsl" : + "=D" (to), "=c" (len), "=S" (from) : + "0" (to), "1" (len), "2" (from) : + "memory", "cc"); } #endif /* __FreeBSD__ */ |