[14/15] mips: Fix non-robust split condition in define_insn_and_split

Message ID 90ea0404338347b3b5e6a5896dd74abebc724bf6.1636621345.git.linkw@linux.ibm.com
State New
Headers
Series Fix non-robust split condition in define_insn_and_split |

Commit Message

Kewen.Lin Nov. 11, 2021, 11:24 a.m. UTC
  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(-)
  

Patch

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]));