aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vmerge_vim.h
diff options
context:
space:
mode:
authoreopXD <yueh.ting.chen@gmail.com>2021-12-07 23:55:19 +0800
committereopXD <yueh.ting.chen@gmail.com>2021-12-08 01:22:10 +0800
commit1f06e0ecaafb94c595805ad036ccb07affb479f5 (patch)
tree479b83f2b0fd1ddefebaf10567782ffa40cceebd /riscv/insns/vmerge_vim.h
parent626fce2075e7907583e07f72f16187d6915ae84d (diff)
downloadspike-1f06e0ecaafb94c595805ad036ccb07affb479f5.zip
spike-1f06e0ecaafb94c595805ad036ccb07affb479f5.tar.gz
spike-1f06e0ecaafb94c595805ad036ccb07affb479f5.tar.bz2
Simplify vmerge, vfmerge
Diffstat (limited to 'riscv/insns/vmerge_vim.h')
-rw-r--r--riscv/insns/vmerge_vim.h8
1 files changed, 1 insertions, 7 deletions
diff --git a/riscv/insns/vmerge_vim.h b/riscv/insns/vmerge_vim.h
index fd6ae1c..0b2fac9 100644
--- a/riscv/insns/vmerge_vim.h
+++ b/riscv/insns/vmerge_vim.h
@@ -1,11 +1,5 @@
// vmerge.vim vd, vs2, simm5
-require_vector(true);
-VI_CHECK_SSS(false);
-VI_VVXI_MERGE_LOOP
+VI_VI_MERGE_LOOP
({
- int midx = i / 64;
- int mpos = i % 64;
- bool use_first = (P.VU.elt<uint64_t>(0, midx) >> mpos) & 0x1;
-
vd = use_first ? simm5 : vs2;
})