summaryrefslogtreecommitdiff
path: root/lib/std/memops-impl+posixy-x64.s
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/memops-impl+posixy-x64.s')
-rw-r--r--lib/std/memops-impl+posixy-x64.s3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/std/memops-impl+posixy-x64.s b/lib/std/memops-impl+posixy-x64.s
index d43d0f5..c2a3d14 100644
--- a/lib/std/memops-impl+posixy-x64.s
+++ b/lib/std/memops-impl+posixy-x64.s
@@ -7,6 +7,7 @@ std.memfill : (dst : byte#, val : byte, len : std.size -> void)
_std$memblit:
std$memblit:
cmpq %rdi,%rsi
+ movq %rdx,%rcx
jz .done
jg .fwdcpy
movq %rsi,%rax
@@ -14,7 +15,6 @@ std$memblit:
cmpq %rax,%rcx
jg .revcpy
.fwdcpy:
- movq %rdx,%rcx
shrq $3,%rcx
rep movsq
movq %rdx,%rcx
@@ -23,7 +23,6 @@ std$memblit:
jmp .done
.revcpy:
std
- movq %rdx,%rcx
leaq -1(%rdx,%rsi),%rsi
leaq -1(%rdx,%rdi),%rdi
rep movsb