OSDN Git Service

2009-02-05 Neal H. Walfield <neal@gnu.org>
authorjjohnstn <jjohnstn>
Thu, 5 Feb 2009 20:10:21 +0000 (20:10 +0000)
committerjjohnstn <jjohnstn>
Thu, 5 Feb 2009 20:10:21 +0000 (20:10 +0000)
        * libc/machine/x86_64/memcpy.S (memcpy): Don't use the red zone.

newlib/ChangeLog
newlib/libc/machine/x86_64/memcpy.S

index 965f986..d1199f7 100644 (file)
@@ -1,3 +1,7 @@
+2009-02-05  Neal H. Walfield  <neal@gnu.org>
+
+       * libc/machine/x86_64/memcpy.S (memcpy): Don't use the red zone.
+
 2009-01-28  Jeff Johnston  <jjohnstn@redhat.com>
 
        * libc/stdio/vfscanf.c (__SVFSCANF_R): Add additional check for
index 3178dfa..81dd0c4 100644 (file)
@@ -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