[llvm-commits] [llvm-gcc-4.2] r50200 - /llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s
Dan Gohman
gohman at apple.com
Wed Apr 23 17:11:32 PDT 2008
Author: djg
Date: Wed Apr 23 19:11:32 2008
New Revision: 50200
URL: http://llvm.org/viewvc/llvm-project?rev=50200&view=rev
Log:
Fix the darwin snapshot_ret to keep %rsp 16-byte aligned. This is
pretty obscure, but it turns out that LLVM's -regalloc=local
occasionally finds a way to need xmm spills in some of these trivial
ABI testcases, and the code for that requires proper stack alignment.
This fixes a memory trap in gcc.target/x86_64/abi/test_struct_returning.c.
Modified:
llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s
Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s?rev=50200&r1=50199&r2=50200&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s Wed Apr 23 19:11:32 2008
@@ -41,6 +41,8 @@
.p2align 4,,15
.globl _snapshot_ret
_snapshot_ret:
+ pushq %rbp
+ movq %rsp, %rbp
movq %rdi, _rdi(%rip)
call *_callthis(%rip)
movq %rax, _rax(%rip)
@@ -51,6 +53,7 @@
fstpt _x87_regs+16(%rip)
fldt _x87_regs+16(%rip)
fldt _x87_regs(%rip)
+ leave
ret
.comm _callthis,8
More information about the llvm-commits
mailing list