From patchwork Wed Sep 20 05:39:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lehua Ding X-Patchwork-Id: 142233 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp3895942vqi; Tue, 19 Sep 2023 22:40:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGH3M7nHi2N+u5xZlxP1KWFVZ4QphwLrfPyqwgHi2AWomOBc72o1XsiDRmznKb0tS5sy7zD X-Received: by 2002:aa7:d3cc:0:b0:531:287d:3232 with SMTP id o12-20020aa7d3cc000000b00531287d3232mr1157729edr.34.1695188436009; Tue, 19 Sep 2023 22:40:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695188435; cv=none; d=google.com; s=arc-20160816; b=vQTPZoo2ynmMxVag23QSk0bAtXzhiMAJKlz+7jGzVAnpWtNT531+VtC4kvy7EFcB+K sxDWfXHKbZCmF2roSABWUXRsX3d8gwqameTmaCTAhgwGNIyp4nGOe1MgJwSfb5V0bBue K2Ep+v19QIApwm2WZCd09C8jOOEgXOKeIx0cRMRivC8o+0Di9v0kHwgVt5tX0ZHfpTfQ e/E/3JRZxwY3B0s9lS1HjIXVmvIV8TuL8HL4BwXKx3Xeil09W9mwFWtXb/OJF9wwSyTO 9z1fFXdwmK36Ja/Qi4HSlvnGpLuDDDk+KIwM0ii0q2FvHIQlApObpQCCne8yOWDI2DpJ JHjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:feedback-id :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dmarc-filter:delivered-to; bh=OhDl+Pq/rcIxFmQIf9crw43Jfaw5Y7YG6EAeSbsr1qc=; fh=x/Q0OlwHuvCZ3FpkiZPiUSvevOYVxUAi4aNnf76mUPQ=; b=eQ4tNBsGXbNFrnGbq1HugEsC/HktvIZhBS3fk9ixvW4E0VHRtmp+ToMWVzU8jaG9sF LZWv7RKmBuoDG3BTNou2Ht9LqSK3eOOhBO/7RDrPCv2wDgkuHZAvIvoChxAQu0YxLAIV jVh/czO28PAVbksTzrpWBzd9y5Os/463N+Wjmt8mqXAEWvcg6CxCa04G7TxhDmU+Dnkp r7xcBit4PUZb0lFWBgNOb/QsUFZUKUV/Y4gByEOxwXFMhdDKLEk8+LSboQ38X9OozGrj IUImxLLdfxHVOP2kY99M7fnyg1vBDjgfvmVR3amP6B4V+dHT34AJDt/MW2lf4XcuoVSG AeqA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id i11-20020a05640242cb00b00530c9d758e8si8606484edc.172.2023.09.19.22.40.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 22:40:35 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 598C43858C2B for ; Wed, 20 Sep 2023 05:40:30 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbg150.qq.com (smtpbg150.qq.com [18.132.163.193]) by sourceware.org (Postfix) with ESMTPS id 74D6B3858D20 for ; Wed, 20 Sep 2023 05:40:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 74D6B3858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp72t1695188395tlzn2ffk Received: from rios-cad121.hadoop.rioslab.org ( [58.60.1.9]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 20 Sep 2023 13:39:54 +0800 (CST) X-QQ-SSF: 01400000000000C0F000000A0000000 X-QQ-FEAT: q4jtFqBCDINDY4/mGhAQ9GAKk+f08vH9ji8rp8U+0GpTILDgPQDF8Wr+tR+i/ Ea0XSN0z+wnPoK/g4DIEOntJXuz4Zp9sL/jspiusGzhUIYylpfrGBc23phCgSvUlV2aHaIy MCnnjw+HIi50/tZ4PMDDWBVqbupUaEOLW+rMM6/0SbToby5Ez2YS1zw4vml5cFq97wjiUsA +NR5uDEK47BEJkgLgf1e2WaNq6Qt+tFOHRmBggeRZVuiK+SVtYY5M2FeUE6HgvwtGzzNMVD 82de0sOw4s7Lugpw5lEZjWK8v3Qd9A6i8q2rNYQNsLZgkHbtS9dBaie8yObpPZGTYoq1IJ/ /jJb5A5IVRikGwBetkGsiQrk+skhHjllZg8bykEzeo8k+zTPeQXlT+xcDRaHnrUWuDDynLx 18utl8iPqS8= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 13113648034046390395 From: Lehua Ding To: gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai, kito.cheng@gmail.com, rdapp.gcc@gmail.com, palmer@rivosinc.com, jeffreyalaw@gmail.com, lehua.ding@rivai.ai Subject: [PATCH] RISC-V: Fixed ICE caused by missing operand Date: Wed, 20 Sep 2023 13:39:54 +0800 Message-Id: <20230920053954.3454414-1-lehua.ding@rivai.ai> X-Mailer: git-send-email 2.36.3 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz6a-0 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777533909594531179 X-GMAIL-MSGID: 1777533909594531179 This ICE appears in GCC compiled with -O2 flags. PR target/111488 gcc/ChangeLog: * config/riscv/autovec-opt.md: Add missed operand. --- gcc/config/riscv/autovec-opt.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) -- 2.36.3 diff --git a/gcc/config/riscv/autovec-opt.md b/gcc/config/riscv/autovec-opt.md index cef9f157e99..66c77ad6ebb 100644 --- a/gcc/config/riscv/autovec-opt.md +++ b/gcc/config/riscv/autovec-opt.md @@ -957,7 +957,8 @@ riscv_vector::emit_vlmax_insn (extend_icode, riscv_vector::UNARY_OP, extend_ops); - rtx ops[] = {operands[0], tmp, operands[3], operands[1]}; + rtx ops[] = {operands[0], tmp, operands[3], operands[1], + RVV_VUNDEF(mode)}; riscv_vector::emit_vlmax_insn (code_for_pred_mul_plus (mode), riscv_vector::TERNARY_OP, ops); DONE; @@ -1008,7 +1009,8 @@ rtx ext_ops[] = {tmp, operands[2]}; riscv_vector::emit_vlmax_insn (icode, riscv_vector::UNARY_OP, ext_ops); - rtx ops[] = {operands[0], tmp, operands[3], operands[1]}; + rtx ops[] = {operands[0], tmp, operands[3], operands[1], + RVV_VUNDEF(mode)}; riscv_vector::emit_vlmax_insn (code_for_pred_mul (PLUS, mode), riscv_vector::TERNARY_OP_FRM_DYN, ops); DONE; @@ -1059,7 +1061,8 @@ rtx ext_ops[] = {tmp, operands[2]}; riscv_vector::emit_vlmax_insn (icode, riscv_vector::UNARY_OP, ext_ops); - rtx ops[] = {operands[0], tmp, operands[3], operands[1]}; + rtx ops[] = {operands[0], tmp, operands[3], operands[1], + RVV_VUNDEF(mode)}; riscv_vector::emit_vlmax_insn (code_for_pred_mul_neg (PLUS, mode), riscv_vector::TERNARY_OP_FRM_DYN, ops); DONE; @@ -1110,7 +1113,8 @@ rtx ext_ops[] = {tmp, operands[2]}; riscv_vector::emit_vlmax_insn (icode, riscv_vector::UNARY_OP, ext_ops); - rtx ops[] = {operands[0], tmp, operands[3], operands[1]}; + rtx ops[] = {operands[0], tmp, operands[3], operands[1], + RVV_VUNDEF(mode)}; riscv_vector::emit_vlmax_insn (code_for_pred_mul (MINUS, mode), riscv_vector::TERNARY_OP_FRM_DYN, ops); DONE; @@ -1163,7 +1167,8 @@ rtx ext_ops[] = {tmp, operands[2]}; riscv_vector::emit_vlmax_insn (icode, riscv_vector::UNARY_OP, ext_ops); - rtx ops[] = {operands[0], tmp, operands[3], operands[1]}; + rtx ops[] = {operands[0], tmp, operands[3], operands[1], + RVV_VUNDEF(mode)}; riscv_vector::emit_vlmax_insn (code_for_pred_mul_neg (MINUS, mode), riscv_vector::TERNARY_OP_FRM_DYN, ops); DONE;