FMV.X.S/FMV.S.X -> FMV.X.W/FMV.W.X
authorAndrew Waterman <andrew@sifive.com>
Tue, 25 Apr 2017 18:40:59 +0000 (11:40 -0700)
committerAndrew Waterman <andrew@sifive.com>
Tue, 25 Apr 2017 18:40:59 +0000 (11:40 -0700)
riscv/encoding.h
riscv/insns/fmv_s_x.h [deleted file]
riscv/insns/fmv_w_x.h [new file with mode: 0644]
riscv/insns/fmv_x_s.h [deleted file]
riscv/insns/fmv_x_w.h [new file with mode: 0644]
riscv/riscv.mk.in
spike_main/disasm.cc

index 92106ab8b183556c63741c6cf18a40b3b691578e..1463801b990291c69d25cf049e87df67e3d7fc53 100644 (file)
 #define MASK_FCVT_L_S  0xfff0007f
 #define MATCH_FCVT_LU_S 0xc0300053
 #define MASK_FCVT_LU_S  0xfff0007f
-#define MATCH_FMV_X_S 0xe0000053
-#define MASK_FMV_X_S  0xfff0707f
+#define MATCH_FMV_X_W 0xe0000053
+#define MASK_FMV_X_W  0xfff0707f
 #define MATCH_FCLASS_S 0xe0001053
 #define MASK_FCLASS_S  0xfff0707f
 #define MATCH_FCVT_W_D 0xc2000053
 #define MASK_FCVT_S_L  0xfff0007f
 #define MATCH_FCVT_S_LU 0xd0300053
 #define MASK_FCVT_S_LU  0xfff0007f
-#define MATCH_FMV_S_X 0xf0000053
-#define MASK_FMV_S_X  0xfff0707f
+#define MATCH_FMV_W_X 0xf0000053
+#define MASK_FMV_W_X  0xfff0707f
 #define MATCH_FCVT_D_W 0xd2000053
 #define MASK_FCVT_D_W  0xfff0007f
 #define MATCH_FCVT_D_WU 0xd2100053
@@ -1122,7 +1122,7 @@ DECLARE_INSN(fcvt_w_s, MATCH_FCVT_W_S, MASK_FCVT_W_S)
 DECLARE_INSN(fcvt_wu_s, MATCH_FCVT_WU_S, MASK_FCVT_WU_S)
 DECLARE_INSN(fcvt_l_s, MATCH_FCVT_L_S, MASK_FCVT_L_S)
 DECLARE_INSN(fcvt_lu_s, MATCH_FCVT_LU_S, MASK_FCVT_LU_S)
-DECLARE_INSN(fmv_x_s, MATCH_FMV_X_S, MASK_FMV_X_S)
+DECLARE_INSN(fmv_x_w, MATCH_FMV_X_W, MASK_FMV_X_W)
 DECLARE_INSN(fclass_s, MATCH_FCLASS_S, MASK_FCLASS_S)
 DECLARE_INSN(fcvt_w_d, MATCH_FCVT_W_D, MASK_FCVT_W_D)
 DECLARE_INSN(fcvt_wu_d, MATCH_FCVT_WU_D, MASK_FCVT_WU_D)
@@ -1140,7 +1140,7 @@ DECLARE_INSN(fcvt_s_w, MATCH_FCVT_S_W, MASK_FCVT_S_W)
 DECLARE_INSN(fcvt_s_wu, MATCH_FCVT_S_WU, MASK_FCVT_S_WU)
 DECLARE_INSN(fcvt_s_l, MATCH_FCVT_S_L, MASK_FCVT_S_L)
 DECLARE_INSN(fcvt_s_lu, MATCH_FCVT_S_LU, MASK_FCVT_S_LU)
-DECLARE_INSN(fmv_s_x, MATCH_FMV_S_X, MASK_FMV_S_X)
+DECLARE_INSN(fmv_w_x, MATCH_FMV_W_X, MASK_FMV_W_X)
 DECLARE_INSN(fcvt_d_w, MATCH_FCVT_D_W, MASK_FCVT_D_W)
 DECLARE_INSN(fcvt_d_wu, MATCH_FCVT_D_WU, MASK_FCVT_D_WU)
 DECLARE_INSN(fcvt_d_l, MATCH_FCVT_D_L, MASK_FCVT_D_L)
diff --git a/riscv/insns/fmv_s_x.h b/riscv/insns/fmv_s_x.h
deleted file mode 100644 (file)
index 5f71323..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_extension('F');
-require_fp;
-WRITE_FRD(f32(RS1));
diff --git a/riscv/insns/fmv_w_x.h b/riscv/insns/fmv_w_x.h
new file mode 100644 (file)
index 0000000..5f71323
--- /dev/null
@@ -0,0 +1,3 @@
+require_extension('F');
+require_fp;
+WRITE_FRD(f32(RS1));
diff --git a/riscv/insns/fmv_x_s.h b/riscv/insns/fmv_x_s.h
deleted file mode 100644 (file)
index b722479..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_extension('F');
-require_fp;
-WRITE_RD(sext32(FRS1.v));
diff --git a/riscv/insns/fmv_x_w.h b/riscv/insns/fmv_x_w.h
new file mode 100644 (file)
index 0000000..b722479
--- /dev/null
@@ -0,0 +1,3 @@
+require_extension('F');
+require_fp;
+WRITE_RD(sext32(FRS1.v));
index e9544162f756250c0c5b61493c3709c2a43eec2c..5508a292785d2c62795d61ca989d0a4d457bcddf 100644 (file)
@@ -180,9 +180,9 @@ riscv_insn_list = \
        fmul_d \
        fmul_s \
        fmv_d_x \
-       fmv_s_x \
+       fmv_w_x \
        fmv_x_d \
-       fmv_x_s \
+       fmv_x_w \
        fnmadd_d \
        fnmadd_s \
        fnmsub_d \
index 69316812bfdd85235d69f86664229282a6e74888..56c6fe62d5d1fbeec86523f4d0123ad7f5784eb1 100644 (file)
@@ -456,13 +456,13 @@ disassembler_t::disassembler_t(int xlen)
   DEFINE_XFTYPE(fcvt_s_w);
   DEFINE_XFTYPE(fcvt_s_wu);
   DEFINE_XFTYPE(fcvt_s_wu);
-  DEFINE_XFTYPE(fmv_s_x);
+  DEFINE_XFTYPE(fmv_w_x);
   DEFINE_FXTYPE(fcvt_l_s);
   DEFINE_FXTYPE(fcvt_lu_s);
   DEFINE_FXTYPE(fcvt_w_s);
   DEFINE_FXTYPE(fcvt_wu_s);
   DEFINE_FXTYPE(fclass_s);
-  DEFINE_FXTYPE(fmv_x_s);
+  DEFINE_FXTYPE(fmv_x_w);
   DEFINE_FXTYPE(feq_s);
   DEFINE_FXTYPE(flt_s);
   DEFINE_FXTYPE(fle_s);