This patch is to fix some non-robust split conditions in some define_insn_and_splits, to make each of them applied on top of the corresponding condition for define_insn part, otherwise the splitting could perform unexpectedly.
gcc/ChangeLog: * config/mips/mips.md (*udivmod<mode>4, udivmod<mode>4_mips16): Fix split condition. --- gcc/config/mips/mips.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index 455b9b802f6..4efb7503df3 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -2961,7 +2961,7 @@ (define_insn_and_split "*udivmod<mode>4" (match_dup 2)))] "ISA_HAS_<D>DIV && !TARGET_MIPS16" "#" - "reload_completed" + "&& reload_completed" [(const_int 0)] { emit_insn (gen_udivmod<mode>4_split (operands[3], operands[1], operands[2])); @@ -2982,7 +2982,7 @@ (define_insn_and_split "udivmod<mode>4_mips16" (clobber (match_operand:GPR 4 "lo_operand" "=l"))] "ISA_HAS_<D>DIV && TARGET_MIPS16" "#" - "cse_not_expected" + "&& cse_not_expected" [(const_int 0)] { emit_insn (gen_udivmod<mode>4_split (operands[3], operands[1], operands[2])); -- 2.27.0