diff options
author | Weiwei Li <liweiwei@iscas.ac.cn> | 2023-02-15 10:05:37 +0800 |
---|---|---|
committer | Palmer Dabbelt <palmer@rivosinc.com> | 2023-03-01 15:17:55 -0800 |
commit | 6ad831ebf142ba971c5e4cb29c52b1c0c92c259b (patch) | |
tree | c4550f399d882d6d79606331b033b291d30afb7f | |
parent | e80865e5f36e6bb38eae551ecb09f069b9e21e93 (diff) | |
download | qemu-6ad831ebf142ba971c5e4cb29c52b1c0c92c259b.zip qemu-6ad831ebf142ba971c5e4cb29c52b1c0c92c259b.tar.gz qemu-6ad831ebf142ba971c5e4cb29c52b1c0c92c259b.tar.bz2 |
target/riscv: Fix check for vector load/store instructions when EEW=64
The V extension supports all vector load and store instructions except
the V extension does not support EEW=64 for index values when XLEN=32.
(Section 18.3)
Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-13-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
-rw-r--r-- | target/riscv/insn_trans/trans_rvv.c.inc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/target/riscv/insn_trans/trans_rvv.c.inc b/target/riscv/insn_trans/trans_rvv.c.inc index 9b2c5c9..5dbdce0 100644 --- a/target/riscv/insn_trans/trans_rvv.c.inc +++ b/target/riscv/insn_trans/trans_rvv.c.inc @@ -287,13 +287,12 @@ static bool vext_check_st_index(DisasContext *s, int vd, int vs2, int nf, require_nf(vd, nf, s->lmul); /* - * All Zve* extensions support all vector load and store instructions, - * except Zve64* extensions do not support EEW=64 for index values - * when XLEN=32. (Section 18.2) + * V extension supports all vector load and store instructions, + * except V extension does not support EEW=64 for index values + * when XLEN=32. (Section 18.3) */ if (get_xl(s) == MXL_RV32) { - ret &= (!has_ext(s, RVV) && - s->cfg_ptr->ext_zve64f ? eew != MO_64 : true); + ret &= (eew != MO_64); } return ret; |