aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vfmerge_vfm.h
diff options
context:
space:
mode:
Diffstat (limited to 'riscv/insns/vfmerge_vfm.h')
-rw-r--r--riscv/insns/vfmerge_vfm.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/riscv/insns/vfmerge_vfm.h b/riscv/insns/vfmerge_vfm.h
index bd00e32..c9b39fe 100644
--- a/riscv/insns/vfmerge_vfm.h
+++ b/riscv/insns/vfmerge_vfm.h
@@ -9,8 +9,8 @@ switch(P.VU.vsew) {
auto rs1 = f16(READ_FREG(rs1_num));
auto vs2 = P.VU.elt<float16_t>(rs2_num, i);
- int midx = (P.VU.vmlen * i) / 64;
- int mpos = (P.VU.vmlen * i) % 64;
+ int midx = i / 64;
+ int mpos = i % 64;
bool use_first = (P.VU.elt<uint64_t>(0, midx) >> mpos) & 0x1;
vd = use_first ? rs1 : vs2;
@@ -22,8 +22,8 @@ switch(P.VU.vsew) {
auto rs1 = f32(READ_FREG(rs1_num));
auto vs2 = P.VU.elt<float32_t>(rs2_num, i);
- int midx = (P.VU.vmlen * i) / 64;
- int mpos = (P.VU.vmlen * i) % 64;
+ int midx = i / 64;
+ int mpos = i % 64;
bool use_first = (P.VU.elt<uint64_t>(0, midx) >> mpos) & 0x1;
vd = use_first ? rs1 : vs2;
@@ -35,8 +35,8 @@ switch(P.VU.vsew) {
auto rs1 = f64(READ_FREG(rs1_num));
auto vs2 = P.VU.elt<float64_t>(rs2_num, i);
- int midx = (P.VU.vmlen * i) / 64;
- int mpos = (P.VU.vmlen * i) % 64;
+ int midx = i / 64;
+ int mpos = i % 64;
bool use_first = (P.VU.elt<uint64_t>(0, midx) >> mpos) & 0x1;
vd = use_first ? rs1 : vs2;