From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sender-0.a4lg.com (mail-sender-0.a4lg.com [IPv6:2401:2500:203:30b:4000:6bfe:4757:0]) by sourceware.org (Postfix) with ESMTPS id 3632B3858D20 for ; Mon, 7 Feb 2022 03:32:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3632B3858D20 From: Tsukasa OI To: Tsukasa OI Cc: binutils@sourceware.org Subject: [PATCH 0/1] RISC-V: Fix RV32Q conflict Date: Mon, 7 Feb 2022 12:31:48 +0900 Message-Id: Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LOTSOFHASH, SPF_HELO_NONE, SPF_PASS, TO_EQ_FM_DIRECT_MX, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Mon, 07 Feb 2022 03:32:02 -0000 This commit allows combination of RV32 + 'Q' extension (IEEE 754 binary128 floating point number support). This combination is no longer prohibited by the ISA Manual. This restriction is introduced in binutils' RV32E support commit 7f99954970001cfc1b155d877ac2966d77e2c647. At that time, the latest ratified version of the RISC-V ISA Manual (version 2.2) stated that 'Q' extension requires RV64IFD. However, the next ratified version of the RISC-V ISA Manual (20190608-Base-Ratified) removed such limitation. I did check the version of 'Q' extension (RV32Q is allowed on 'Q' extension version 2.2 or later) but it may be too pedant. This is because change (removal of RV64IFD dependency) seemed irrevant to version changes but only a part of "embellishment" process as described by riscv-isa-manual commit 013ba6dc8a504ee4ad7bee42554fecaef7ba797f. Quoting preface of 20190608-Base-Ratified (would analogously to 'Q'), > Incremented the version numbers of the F and D extensions to 2.2, > reflecting that version 2.1 changed the canonical NaN, and version 2.2 > defined the NaN-boxing scheme and changed the definition of the FMIN > and FMAX instructions. Not checking the version number (just allowing RV32Q entirely) may be an option. References: GNU Binutils: Commit 7f99954970001cfc1b155d877ac2966d77e2c647 The RISC-V ISA Manual: version 2.2 version 20190608-Base-Ratified commit 013ba6dc8a504ee4ad7bee42554fecaef7ba797f: Tsukasa OI (1): RISC-V: Fix RV32Q conflict bfd/elfxx-riscv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) base-commit: 6a9d08661b361e497baa76dd6d8685f2cb593adb -- 2.32.0