diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2009-02-05 23:10:21 +0300 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2009-02-05 23:10:21 +0300 |
commit | 18cbf1d39430c6980bac7eb956d02857e51217e8 (patch) | |
tree | d2d1fc9f9880c72be5785e5208596d6ccc778946 /newlib/libc/machine | |
parent | 11acb173d9ae169511d70c1adcca80a2d7afd697 (diff) |
2009-02-05 Neal H. Walfield <neal@gnu.org>
* libc/machine/x86_64/memcpy.S (memcpy): Don't use the red zone.
Diffstat (limited to 'newlib/libc/machine')
-rw-r--r-- | newlib/libc/machine/x86_64/memcpy.S | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/newlib/libc/machine/x86_64/memcpy.S b/newlib/libc/machine/x86_64/memcpy.S index 3178dfae2..81dd0c423 100644 --- a/newlib/libc/machine/x86_64/memcpy.S +++ b/newlib/libc/machine/x86_64/memcpy.S @@ -30,10 +30,10 @@ quadword_aligned: cmpq $256, rdx jb quadword_copy - movq rax, -8 (rsp) - movq r12, -16 (rsp) - movq r13, -24 (rsp) - movq r14, -32 (rsp) + pushq rax + pushq r12 + pushq r13 + pushq r14 movq rdx, rcx /* Copy 128 bytes at a time with minimum cache polution */ shrq $7, rcx @@ -89,10 +89,10 @@ loop: movq rdx, rcx andq $127, rcx rep movsb - movq -8 (rsp), rax - movq -16 (rsp), r12 - movq -24 (rsp), r13 - movq -32 (rsp), r14 + popq r14 + popq r13 + popq r12 + popq rax ret |