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?).



Reply via email to