[COMMITTED] C-SKY: Fix missing operand when do spilt for cskyv2_addcc and cskyv2_addcc_invert.

Message ID 20220906071721.823-1-cooper.qu@linux.alibaba.com
State Committed
Commit 33b182f61280d991bd0bda33003b5ee2a16024e2
Headers
Series [COMMITTED] C-SKY: Fix missing operand when do spilt for cskyv2_addcc and cskyv2_addcc_invert. |

Commit Message

瞿仙淼 Sept. 6, 2022, 7:17 a.m. UTC
  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(-)
  

Patch

diff --git a/gcc/config/csky/csky.md b/gcc/config/csky/csky.md
index 6b05930a9fb..6a6592902ef 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]),