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/v850/v850.md (cbranchsf4, cbranchdf4, *movsicc_normal, *movsicc_reversed): Fix split condition. --- gcc/config/v850/v850.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md index 872f17913de..d4a953c6bdb 100644 --- a/gcc/config/v850/v850.md +++ b/gcc/config/v850/v850.md @@ -374,7 +374,7 @@ (define_insn_and_split "cbranchsf4" (pc)))] "TARGET_USE_FPU" "#" - "reload_completed" + "&& reload_completed" [(set (match_dup 4) (match_dup 5)) (set (pc) (if_then_else (match_dup 6) @@ -428,7 +428,7 @@ (define_insn_and_split "cbranchdf4" (pc)))] "TARGET_USE_FPU" "#" - "reload_completed" + "&& reload_completed" ;; How to get the mode here? [(set (match_dup 4) (match_dup 5)) (set (pc) @@ -1210,7 +1210,7 @@ (define_insn_and_split "*movsicc_normal" (match_operand:SI 3 "reg_or_0_operand" "rI")))] "(TARGET_V850E_UP)" "#" - "reload_completed" + "&& reload_completed" [(set (reg:CC CC_REGNUM) (compare:CC (match_dup 4) (match_dup 5))) (set (match_dup 0) @@ -1229,7 +1229,7 @@ (define_insn_and_split "*movsicc_reversed" (match_operand:SI 3 "reg_or_0_operand" "rJ")))] "(TARGET_V850E_UP)" "#" - "reload_completed" + "&& reload_completed" [(set (reg:CC CC_REGNUM) (compare:CC (match_dup 4) (match_dup 5))) (set (match_dup 0) -- 2.27.0