https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92140
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 47067 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47067&action=edit gcc10-pr92140.patch So what about this version then? I've changed back a couple of <general_operand> to nonimmediate_operand and removed corresponding force_reg, because it would be in spots where the there is already one possible immediate which would be in operands[2] rather than operands[1], changed the eq/ne_0_operator to the define_special_predicate you've suggested and added testcase coverage. I'm not sure trying to do something here in peephole2 would catch as many cases as the combiner patterns can handle.