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

Reply via email to