diff options
author | Chih-Min Chao <chihmin.chao@sifive.com> | 2020-06-17 10:35:30 -0700 |
---|---|---|
committer | Chih-Min Chao <chihmin.chao@sifive.com> | 2020-06-17 19:19:50 -0700 |
commit | 5d8dcb02f36515fb576a05627bfa9597acdd6013 (patch) | |
tree | 8745c00b0c05272def4578f74c81365f8278ed94 /riscv | |
parent | 23461637db6c7add002112bca4c430e613522f88 (diff) | |
download | spike-5d8dcb02f36515fb576a05627bfa9597acdd6013.zip spike-5d8dcb02f36515fb576a05627bfa9597acdd6013.tar.gz spike-5d8dcb02f36515fb576a05627bfa9597acdd6013.tar.bz2 |
rvv: make v[sl]1r respect vstart
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'riscv')
-rw-r--r-- | riscv/insns/vl1r_v.h | 2 | ||||
-rw-r--r-- | riscv/insns/vs1r_v.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/riscv/insns/vl1r_v.h b/riscv/insns/vl1r_v.h index 61e8765..9289634 100644 --- a/riscv/insns/vl1r_v.h +++ b/riscv/insns/vl1r_v.h @@ -2,7 +2,7 @@ require_vector_novtype(true); const reg_t baseAddr = RS1; const reg_t vd = insn.rd(); -for (reg_t i = 0; i < P.VU.vlenb; ++i) { +for (reg_t i = P.VU.vstart; i < P.VU.vlenb; ++i) { auto val = MMU.load_uint8(baseAddr + i); P.VU.elt<uint8_t>(vd, i, true) = val; } diff --git a/riscv/insns/vs1r_v.h b/riscv/insns/vs1r_v.h index 20dcece..5ccbd5f 100644 --- a/riscv/insns/vs1r_v.h +++ b/riscv/insns/vs1r_v.h @@ -2,7 +2,7 @@ require_vector_novtype(true); const reg_t baseAddr = RS1; const reg_t vs3 = insn.rd(); -for (reg_t i = 0; i < P.VU.vlenb; ++i) { +for (reg_t i = P.VU.vstart; i < P.VU.vlenb; ++i) { auto val = P.VU.elt<uint8_t>(vs3, i); MMU.store_uint8(baseAddr + i, val); } |