[binutils-gdb] RISC-V: drop FCVT.Q.L{, U} forms with rounding mode operand

Jan Beulich via Binutils-cvs <[email protected]> Fri, 31 Jul 2026 09:00:24 +0000 (GMT)
Newsgroups gmane.comp.gnu.binutils.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Da592a6684708=
cb1554850b2cae311b4240838fe8

commit a592a6684708cb1554850b2cae311b4240838fe8
Author: Jan Beulich <[email protected]>
Date:   Fri Jul 31 10:57:20 2026 +0200

    RISC-V: drop FCVT.Q.L{,U} forms with rounding mode operand
   =20
    Like FCVT.D.W{,U} and FCVT.Q.W{,U} these also are unaffected by rounding
    mode, and hence allowing for a respective operand is bogus. (Otherwise
    MASK_RM should also be used in the match field for the respectively oth=
er
    forms.)

Diff:
---
 opcodes/riscv-opc.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index d08466c3bbb..7610e6386c0 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -1189,9 +1189,7 @@ const struct riscv_opcode riscv_opcodes[] =3D
 {"fcvt.lu.q", 64, INSN_CLASS_Q_INX,   "d,S",       MATCH_FCVT_LU_Q|MASK_RM=
, MASK_FCVT_LU_Q|MASK_RM, match_opcode, 0 },
 {"fcvt.lu.q", 64, INSN_CLASS_Q_INX,   "d,S,m",     MATCH_FCVT_LU_Q, MASK_F=
CVT_LU_Q, match_opcode, 0 },
 {"fcvt.q.l",  64, INSN_CLASS_Q_INX,   "D,s",       MATCH_FCVT_Q_L, MASK_FC=
VT_Q_L|MASK_RM, match_opcode, 0 },
-{"fcvt.q.l",  64, INSN_CLASS_Q_INX,   "D,s,m",     MATCH_FCVT_Q_L, MASK_FC=
VT_Q_L, match_opcode, 0 },
 {"fcvt.q.lu", 64, INSN_CLASS_Q_INX,   "D,s",       MATCH_FCVT_Q_LU, MASK_F=
CVT_Q_LU|MASK_RM, match_opcode, 0 },
-{"fcvt.q.lu", 64, INSN_CLASS_Q_INX,   "D,s,m",     MATCH_FCVT_Q_LU, MASK_F=
CVT_Q_LU, match_opcode, 0 },
=20
 /* Compressed instructions.  */
 {"c.unimp",    0, INSN_CLASS_ZCA,   "",          0, 0xffffU,  match_opcode=
, 0 },