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 config/rs6000/rs6000.c:19850
>
> Is the test intended to work on PIC targets?
No, but see rs6000/darwin.h CC1_SPEC. "-static" makes you non-PIC.
I've just built a darwin cc1 to reproduce the problem. The ICE is on
START_USE (ptr_regno);
when setting up a reg to use for altivec saves. The reg clashes with
the static chain pointer (nb_all is a nested function), so this is a
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.
--
Alan Modra
Australia Development Lab, IBM