https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92510
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |segher at gcc dot gnu.org --- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> --- This is caused by r275959, the commit that added this assert. combine does Trying 14 -> 15: 14: r96:V1DI#0=flags:CCZ!=0 REG_DEAD flags:CCZ 15: {r99:DI=r100:DI|r96:V1DI#0;clobber flags:CC;} REG_DEAD r100:DI REG_UNUSED flags:CC REG_DEAD r96:V1DI Failed to match this instruction: (parallel [ (set (reg:DI 99 [ vect_sq_12.9 ]) (ior:DI (ne:DI (reg:CCZ 17 flags) (const_int 0 [0])) (reg:DI 100))) (clobber (reg:CC 17 flags)) ]) Failed to match this instruction: (set (reg:DI 99 [ vect_sq_12.9 ]) (ior:DI (ne:DI (reg:CCZ 17 flags) (const_int 0 [0])) (reg:DI 100))) and that is all perfectly okay (the subregs here are mode DI, one of the crucial things slim doesn't print).