[v2,0/3] RISC-V: Support zfinx extension
Message ID | 20211105130059.3332-1-jiawei@iscas.ac.cn |
---|---|
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> 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 798683857809 for <patchwork@sourceware.org>; Fri, 5 Nov 2021 13:01:38 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from cstnet.cn (smtp21.cstnet.cn [159.226.251.21]) by sourceware.org (Postfix) with ESMTP id 424D63858D35 for <gcc-patches@gcc.gnu.org>; Fri, 5 Nov 2021 13:01:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 424D63858D35 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 [120.25.159.94]) by APP-01 (Coremail) with SMTP id qwCowAB3ECEYK4VhkKOhBg--.16147S2; Fri, 05 Nov 2021 21:01:13 +0800 (CST) From: jiawei <jiawei@iscas.ac.cn> To: gcc-patches@gcc.gnu.org Subject: [PATCH v2 0/3] RISC-V: Support zfinx extension Date: Fri, 5 Nov 2021 21:00:56 +0800 Message-Id: <20211105130059.3332-1-jiawei@iscas.ac.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: qwCowAB3ECEYK4VhkKOhBg--.16147S2 X-Coremail-Antispam: 1UD129KBjvJXoW7trWUXF1kKr4kZry8tr1rCrg_yoW8WFykpF 43Kw1rCr98Zws3u3W7tF48X3y2gws3W345Xw4kA34xAa9rZryrAF95Cw4rC3WUZFZ5WrZx uFyj9a4rZw4UArJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUv014x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j 6F4UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628v n2kIc2xKxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F4 0E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFyl IxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxV AFwI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6rW3Jr0E3s1lIxAIcVC2z280aVAFwI0_ Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7VU1 a9aPUUUUU== X-Originating-IP: [120.25.159.94] X-CM-SenderInfo: 5mld4v3l6l2u1dvotugofq/1tbiCwkQAFz4kkNxNAAAsi X-Spam-Status: No, score=-5.3 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 <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Cc: tariq.kurd@huawei.com, cmuellner@ventanamicro.com, andrew@sifive.com, sinan@isrc.iscas.ac.cn, philipp.tomsich@vrull.eu, jiawei <jiawei@iscas.ac.cn>, nelson.chu@sifive.com, kito.cheng@sifive.com, shihua@iscas.ac.cn Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> |
Message
Jiawei
Nov. 5, 2021, 1 p.m. UTC
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 Version log: v2: As Kito Cheng's comment, add Changelog part in patches, update imply info in riscv-common.c, remove useless check and update annotation in riscv.c. jiawei (3): RISC-V: Minimal support of zfinx extension RISC-V: Target support for zfinx extension RISC-V: Limit regs use for zfinx extension gcc/common/config/riscv/riscv-common.c | 7 +++ 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 | 14 ++++- gcc/config/riscv/riscv.md | 72 +++++++++++++------------- gcc/config/riscv/riscv.opt | 3 ++ 9 files changed, 71 insertions(+), 41 deletions(-)