https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93974

--- Comment #22 from Peter Bergner <bergner at gcc dot gnu.org> ---
To be more specific, I have implemented the hook cannot_substitute_mem_equiv_p
for rs6000 that rejects these and: altivec addresses.  The nice thing about the
patch is that it only affects rs6000, whereas a lra-constraints.c or rtlanal.c
change could affect everyone.

I have confirmed that the test case in Comment #1 compiles and we get the same
asm generated as a compiler built with the revision before my patch that caused
the ICE.  I also confirmed that test case pr93658.c which used to go into an
infinite loop in LRA before my previous patch still compiles fine.

I'm running the testsuite now to see whether there are any regressions.

Whether this is the best long term fix is unknown right now (it could be), but
it might be the best thing for GCC 10 with the release so close.  I'd rather
not revert the fix for PR93658 just to hide this bug again.

Reply via email to