From 33b182f61280d991bd0bda33003b5ee2a16024e2 Mon Sep 17 00:00:00 2001 From: Xianmiao Qu Date: Tue, 6 Sep 2022 15:10:36 +0800 Subject: [PATCH] C-SKY: Fix missing operand when do spilt for cskyv2_addcc and cskyv2_addcc_invert. It will cause ICE when compiling the case: gcc/testsuite/gcc.dg/params/blocksort-part.c gcc/ * config/csky/csky.md (cskyv2_addcc): Fix missing operand. (cskyv2_addcc_invert): Likewise. --- gcc/config/csky/csky.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/config/csky/csky.md b/gcc/config/csky/csky.md index 6b05930a9fba..6a6592902ef2 100644 --- a/gcc/config/csky/csky.md +++ b/gcc/config/csky/csky.md @@ -1279,7 +1279,8 @@ "reload_completed && !rtx_equal_p (operands[0], operands[1])" [(set (match_dup 0) (if_then_else:SI (ne (reg:CC CSKY_CC_REGNUM) (const_int 0)) - (plus:SI (match_dup 0) (match_dup 2))))] + (plus:SI (match_dup 0) (match_dup 2)) + (match_dup 0)))] { emit_insn (gen_movf (copy_rtx (operands[0]), copy_rtx (operands[1]), @@ -1305,7 +1306,8 @@ "reload_completed && !rtx_equal_p (operands[0], operands[1])" [(set (match_dup 0) (if_then_else:SI (eq (reg:CC CSKY_CC_REGNUM) (const_int 0)) - (plus:SI (match_dup 0) (match_dup 2))))] + (plus:SI (match_dup 0) (match_dup 2)) + (match_dup 0)))] { emit_insn (gen_movt (copy_rtx (operands[0]), copy_rtx (operands[1]), -- 2.47.3