https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99405
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #1) > Created attachment 50306 [details] > gcc11-pr99405.patch > > Untested fix. - (match_operand:SI 2 "register_operand" "c") + (match_operand:SI 2 "register_operand") The constraint is here on purpose, you are risking reload failures with compound instruction without it. IIRC from discussion with Segher, the combine pass shouldn't propagate hard registers around anymore, but it can still happen. So, if there is no compelling reason, I'd suggest to leave the constraint.