aboutsummaryrefslogtreecommitdiff
path: root/riscv
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2019-03-28 18:27:36 -0700
committerChih-Min Chao <chihmin.chao@sifive.com>2019-03-28 19:43:39 -0700
commitbdb71e8138085ba81ff01cce2b02f48c7519be1a (patch)
treeeb904d6463ea113fc01551369bbbcc2ee11e1099 /riscv
parent5de7794efbb00cab21d912a80b4c91de2e6c2810 (diff)
downloadspike-bdb71e8138085ba81ff01cce2b02f48c7519be1a.zip
spike-bdb71e8138085ba81ff01cce2b02f48c7519be1a.tar.gz
spike-bdb71e8138085ba81ff01cce2b02f48c7519be1a.tar.bz2
rvv: add vfmerge.vf
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'riscv')
-rw-r--r--riscv/insns/vfmerge_vf.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/riscv/insns/vfmerge_vf.h b/riscv/insns/vfmerge_vf.h
index 7d13a2d..7c8ee2f 100644
--- a/riscv/insns/vfmerge_vf.h
+++ b/riscv/insns/vfmerge_vf.h
@@ -1,5 +1,10 @@
-// vfmerge_vf
+// vfmerge_vf vd, vs2, vs1, vm
VFP_VF_LOOP
({
- // NOT IMPLEMENTED YET
+ bool do_mask = false;
+
+ V_CHECK_MASK(do_mask);
+
+ bool use_first = (insn.v_vm() == 1) || do_mask;
+ vd = use_first ? vs2 : rs1;
})