[01/15] frv: Fix non-robust split condition in define_insn_and_split

Message ID 87afab2e45ce8b420a41dfb8afb4ab2623c7dbdc.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/frv/frv.md (*abssi2_internal, *minmax_si_signed,
	*minmax_si_unsigned, *minmax_sf, *minmax_df): Fix split condition.
---
 gcc/config/frv/frv.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
  

Patch

diff --git a/gcc/config/frv/frv.md b/gcc/config/frv/frv.md
index a2aa1b2d2ac..fea6dedc53d 100644
--- a/gcc/config/frv/frv.md
+++ b/gcc/config/frv/frv.md
@@ -4676,7 +4676,7 @@  (define_insn_and_split "*abssi2_internal"
    (clobber (match_operand:CC_CCR 3 "icr_operand" "=v,v"))]
   "TARGET_COND_MOVE"
   "#"
-  "reload_completed"
+  "&& reload_completed"
   [(match_dup 4)]
   "operands[4] = frv_split_abs (operands);"
   [(set_attr "length" "12,16")
@@ -4717,7 +4717,7 @@  (define_insn_and_split "*minmax_si_signed"
    (clobber (match_operand:CC_CCR 5 "icr_operand" "=v,v,v"))]
   "TARGET_COND_MOVE"
   "#"
-  "reload_completed"
+  "&& reload_completed"
   [(match_dup 6)]
   "operands[6] = frv_split_minmax (operands);"
   [(set_attr "length" "12,12,16")
@@ -4758,7 +4758,7 @@  (define_insn_and_split "*minmax_si_unsigned"
    (clobber (match_operand:CC_CCR 5 "icr_operand" "=v,v,v"))]
   "TARGET_COND_MOVE"
   "#"
-  "reload_completed"
+  "&& reload_completed"
   [(match_dup 6)]
   "operands[6] = frv_split_minmax (operands);"
   [(set_attr "length" "12,12,16")
@@ -4799,7 +4799,7 @@  (define_insn_and_split "*minmax_sf"
    (clobber (match_operand:CC_CCR 5 "fcr_operand" "=w,w,w"))]
   "TARGET_COND_MOVE && TARGET_HARD_FLOAT"
   "#"
-  "reload_completed"
+  "&& reload_completed"
   [(match_dup 6)]
   "operands[6] = frv_split_minmax (operands);"
   [(set_attr "length" "12,12,16")
@@ -4840,7 +4840,7 @@  (define_insn_and_split "*minmax_df"
    (clobber (match_operand:CC_CCR 5 "fcr_operand" "=w,w,w"))]
   "TARGET_COND_MOVE && TARGET_HARD_FLOAT && TARGET_DOUBLE"
   "#"
-  "reload_completed"
+  "&& reload_completed"
   [(match_dup 6)]
   "operands[6] = frv_split_minmax (operands);"
   [(set_attr "length" "12,12,16")