From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe2a.google.com (mail-vs1-xe2a.google.com [IPv6:2607:f8b0:4864:20::e2a]) by sourceware.org (Postfix) with ESMTPS id 2D24238518B2 for ; Tue, 15 Nov 2022 01:48:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2D24238518B2 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-vs1-xe2a.google.com with SMTP id n68so13340392vsc.3 for ; Mon, 14 Nov 2022 17:48:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=rt+S9uOWZsWfIVDuh5k9Qzq8b18MnxJ4gV0a5/HqYvA=; b=DG24+XQtbQJb34epJ0NckUsUC7S558zarLNWR+zyi+cL9ii1v2quUv+snxeZ4cy6PZ YdXMjFvbgG3mruKfocUGxUp0aDZfxe7Nm3YVRGVEq6d2HFuxzBNdCYuk8aedfuKfYeXF 5JkehgnBaTBmuQw2wxq+Bk5iXe+L/3VQr+aAauBNWwq2DotWN+WsuiIYSrkCwLnDC49+ JxvzxlZHCRYRmPzm7RIkVeFaeJA6kcS0ApM5gcXhOQ+r+8fo7mhuB+YTlO34sAnsSu/O xMqF/1vVc02mGRXyJf1tVk0ANwVXlUruefwMuSEoM2xLd4AXKsgEsB9i/6qikcj05PLZ KhlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rt+S9uOWZsWfIVDuh5k9Qzq8b18MnxJ4gV0a5/HqYvA=; b=3TEMrM8a/cf3OmZ29eE0rzdckqlIayISCRFRT7jIwcAP4nmjweFtWzUjRmPhDx/Ttb UD5Qwu021cPdcc+457LcfycNGLMCZpryIuk8QHVf/RkaSeR9wIBjg0p03wxwy3pcoV2s 1PQiGwJUTcp79AVePLGf+RgL+dY9LbaIuP9Ghp7zDZ1imtQDcmk4mHVNefq0Lass7p8V znU3/bgHN4iWt1OdsJSnXuJuaaRVjXpHHONYvZ//vABq7+GIPdrBvyzlCLlu/oL5tCRu x4xqDiQb+M2VVuKPHSY8qhnrNYANjhV5WbPm2USRHJXsrj+47ChkJRTLvOIJEddZkmoT jRIQ== X-Gm-Message-State: ANoB5pnMiPwgNNFCVcZKwgVsM1/oXTM4s+E1zSRE8Y6CtaA+rnItERmW FFuRY3XfRCPL5cIF4o2rJXgg5dlUmgZo+xut0jw= X-Google-Smtp-Source: AA0mqf4D+XPuH/q2cfN7mEt8rMzgj2j6ZiNDJ0hCy61Gu09wkuCiDw6IW2dpBesPtC11kVf5VOSmFx6fua94X9GnVQE= X-Received: by 2002:a05:6102:3550:b0:3aa:2393:360d with SMTP id e16-20020a056102355000b003aa2393360dmr7246552vss.30.1668476917288; Mon, 14 Nov 2022 17:48:37 -0800 (PST) MIME-Version: 1.0 References: <20221114162918.1563116-1-jiawei@iscas.ac.cn> In-Reply-To: <20221114162918.1563116-1-jiawei@iscas.ac.cn> From: Kito Cheng Date: Tue, 15 Nov 2022 09:48:26 +0800 Message-ID: Subject: Re: [PATCH] RISC-V: Optimal RVV epilogue logic. To: jiawei Cc: gcc-patches@gcc.gnu.org, kito.cheng@sifive.com, palmer@rivosinc.com, juzhe.zhong@rivai.ai, christoph.muellner@vrull.eu, philipp.tomsich@vrull.eu, wuwei2016@iscas.ac.cn Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-8.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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 List-Id: Could you provide some testcase? On Tue, Nov 15, 2022 at 12:29 AM jiawei wrote: > > Skip add insn generate if the adjust size equal to zero. > > gcc/ChangeLog: > > * config/riscv/riscv.cc (riscv_expand_epilogue): > New if control segement. > > --- > gcc/config/riscv/riscv.cc | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc > index 02a01ca0b7c..af138db7545 100644 > --- a/gcc/config/riscv/riscv.cc > +++ b/gcc/config/riscv/riscv.cc > @@ -5186,24 +5186,26 @@ riscv_expand_epilogue (int style) > } > > /* Get an rtx for STEP1 that we can add to BASE. */ > - rtx adjust = GEN_INT (step1.to_constant ()); > - if (!SMALL_OPERAND (step1.to_constant ())) > + if (step1.to_constant () != 0){ > + rtx adjust = GEN_INT (step1.to_constant ()); > + if (!SMALL_OPERAND (step1.to_constant ())) > { > riscv_emit_move (RISCV_PROLOGUE_TEMP (Pmode), adjust); > adjust = RISCV_PROLOGUE_TEMP (Pmode); > } > > - insn = emit_insn ( > + insn = emit_insn ( > gen_add3_insn (stack_pointer_rtx, stack_pointer_rtx, adjust)); > > - rtx dwarf = NULL_RTX; > - rtx cfa_adjust_rtx = gen_rtx_PLUS (Pmode, stack_pointer_rtx, > + rtx dwarf = NULL_RTX; > + rtx cfa_adjust_rtx = gen_rtx_PLUS (Pmode, stack_pointer_rtx, > GEN_INT (step2)); > > - dwarf = alloc_reg_note (REG_CFA_DEF_CFA, cfa_adjust_rtx, dwarf); > - RTX_FRAME_RELATED_P (insn) = 1; > + dwarf = alloc_reg_note (REG_CFA_DEF_CFA, cfa_adjust_rtx, dwarf); > + RTX_FRAME_RELATED_P (insn) = 1; > > - REG_NOTES (insn) = dwarf; > + REG_NOTES (insn) = dwarf; > + } > } > else if (frame_pointer_needed) > { > -- > 2.25.1 >