[PATCH, rs6000] Fixing PR 67145
Segher Boessenkool
segher@kernel.crashing.org
Fri Feb 26 21:01:00 GMT 2016
On Fri, Feb 26, 2016 at 12:51:10PM -0800, Richard Henderson wrote:
> > What is the rs6000 ICE?
>
> The simplify-rtx.c patch causes (reg:M ca) to get sorted to a different spot in
> the (plus (plus r1 r2) r3) chain than the rs6000 backend expects, producing an
> ICE due to an unrecognizable insn.
So it changes existing RTL to a form that does not pass recog. Uh.
> How do you imagine the rs6000 change will regress codegen?
Combine of sequences with double-length adds.
> >> ca_operand doesn't work as written, since CA_REGNO is not an available
> >> register, and thus doesn't satisfy register_operand.
> >
> > Yes, curious. But when it was written it *did* match. Huh.
>
> It probably started to fail with r181760, back in 2011. But the predicate
> wasn't much used in the rs6000 backend, so I guess it hadn't really mattered.
It failed more recently though, that's what r215429 is about. Oh, before
that it did test just the code, didn't use register_operand. *facepalm*
Segher
More information about the Gcc-patches
mailing list