From 192225712c1e2bda558b733c5d3aa5b46df7cc76 Mon Sep 17 00:00:00 2001 From: Chih-Min Chao Date: Thu, 20 Feb 2020 00:15:14 -0800 Subject: rvv: only check segment overlapping in index load Signed-off-by: Chih-Min Chao --- riscv/decode.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/riscv/decode.h b/riscv/decode.h index 1372b9a..ee07577 100644 --- a/riscv/decode.h +++ b/riscv/decode.h @@ -419,13 +419,11 @@ static inline bool is_overlapped(const int astart, const int asize, require_vector; \ require((insn.rd() & (P.VU.vlmul - 1)) == 0); \ require((insn.rs2() & (P.VU.vlmul - 1)) == 0); \ - if (insn.v_nf() > 0) \ - require(!is_overlapped(insn.rd(), P.VU.vlmul, insn.rs2(), P.VU.vlmul)); \ - if (insn.v_vm() == 0 && (insn.v_nf() > 0 || P.VU.vlmul > 1)) \ - require(insn.rd() != 0); \ #define VI_CHECK_LD_INDEX \ VI_CHECK_ST_INDEX; \ + if (insn.v_nf() > 0) \ + require(!is_overlapped(insn.rd(), P.VU.vlmul, insn.rs2(), P.VU.vlmul)); \ if (insn.v_vm() == 0 && (insn.v_nf() > 0 || P.VU.vlmul > 1)) \ require(insn.rd() != 0); \ -- cgit v1.1