aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2019-07-19 00:43:38 -0700
committerAndrew Waterman <andrew@sifive.com>2019-07-19 00:46:14 -0700
commit4ae4845f234e9f2e06e9849b14cd5bc337efcead (patch)
tree18e9c2c1f69361f0e7221a116c308c16b405af03
parentf9745fb771cbae0b6508f2df172406a8cce54b15 (diff)
downloadspike-4ae4845f234e9f2e06e9849b14cd5bc337efcead.zip
spike-4ae4845f234e9f2e06e9849b14cd5bc337efcead.tar.gz
spike-4ae4845f234e9f2e06e9849b14cd5bc337efcead.tar.bz2
Check for F extension in vfmv instructions
-rw-r--r--riscv/insns/vfmv_f_s.h1
-rw-r--r--riscv/insns/vfmv_s_f.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/riscv/insns/vfmv_f_s.h b/riscv/insns/vfmv_f_s.h
index 4f2a4c0..1444e38 100644
--- a/riscv/insns/vfmv_f_s.h
+++ b/riscv/insns/vfmv_f_s.h
@@ -1,6 +1,7 @@
// vfmv_f_s: rd = vs2[0] (rs1=0)
require(insn.v_vm() == 1);
require_fp;
+require_extension('F');
require(P.VU.vsew == e8 || P.VU.vsew == e16 || P.VU.vsew == e32 || P.VU.vsew == e64);
reg_t rs2_num = insn.rs2();
diff --git a/riscv/insns/vfmv_s_f.h b/riscv/insns/vfmv_s_f.h
index 13423b1..4d1ec2d 100644
--- a/riscv/insns/vfmv_s_f.h
+++ b/riscv/insns/vfmv_s_f.h
@@ -1,6 +1,7 @@
// vfmv_s_f: vd[0] = rs1 (vs2=0)
require(insn.v_vm() == 1);
require_fp;
+require_extension('F');
require(P.VU.vsew == e32);
reg_t vl = P.VU.vl;