From patchwork Thu Oct 28 13:52:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiawei X-Patchwork-Id: 46749 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 18CCE385780E for ; Thu, 28 Oct 2021 13:56:09 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from cstnet.cn (smtp25.cstnet.cn [159.226.251.25]) by sourceware.org (Postfix) with ESMTP id 466853857412 for ; Thu, 28 Oct 2021 13:53:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 466853857412 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from localhost.localdomain (unknown [47.106.84.205]) by APP-05 (Coremail) with SMTP id zQCowAB3f6tGq3phNISDBQ--.2609S2; Thu, 28 Oct 2021 21:53:10 +0800 (CST) From: jiawei To: gcc-patches@gcc.gnu.org Subject: [PATCH 0/3] RISC-V: Zfinx extension support Date: Thu, 28 Oct 2021 21:52:43 +0800 Message-Id: <20211028135246.9699-1-jiawei@iscas.ac.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CM-TRANSID: zQCowAB3f6tGq3phNISDBQ--.2609S2 X-Coremail-Antispam: 1UD129KBjvJXoW7trWUXF1kKr4kZry8tr1rCrg_yoW8XrW3pF 43Gw1Syr98Zwsxua17tF4UJ3y2gws3W345Jw4kA34xAay7ZryUAF1kCw4rC3WUZFs5XrZx CFy5ua4rZw4UArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkS14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26r1j6r1xM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j 6F4UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY02Avz4vE174l42xK 82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGw C20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48J MIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMI IF0xvE42xK8VAvwI8IcIk0rVWrJr0_WFyUJwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY 6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjfUj18BUUUUU X-Originating-IP: [47.106.84.205] X-CM-SenderInfo: 5mld4v3l6l2u1dvotugofq/1tbiCwcIAFz4kioKRQAAsX X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: cmuellner@ventanamicro.com, andrew@sifive.com, tariq.kurd=huawei.com@lists.riscv.org, jiawei , kito.cheng@sifive.com Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Zfinx extension[1] had already finished public review. Here is the implementation patch set that reuse floating point pattern and ban the use of fpr when use zfinx as a target. Current works can be find in follow links, we will keep update zhinx and zhinxmin after zfh extension goes upstream. https://github.com/pz9115/riscv-gcc/tree/zfinx-rebase https://github.com/pz9115/riscv-binutils-gdb/tree/zfinx-rebase For test you can use qemu or spike that support zfinx extension, the qemu will go upstream soon and spike is still in review: https://github.com/plctlab/plct-qemu/tree/plct-zfinx-dev https://github.com/plctlab/plct-spike/tree/plct-upstream-zfinx Thanks for Tariq Kurd, Kito Cheng, Jim Willson, Jeremy Bennett helped us a lot with this work. [1] https://github.com/riscv/riscv-zfinx/blob/main/zfinx-1.0.0-rc.pdf jiawei sinan (3): RISC-V: Minimal support of zfinx extension RISC-V: Target support for zfinx extension RISC-V: Imply info and regs limit for zfinx extension gcc/common/config/riscv/riscv-common.c | 6 +++ gcc/config/riscv/arch-canonicalize | 1 + gcc/config/riscv/constraints.md | 3 +- gcc/config/riscv/riscv-builtins.c | 4 +- gcc/config/riscv/riscv-c.c | 2 +- gcc/config/riscv/riscv-opts.h | 6 +++ gcc/config/riscv/riscv.c | 15 +++++- gcc/config/riscv/riscv.md | 72 +++++++++++++------------- gcc/config/riscv/riscv.opt | 3 ++ 9 files changed, 70 insertions(+), 42 deletions(-)