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 A16C7384B81F for ; Sat, 9 Jul 2022 03:50:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A16C7384B81F Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail-sender-0.a4lg.com (Postfix) with ESMTPSA id E3106300089; Sat, 9 Jul 2022 03:50:37 +0000 (UTC) From: Tsukasa OI To: Tsukasa OI , Nelson Chu , Kito Cheng , Palmer Dabbelt Cc: binutils@sourceware.org Subject: [PATCH 2/2] RISC-V: Make `fence.tso' a non-alias Date: Sat, 9 Jul 2022 12:50:15 +0900 Message-Id: In-Reply-To: References: Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, 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: Sat, 09 Jul 2022 03:50:40 -0000 While `fence.tso' is a subset of original `FENCE' instruction in RISC-V ISA, `fence' instruction as defined in the GNU Binutils (constrained to fm=0b0000) is not a superset of `fence.tso'. As a result, it resulted in `.4byte' when disassembled with `no-aliases` option. This commit makes `fence.tso' instruction a non-alias. gas/ChangeLog: * testsuite/gas/riscv/fence-tso.d: Make sure that `fence.tso' is currently not an alias. opcodes/ChangeLog: * riscv-opc.c (riscv_opcodes): Make `fence.tso' instruction a non-alias. --- gas/testsuite/gas/riscv/fence-tso.d | 2 +- opcodes/riscv-opc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gas/testsuite/gas/riscv/fence-tso.d b/gas/testsuite/gas/riscv/fence-tso.d index ef8a4cdd1c9..00170f1259e 100644 --- a/gas/testsuite/gas/riscv/fence-tso.d +++ b/gas/testsuite/gas/riscv/fence-tso.d @@ -1,5 +1,5 @@ #as: -march=rv32ic -#objdump: -dr +#objdump: -dr -M no-aliases .*:[ ]+file format .* diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c index 6c5b2eaf524..50a51b40d69 100644 --- a/opcodes/riscv-opc.c +++ b/opcodes/riscv-opc.c @@ -421,7 +421,7 @@ const struct riscv_opcode riscv_opcodes[] = {"fence", 0, INSN_CLASS_I, "", MATCH_FENCE|MASK_PRED|MASK_SUCC, MASK_FENCE|MASK_RD|MASK_RS1|MASK_IMM, match_opcode, INSN_ALIAS }, {"fence", 0, INSN_CLASS_I, "P,Q", MATCH_FENCE, MASK_FENCE|MASK_RD|MASK_RS1|(MASK_IMM & ~MASK_PRED & ~MASK_SUCC), match_opcode, 0 }, {"fence.i", 0, INSN_CLASS_ZIFENCEI, "", MATCH_FENCE_I, MASK_FENCE|MASK_RD|MASK_RS1|MASK_IMM, match_opcode, 0 }, -{"fence.tso", 0, INSN_CLASS_I, "", MATCH_FENCE_TSO, MASK_FENCE_TSO|MASK_RD|MASK_RS1, match_opcode, INSN_ALIAS }, +{"fence.tso", 0, INSN_CLASS_I, "", MATCH_FENCE_TSO, MASK_FENCE_TSO|MASK_RD|MASK_RS1, match_opcode, 0 }, {"rdcycle", 0, INSN_CLASS_I, "d", MATCH_RDCYCLE, MASK_RDCYCLE, match_opcode, INSN_ALIAS }, {"rdinstret", 0, INSN_CLASS_I, "d", MATCH_RDINSTRET, MASK_RDINSTRET, match_opcode, INSN_ALIAS }, {"rdtime", 0, INSN_CLASS_I, "d", MATCH_RDTIME, MASK_RDTIME, match_opcode, INSN_ALIAS }, -- 2.34.1