https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #383 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- (In reply to Oleg Endo from comment #382) > Instead of ... > > && REG_P (operands[1]) && REGNO (operands[1]) == R0_REG" > > ... could we also write it as... > > (define_predicate "hard_reg_r0" > (and (match_code "reg") > (match_test "REGNO (op) == R0_REG"))) > > (match_operand:SI 1 "hard_reg_r0" "z"))) > > ... if you have a chance, can you please try? Test cases for c#214 and c#331, which were the targets of these patterns, compiled successfully with the above changes.