Re: PowerPC prologue and epilogue 6

2012-05-31 Thread Mike Stump
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-optio

Re: PowerPC prologue and epilogue 6

2012-05-31 Thread Dominique Dhumieres
> 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 powe

Re: PowerPC prologue and epilogue 6

2012-05-31 Thread Alan Modra
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 Dev

Re: PowerPC prologue and epilogue 6

2012-05-31 Thread Dominique Dhumieres
> 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: ld_classi

Re: PowerPC prologue and epilogue 6

2012-05-31 Thread Alan Modra
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/ * config/rs6000/

Re: PowerPC prologue and epilogue 6

2012-05-30 Thread Alan Modra
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. g

Re: PowerPC prologue and epilogue 6

2012-05-30 Thread Alan Modra
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, a

Re: PowerPC prologue and epilogue 6

2012-05-30 Thread Dominique Dhumieres
> 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 --- /

Re: PowerPC prologue and epilogue 6

2012-05-30 Thread Alan Modra
On Tue, May 29, 2012 at 09:26:37PM +0200, Dominique Dhumieres wrote: > gcc-dg-runtest [list $srcdir/$subdir/savres.c] $alti > > # All done. > +torture-finish > dg-finish > > is required to avoid the errors of the kind > > ERROR: tcl error sourcing > /home/gccbuild/gcc_trunk_anonsvn/gcc/gcc

Re: PowerPC prologue and epilogue 6

2012-05-29 Thread Dominique Dhumieres
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 gcc-

Re: PowerPC prologue and epilogue 6

2012-04-25 Thread David Edelsohn
On Wed, Apr 25, 2012 at 1:20 AM, Alan Modra 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? > >        * gcc.target

Re: PowerPC prologue and epilogue 6

2012-04-24 Thread Alan Modra
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

Re: PowerPC prologue and epilogue 6

2012-04-24 Thread David Edelsohn
On Sat, Apr 21, 2012 at 2:48 AM, Alan Modra 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 add yet anothe

Re: PowerPC prologue and epilogue 5

2012-04-24 Thread David Edelsohn
On Thu, Apr 19, 2012 at 11:36 AM, Alan Modra 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 chain. >> >>

Re: PowerPC prologue and epilogue 4

2012-04-24 Thread David Edelsohn
On Tue, Apr 17, 2012 at 11:13 AM, Alan Modra 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. >        (rs6000_emit_prol

Re: PowerPC prologue and epilogue 3

2012-04-22 Thread David Edelsohn
On Tue, Apr 17, 2012 at 11:13 AM, Alan Modra 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 using a stati

Re: PowerPC prologue and epilogue 2

2012-04-22 Thread David Edelsohn
On Tue, Apr 17, 2012 at 11:12 AM, Alan Modra 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 slots.  If r12 w

Re: PowerPC prologue and epilogue

2012-04-19 Thread David Edelsohn
On Tue, Apr 17, 2012 at 11:08 AM, Alan Modra 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 around. > > The p

Re: PowerPC prologue and epilogue 5

2012-04-19 Thread Alan Modra
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

Re: PowerPC prologue and epilogue 5

2012-04-19 Thread Alan Modra
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 i