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