From 18cbf1d39430c6980bac7eb956d02857e51217e8 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Thu, 5 Feb 2009 20:10:21 +0000 Subject: 2009-02-05 Neal H. Walfield * libc/machine/x86_64/memcpy.S (memcpy): Don't use the red zone. --- newlib/libc/machine/x86_64/memcpy.S | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'newlib/libc/machine/x86_64') 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 -- cgit v1.2.3