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