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

Reply via email to