re PR target/25127 (internal compiler error: in rs6000_emit_prologue, at config/rs600...
authorGeoffrey Keating <geoffk@gcc.gnu.org>
Thu, 25 Jan 2007 20:32:06 +0000 (20:32 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Thu, 25 Jan 2007 20:32:06 +0000 (20:32 +0000)
commit22fa69dace0a41ac78a0fd7a1db1f00e5fc8c3b1
treecb26f2ab10edf9f4cf3062333af82e514672624b
parent9fe944471ab5828c0e4564780a57173a70cc4506
re PR target/25127 (internal compiler error: in rs6000_emit_prologue, at config/rs6000/rs6000.c:14039)

2007-01-24  Geoffrey Keating  <geoffk@apple.com>

PR 25127
* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
save Altivec registers in an eh_return function.
(compute_vrsave_mask): Likewise.
(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
for saving Altivec registers.
(rs6000_emit_prologue): Don't allocate stack twice in
eh_return function.  Correct expected value of altivec_save_offset
when using save_world.  Describe save of R0 to stack when using
save_world.  Describe stack pointer adjustment when using
save_world.  Remove duplicated eh_return parameter register saving.
Update sp_offset variable after save_world.
* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
darwin-world.asm.
(LIB2FUNCS_EXTRA): Add darwin-world.asm.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
implies Altivec.

Index: gcc/testsuite/ChangeLog
2007-01-24  Geoffrey Keating  <geoffk@apple.com>

* gcc.target/powerpc/darwin-ehreturn-1.c: New.
* g++.dg/eh/simd-2.C: Also run on Darwin.
* g++.dg/eh/simd-3.C: New.
* g++.dg/eh/simd-4.C: New.

From-SVN: r121184
gcc/ChangeLog
gcc/config/rs6000/darwin.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/t-darwin
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/eh/simd-2.C
gcc/testsuite/g++.dg/eh/simd-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/eh/simd-4.C [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/darwin-ehreturn-1.c [new file with mode: 0644]