On Thu, May 31, 2012 at 10:41:26AM +0930, Alan Modra wrote:
Looks like it is one I introduced. gcc-4.6 uses r12 to save altivec
regs, my new code tries to use r11. Will fix.
Please try out this patch on Darwin. Bootstrapped and regression
tested powerpc-linux.
gcc/
*
Please try out this patch on Darwin. Bootstrapped and regression
tested powerpc-linux.
I have applied the patch to r188026 and updated the build.
As patched the test gcc.target/powerpc/savres.c now fails with
FAIL: gcc.target/powerpc/savres.c (test for excess errors)
Excess errors:
On Thu, May 31, 2012 at 02:16:32PM +0200, Dominique Dhumieres wrote:
(the final patch will require the suitable dg directives;-).
This is really stretching my testsuite knowledge. Maybe add
/* { dg-additional-options -mdynamic-no-pic { target *-*-darwin* } } */
--
Alan Modra
Australia
This is really stretching my testsuite knowledge. Maybe add
/* { dg-additional-options -mdynamic-no-pic { target *-*-darwin* } } */
Using
/* { dg-options -fno-inline -fomit-frame-pointer } */
/* { dg-additional-options -mdynamic-no-pic { target *-*-darwin* } } */
works for me on
On May 31, 2012, at 6:42 AM, Dominique Dhumieres wrote:
This is really stretching my testsuite knowledge. Maybe add
/* { dg-additional-options -mdynamic-no-pic { target *-*-darwin* } } */
Using
/* { dg-options -fno-inline -fomit-frame-pointer } */
/* { dg-additional-options
Yes indeed, and it would be wise to ensure torture-options.exp is
loaded too. I'm committing the following as obvious.
Thanks
Hmm, this will be because darwin is PIC by default. Does adding
-static to the dg-options line in savres.c fix the darwin fail?
With the following change
---
On Wed, May 30, 2012 at 03:21:28PM +0200, Dominique Dhumieres wrote:
I get an ICE of the form
/opt/gcc/work/gcc/testsuite/gcc.target/powerpc/savres.c: In function 'nb_all':
/opt/gcc/work/gcc/testsuite/gcc.target/powerpc/savres.c:473:3: internal
compiler error: in rs6000_emit_prologue, at
On Thu, May 31, 2012 at 09:43:09AM +0930, Alan Modra wrote:
real bug that the register checks have uncovered. I haven't
determined whether this is a new bug introduced with my prologue
changes, or whether it's a long-standing bug. I suspect the latter.
Looks like it is one I introduced.
Alan,
I think the following patch
--- ../_gcc_clean/gcc/testsuite/gcc.target/powerpc/powerpc.exp 2012-05-02
14:25:40.0 +0200
+++ ../work/gcc/testsuite/gcc.target/powerpc/powerpc.exp2012-05-29
21:14:48.0 +0200
@@ -47,4 +47,5 @@ set-torture-options $SAVRES_TEST_OPTS
On Wed, Apr 25, 2012 at 1:20 AM, Alan Modra amo...@gmail.com wrote:
This patch adds a testcase to verify register saves and restores.
I tried to write it so that it will run on all powerpc targets. From
past experience it probably won't. OK to apply anyway, and fix
fallout later?
*
On Tue, Apr 17, 2012 at 11:13 AM, Alan Modra amo...@gmail.com wrote:
This provides some protection against misuse of r0, r11 and r12. I
found it useful when enabling out-of-line saves for large frames. ;-)
* config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
On Thu, Apr 19, 2012 at 11:36 AM, Alan Modra amo...@gmail.com wrote:
On Thu, Apr 19, 2012 at 08:00:15PM +0930, Alan Modra wrote:
On Wed, Apr 18, 2012 at 12:45:16AM +0930, Alan Modra wrote:
This enables out-of-line save and restore for large frames, and for
ABI_AIX when using the static
On Sat, Apr 21, 2012 at 2:48 AM, Alan Modra amo...@gmail.com wrote:
This patch adds out-of-line vector saves and restores. To do this I
made some infrastructure changes to various functions like
rs6000_emit_savres_rtx that currently take boolean parameters (savep,
gpr, and lr). Rather than
On Tue, Apr 24, 2012 at 07:19:42PM -0400, David Edelsohn wrote:
This patch is okay with the macro usage fix.
Thanks, series 2 to 6 committed as 186796, 186797, 186798, 186799,
186800. I noticed after I committed the lot that 186797 has some
duplicated lines (harmless), corrected in 186798, and
On Tue, Apr 17, 2012 at 11:12 AM, Alan Modra amo...@gmail.com wrote:
This fixes a lot of confusion in rs6000_frame_related call arguments.
At the time rs6000_frame_related first appeared, the prologue only
used sp_reg_rtx (r1) or frame_ptr_rtx (r12) as frame_reg_rtx to access
register save
On Tue, Apr 17, 2012 at 11:13 AM, Alan Modra amo...@gmail.com wrote:
This continues the prologue and epilogue cleanup. Not many user
visible changes here, except for:
- a bugfix to the LR save RTL emitted by rs6000_emit_savres_rtx which
may affect SPE,
- a bugfix for SPE code emitted when
This patch adds out-of-line vector saves and restores. To do this I
made some infrastructure changes to various functions like
rs6000_emit_savres_rtx that currently take boolean parameters (savep,
gpr, and lr). Rather than add yet another boolean to specify vector
regs, I chose to lump them all
On Wed, Apr 18, 2012 at 12:45:16AM +0930, Alan Modra wrote:
This enables out-of-line save and restore for large frames, and for
ABI_AIX when using the static chain.
Further testing revealed two problems when compiling nested
functions.
1) The logic I had for cr_save_regno is wrong, resulting in
On Thu, Apr 19, 2012 at 08:00:15PM +0930, Alan Modra wrote:
On Wed, Apr 18, 2012 at 12:45:16AM +0930, Alan Modra wrote:
This enables out-of-line save and restore for large frames, and for
ABI_AIX when using the static chain.
Further testing revealed two problems when compiling nested
On Tue, Apr 17, 2012 at 11:08 AM, Alan Modra amo...@gmail.com wrote:
This is the first in a series of patches cleaning up rs6000 prologue
and epilogue generating code. This one is just the formatting/style
changes plus renaming two variables to better reflect their usage,
and moving code
This is the first in a series of patches cleaning up rs6000 prologue
and epilogue generating code. This one is just the formatting/style
changes plus renaming two variables to better reflect their usage,
and moving code around.
The patch series has been bootstrapped and regression tested
This fixes a lot of confusion in rs6000_frame_related call arguments.
At the time rs6000_frame_related first appeared, the prologue only
used sp_reg_rtx (r1) or frame_ptr_rtx (r12) as frame_reg_rtx to access
register save slots. If r12 was used, it was necessary to add a note
that gave the
This continues the prologue and epilogue cleanup. Not many user
visible changes here, except for:
- a bugfix to the LR save RTL emitted by rs6000_emit_savres_rtx which
may affect SPE,
- a bugfix for SPE code emitted when using a static chain,
- vector saves will be done using r1 for large
This provides some protection against misuse of r0, r11 and r12. I
found it useful when enabling out-of-line saves for large frames. ;-)
* config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
(rs6000_emit_prologue): Use the above to catch register overlap.
diff -urp
This enables out-of-line save and restore for large frames, and for
ABI_AIX when using the static chain.
* config/rs6000/rs6000.c (rs6000_savres_strategy): Allow
out-of-line save/restore for large frames. Don't disable
out-of-line saves on ABI_AIX when using static chain
25 matches
Mail list logo