From: Max Chou <max.c...@sifive.com> The opfv_narrow_check needs to check the single width float operator by require_rvf.
Signed-off-by: Max Chou <max.c...@sifive.com> Reviewed-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> Cc: qemu-stable <qemu-sta...@nongnu.org> Message-ID: <20240322092600.1198921-4-max.c...@sifive.com> Signed-off-by: Alistair Francis <alistair.fran...@wdc.com> (cherry picked from commit 692f33a3abcaae789b08623e7cbdffcd2c738c89) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index e42f49a6d8..23a451cd9b 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -2885,6 +2885,7 @@ static bool opffv_narrow_check(DisasContext *s, arg_rmr *a) static bool opffv_rod_narrow_check(DisasContext *s, arg_rmr *a) { return opfv_narrow_check(s, a) && + require_rvf(s) && require_scale_rvf(s) && (s->sew != MO_8); } -- 2.39.2