From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sender-0.a4lg.com (mail-sender.a4lg.com [153.120.152.154]) by sourceware.org (Postfix) with ESMTPS id 5081F385E036 for ; Sun, 22 May 2022 05:15:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5081F385E036 Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail-sender-0.a4lg.com (Postfix) with ESMTPSA id 22FD0300089; Sun, 22 May 2022 05:15:21 +0000 (UTC) From: Tsukasa OI To: Tsukasa OI Cc: binutils@sourceware.org Subject: [PATCH v2 0/4] RISC-V: Float16 extensions enhancements Date: Sun, 22 May 2022 14:15:10 +0900 Message-Id: In-Reply-To: References: Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 May 2022 05:15:26 -0000 RFC PATCH v1: This patchset will: - Add `Zfhmin' extension support - Refine (refactors) `Zfh' extension support (by Nelson Chu) - Prepare for `Zhinx' extension [CHANGES BETWEEN RFC PATCH v1 between PATCH v2] - Added pseudoinstructions - Large rebase (based on Nelson Chu's implementation) - Preparation for `Zhinx' implementation [Added pseudoinstructions] I checked into LLVM (llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td) and found my RFC PATCH v1 ONLY lacked following pseudoinstructions: - fmv.h - fneg.h - fabs.h In this version, it implements all `Zfh' or `Zfhmin' instructions implemented in LLVM-CURRENT. [Preparation for Zhinx implementation] I mean, `Zhinx' implementation except actual feature support. Instruction category is refined as follows: Before: - INSN_CLASS_ZFH `Zfh' - INSN_CLASS_D_AND_ZFH `Zfh' and `D' - INSN_CLASS_Q_AND_ZFH `Zfh' and `Q' After: - INSN_CLASS_ZFH_OR_ZHINX Either `Zfh' or `Zhinx' Renamed from INSN_CLASS_ZFH. - INSN_CLASS_ZFHMIN `Zfhmin' Part of former INSN_CLASS_ZFH. - INSN_CLASS_ZFHMIN_OR_ZHINXMIN Either `Zfhmin' or `Zhinxmin' Part of former INSN_CLASS_ZFH. - INSN_CLASS_ZFHMIN_AND_D (`Zfhmin' and `D') or (`Zhinxmin' and `Zdinx') Renamed from INSN_CLASS_D_AND_ZFH. - INSN_CLASS_ZFHMIN_AND_Q (`Zfhmin' and `Q') or (`Zhinxmin' and `Zqinx') Renamed from INSN_CLASS_Q_AND_ZFH. INFN_CLASS_ZFHMIN_AND_? do not represent actual required extensions. This is because it'll be too long if we make this symbol faithful. Tsukasa OI (4): RISC-V: Refactor 'Zfh'-related macros RISC-V: Add instruction declaration for 'Zfh' RISC-V: Add 'Zfhmin' (and refactor 'Zfh') RISC-V: Add 'Zfh' / 'Zfhmin' conflict message bfd/elfxx-riscv.c | 33 ++++--- gas/config/tc-riscv.c | 19 ++-- include/opcode/riscv-opc.h | 180 ++++++++++++++++++++++--------------- include/opcode/riscv.h | 12 +-- opcodes/riscv-opc.c | 126 +++++++++++++------------- 5 files changed, 210 insertions(+), 160 deletions(-) base-commit: cb3a7614feb82ffdc25161bf60529116c6112ab3 -- 2.34.1