It seems to be the change to arm_regno_class relating to PC_REGNUM. I see
scal-to-vec1.c failing with just that, or that in combination with the changes
to cfgexpand.c+varasm.c.
And scal-to-vec1.c is OK on -fPIC if I apply the changes to cfgexpand.c,
varasm.c, and arm.c (arm_hard_regno_ok), i.e. all bar the change to arm_regno_class.
A change relating to the program counter affecting -fPIC does sound plausible, I
haven't looked any further than that...
--Alan
Joseph S. Myers wrote:
On Wed, 17 Sep 2014, Alan Lawrence wrote:
We've just noticed this patch causes an ICE in
gcc.c-torture/execute/scal-to-vec1.c at -O3 when running with -fPIC on
arm-none-linux-gnueabi and arm-none-linux-gnueabihf; test logs:
Which part causes the ICE? The arm_hard_regno_mode_ok change relating to
modes assigned to CC_REGNUM, the arm_regno_class change relating to
PC_REGNUM, or something else? Either of those would indicate something
very strange going on in LRA (maybe something else needs to change
somewhere as well to stop attempts to use CC_REGNUM or PC_REGNUM
inappropriately?).