aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vmul_vx.h
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2019-05-08 22:01:55 -0700
committerChih-Min Chao <chihmin.chao@sifive.com>2019-05-08 22:01:56 -0700
commitd2f498dd757c0d9a7b65554a2d71f9943d683ff1 (patch)
tree84877b5100fe250e746a3737e13173af84592bb9 /riscv/insns/vmul_vx.h
parent0fb4bc21fb6583935680d7ec7a04c3c8a56321be (diff)
downloadspike-d2f498dd757c0d9a7b65554a2d71f9943d683ff1.zip
spike-d2f498dd757c0d9a7b65554a2d71f9943d683ff1.tar.gz
spike-d2f498dd757c0d9a7b65554a2d71f9943d683ff1.tar.bz2
rvv: fix vmul.v[vx]
don't need mask and mask is overflow in original code Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'riscv/insns/vmul_vx.h')
-rw-r--r--riscv/insns/vmul_vx.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/riscv/insns/vmul_vx.h b/riscv/insns/vmul_vx.h
index 931ddc4..72e9bbc 100644
--- a/riscv/insns/vmul_vx.h
+++ b/riscv/insns/vmul_vx.h
@@ -1,9 +1,5 @@
// vmul
-reg_t vsew = p->VU.vsew;
-uint64_t lo_mask = ((uint64_t)1 << vsew) - 1;
-
VI_VX_LOOP
({
- int64_t result = rs1 * vs2;
- vd = result & lo_mask;
+ vd = vs2 * rs1;
})