From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id 5BAF3385840A for ; Mon, 24 Oct 2022 02:14:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5BAF3385840A 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-pf1-x436.google.com with SMTP id g16so2435300pfr.12 for ; Sun, 23 Oct 2022 19:14:24 -0700 (PDT) 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=EkQnfHeBWZP+eCNker+PYIW4utPk9W4XzXaYWJEedMw=; b=h1LUS0K0a/7RXNRmllHyBS7mb+GWyQLvqnqixj8CgvIg1g19oCBwjxUGKWVFiDiFBq VxT/Y/4nnWNUcilatVODEfrmQEnMlV/VPQR/GtPZt7e5M2ggSaMtTMoJie+Buc4FgPPk UT6TBJ7QT6morMEKoT1wPIdT4/EJD5rWCDyjQoQaex0Sk2++ZoYPJkQKETek4v4EmpMd Z/5ieeRDMzZHe55XeoEdjd2sPfe1IRapU8bVX8nSBftLMMU8HbvSbrQNqzbGo3fBjAyG TvZ8c2o6BkSnjsrgQsp2UoncWY3HxWUzjL0ZEapudXJS9ZUG/1uiaTu3WXQ+iTW36HRk 5nJA== 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=EkQnfHeBWZP+eCNker+PYIW4utPk9W4XzXaYWJEedMw=; b=Bu5USJmAmChPXhy2iP2wSpw9L6b1P7Wmvk6ocsMtAgl/jjlOsTG3qqRu2Y5rKXHOSy 9EFnk5ZqYjQNhKWqT9d2TvqVqNZbpMK3xPrS+dtpQL6n5jJu8aecZnk5hm6qgbbV3ACL UMMg40BsFd9Y+4lTDGh+1aXXzI/4e++xiay5OhJyen7p3xcujKG2Zuaeo386M23O9EbD XinuKsNh0JnYbBNoplTODaYo8yDnXsUjl/E30XdFJs+jY4ryTfUlCFpQL8r8fbsMD9bn NHTm3DaZqv/jSGbFUN8l4BXC6ECPRkolS3POUikTneJ6WpP1aIBSexR3A5B6DzVu1z39 6rNQ== X-Gm-Message-State: ACrzQf3GmocT91WhE7emrZZcdg55TjdAu+QDNTJHYQRgJQFhvzy/5beM E1E24m4F6SEy2YyTrEyfji4r99Bk/fXu/WHu/RY= X-Google-Smtp-Source: AMsMyM6zQXr5Z61pl+LOCcqQxDFCmoH+wJAMwUe2tEFKM5MdHIRrUC18oHTa3nSBDmhQtkRcL6I6hz4xnP6RkZYSKPo= X-Received: by 2002:a05:6a00:15c8:b0:565:bc96:1c5b with SMTP id o8-20020a056a0015c800b00565bc961c5bmr31103397pfu.52.1666577663188; Sun, 23 Oct 2022 19:14:23 -0700 (PDT) MIME-Version: 1.0 References: <20221024020312.26851-1-juzhe.zhong@rivai.ai> In-Reply-To: <20221024020312.26851-1-juzhe.zhong@rivai.ai> From: Andrew Pinski Date: Sun, 23 Oct 2022 19:14:10 -0700 Message-ID: Subject: Re: [PATCH] RISC-V: Support (set (mem) (const_poly_int)) To: juzhe.zhong@rivai.ai Cc: gcc-patches@gcc.gnu.org, kito.cheng@gmail.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-7.0 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,URIBL_BLACK 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: On Sun, Oct 23, 2022 at 7:04 PM wrote: > > From: Ju-Zhe Zhong > > gcc/ChangeLog: > > * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)). > > --- > gcc/config/riscv/riscv.cc | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc > index 90a39047dd7..f7694ba043c 100644 > --- a/gcc/config/riscv/riscv.cc > +++ b/gcc/config/riscv/riscv.cc > @@ -1958,6 +1958,20 @@ riscv_legitimize_move (machine_mode mode, rtx dest, rtx src) > { > if (CONST_POLY_INT_P (src)) > { > + /* > + Handle: > + (insn 183 182 184 6 (set (mem:QI (plus:DI (reg/f:DI 156) > + (const_int 96 [0x60])) [0 S1 A8]) > + (const_poly_int:QI [8, 8])) > + "../../../../riscv-gcc/libgcc/unwind-dw2.c":1579:3 -1 (nil)) > + */ > + if (MEM_P (dest)) > + { > + rtx tmp = gen_reg_rtx (mode); > + emit_move_insn (tmp, src); > + emit_move_insn (dest, tmp); Couldn't you just use force_reg here instead of the above? Something like: emit_move_insn (dest, force_reg (mode, src)); Thanks, Andrew Pinski > + return true; > + } > poly_int64 value = rtx_to_poly_int64 (src); > if (!value.is_constant () && !TARGET_VECTOR) > { > -- > 2.36.1 >