Hi!

On Wed, Nov 27, 2019 at 12:51:35AM +0100, Jakub Jelinek wrote:
> As mentioned in the PR, on the following testcase we ICE during combine.
> We have (subreg:V1DI (ne:DI (reg:CC flags) (const_int 0)) 0) and

A subreg of something that is not a reg (or mem, if your port still does
that) is invalid RTL.  Where this did come from?  Fix that instead?

> gen_lowpart_for_combine turns that into (ne:V1DI (reg:CC flags) (const_int 0))
> which looks wrong to me,

Why would that be wrong?

> transforming
> (subreg:V8QI (ne:DI (reg:CC flags) (const_int 0)) 0)
> into
> (ne:V8QI (reg:CC flags) (const_int 0))
> looks completely broken to me.

The original RTL is invalid already.

The patch should be harmless, but your bug is elsewhere?


Segher

Reply via email to