aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2010-11-09 15:31:00 -0800
committerAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2010-11-21 16:54:35 -0800
commit259d20a35dde46c51878dfd3afb7b8c518ed3dcf (patch)
tree7f6f457829f456f7d552e3c4fceb7f14830481d5 /riscv/insns
parent6d443095f92d8ff5d7c9831e1e111ef605d637f0 (diff)
downloadspike-259d20a35dde46c51878dfd3afb7b8c518ed3dcf.zip
spike-259d20a35dde46c51878dfd3afb7b8c518ed3dcf.tar.gz
spike-259d20a35dde46c51878dfd3afb7b8c518ed3dcf.tar.bz2
[opcodes, pk, sim, xcc] Tweaked FP encoding
Diffstat (limited to 'riscv/insns')
-rw-r--r--riscv/insns/add_d.h1
-rw-r--r--riscv/insns/add_d_rm.h4
-rw-r--r--riscv/insns/add_s.h1
-rw-r--r--riscv/insns/add_s_rm.h4
-rw-r--r--riscv/insns/cvt_d_l.h1
-rw-r--r--riscv/insns/cvt_d_l_rm.h5
-rw-r--r--riscv/insns/cvt_d_s.h1
-rw-r--r--riscv/insns/cvt_d_s_rm.h4
-rw-r--r--riscv/insns/cvt_d_w.h1
-rw-r--r--riscv/insns/cvt_d_w_rm.h4
-rw-r--r--riscv/insns/cvt_l_d.h (renamed from riscv/insns/cvt_l_d_rm.h)0
-rw-r--r--riscv/insns/cvt_l_s.h (renamed from riscv/insns/cvt_l_s_rm.h)0
-rw-r--r--riscv/insns/cvt_s_d.h1
-rw-r--r--riscv/insns/cvt_s_d_rm.h4
-rw-r--r--riscv/insns/cvt_s_l.h1
-rw-r--r--riscv/insns/cvt_s_l_rm.h5
-rw-r--r--riscv/insns/cvt_s_w.h1
-rw-r--r--riscv/insns/cvt_s_w_rm.h4
-rw-r--r--riscv/insns/cvt_w_d.h (renamed from riscv/insns/cvt_w_d_rm.h)0
-rw-r--r--riscv/insns/cvt_w_s.h (renamed from riscv/insns/cvt_w_s_rm.h)0
-rw-r--r--riscv/insns/cvtu_d_l.h1
-rw-r--r--riscv/insns/cvtu_d_l_rm.h5
-rw-r--r--riscv/insns/cvtu_d_w.h1
-rw-r--r--riscv/insns/cvtu_d_w_rm.h4
-rw-r--r--riscv/insns/cvtu_l_d.h (renamed from riscv/insns/cvtu_l_d_rm.h)0
-rw-r--r--riscv/insns/cvtu_l_s.h (renamed from riscv/insns/cvtu_l_s_rm.h)0
-rw-r--r--riscv/insns/cvtu_s_l.h1
-rw-r--r--riscv/insns/cvtu_s_l_rm.h5
-rw-r--r--riscv/insns/cvtu_s_w.h1
-rw-r--r--riscv/insns/cvtu_s_w_rm.h4
-rw-r--r--riscv/insns/cvtu_w_d.h (renamed from riscv/insns/cvtu_w_d_rm.h)0
-rw-r--r--riscv/insns/cvtu_w_s.h (renamed from riscv/insns/cvtu_w_s_rm.h)0
-rw-r--r--riscv/insns/div_d.h1
-rw-r--r--riscv/insns/div_d_rm.h4
-rw-r--r--riscv/insns/div_s.h1
-rw-r--r--riscv/insns/div_s_rm.h4
-rw-r--r--riscv/insns/madd_d.h1
-rw-r--r--riscv/insns/madd_d_rm.h4
-rw-r--r--riscv/insns/madd_s.h1
-rw-r--r--riscv/insns/madd_s_rm.h4
-rw-r--r--riscv/insns/msub_d.h1
-rw-r--r--riscv/insns/msub_d_rm.h4
-rw-r--r--riscv/insns/msub_s.h1
-rw-r--r--riscv/insns/msub_s_rm.h4
-rw-r--r--riscv/insns/mul_d.h1
-rw-r--r--riscv/insns/mul_d_rm.h4
-rw-r--r--riscv/insns/mul_s.h1
-rw-r--r--riscv/insns/mul_s_rm.h4
-rw-r--r--riscv/insns/nmadd_d.h1
-rw-r--r--riscv/insns/nmadd_d_rm.h4
-rw-r--r--riscv/insns/nmadd_s.h1
-rw-r--r--riscv/insns/nmadd_s_rm.h4
-rw-r--r--riscv/insns/nmsub_d.h1
-rw-r--r--riscv/insns/nmsub_d_rm.h4
-rw-r--r--riscv/insns/nmsub_s.h1
-rw-r--r--riscv/insns/nmsub_s_rm.h4
-rw-r--r--riscv/insns/sqrt_d.h1
-rw-r--r--riscv/insns/sqrt_d_rm.h4
-rw-r--r--riscv/insns/sqrt_s.h1
-rw-r--r--riscv/insns/sqrt_s_rm.h4
-rw-r--r--riscv/insns/sub_d.h1
-rw-r--r--riscv/insns/sub_d_rm.h4
-rw-r--r--riscv/insns/sub_s.h1
-rw-r--r--riscv/insns/sub_s_rm.h4
64 files changed, 28 insertions, 116 deletions
diff --git a/riscv/insns/add_d.h b/riscv/insns/add_d.h
index f467eb6..48c76a7 100644
--- a/riscv/insns/add_d.h
+++ b/riscv/insns/add_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_add(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/add_d_rm.h b/riscv/insns/add_d_rm.h
deleted file mode 100644
index 48c76a7..0000000
--- a/riscv/insns/add_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_add(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/add_s.h b/riscv/insns/add_s.h
index edae853..2fd5429 100644
--- a/riscv/insns/add_s.h
+++ b/riscv/insns/add_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_add(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/add_s_rm.h b/riscv/insns/add_s_rm.h
deleted file mode 100644
index 2fd5429..0000000
--- a/riscv/insns/add_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_add(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_d_l.h b/riscv/insns/cvt_d_l.h
index 28a03a9..84c1a71 100644
--- a/riscv/insns/cvt_d_l.h
+++ b/riscv/insns/cvt_d_l.h
@@ -1,4 +1,5 @@
require64;
require_fp;
+softfloat_roundingMode = RM;
FRD = i64_to_f64(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvt_d_l_rm.h b/riscv/insns/cvt_d_l_rm.h
deleted file mode 100644
index 84c1a71..0000000
--- a/riscv/insns/cvt_d_l_rm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-require64;
-require_fp;
-softfloat_roundingMode = RM;
-FRD = i64_to_f64(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_d_s.h b/riscv/insns/cvt_d_s.h
index 8e2b2f8..6b1a09c 100644
--- a/riscv/insns/cvt_d_s.h
+++ b/riscv/insns/cvt_d_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_to_f64(FRS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvt_d_s_rm.h b/riscv/insns/cvt_d_s_rm.h
deleted file mode 100644
index 6b1a09c..0000000
--- a/riscv/insns/cvt_d_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_to_f64(FRS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_d_w.h b/riscv/insns/cvt_d_w.h
index 94cd770..638a5ec 100644
--- a/riscv/insns/cvt_d_w.h
+++ b/riscv/insns/cvt_d_w.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = i32_to_f64(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvt_d_w_rm.h b/riscv/insns/cvt_d_w_rm.h
deleted file mode 100644
index 638a5ec..0000000
--- a/riscv/insns/cvt_d_w_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = i32_to_f64(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_l_d_rm.h b/riscv/insns/cvt_l_d.h
index 2747d67..2747d67 100644
--- a/riscv/insns/cvt_l_d_rm.h
+++ b/riscv/insns/cvt_l_d.h
diff --git a/riscv/insns/cvt_l_s_rm.h b/riscv/insns/cvt_l_s.h
index f5b053c..f5b053c 100644
--- a/riscv/insns/cvt_l_s_rm.h
+++ b/riscv/insns/cvt_l_s.h
diff --git a/riscv/insns/cvt_s_d.h b/riscv/insns/cvt_s_d.h
index 1c9b281..e5289c4 100644
--- a/riscv/insns/cvt_s_d.h
+++ b/riscv/insns/cvt_s_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_to_f32(FRS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvt_s_d_rm.h b/riscv/insns/cvt_s_d_rm.h
deleted file mode 100644
index e5289c4..0000000
--- a/riscv/insns/cvt_s_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_to_f32(FRS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_s_l.h b/riscv/insns/cvt_s_l.h
index c89657d..79fbc97 100644
--- a/riscv/insns/cvt_s_l.h
+++ b/riscv/insns/cvt_s_l.h
@@ -1,4 +1,5 @@
require64;
require_fp;
+softfloat_roundingMode = RM;
FRD = i64_to_f32(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvt_s_l_rm.h b/riscv/insns/cvt_s_l_rm.h
deleted file mode 100644
index 79fbc97..0000000
--- a/riscv/insns/cvt_s_l_rm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-require64;
-require_fp;
-softfloat_roundingMode = RM;
-FRD = i64_to_f32(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_s_w.h b/riscv/insns/cvt_s_w.h
index b11d783..12b1e73 100644
--- a/riscv/insns/cvt_s_w.h
+++ b/riscv/insns/cvt_s_w.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = i32_to_f32(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvt_s_w_rm.h b/riscv/insns/cvt_s_w_rm.h
deleted file mode 100644
index 12b1e73..0000000
--- a/riscv/insns/cvt_s_w_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = i32_to_f32(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_w_d_rm.h b/riscv/insns/cvt_w_d.h
index e924467..e924467 100644
--- a/riscv/insns/cvt_w_d_rm.h
+++ b/riscv/insns/cvt_w_d.h
diff --git a/riscv/insns/cvt_w_s_rm.h b/riscv/insns/cvt_w_s.h
index 809797f..809797f 100644
--- a/riscv/insns/cvt_w_s_rm.h
+++ b/riscv/insns/cvt_w_s.h
diff --git a/riscv/insns/cvtu_d_l.h b/riscv/insns/cvtu_d_l.h
index 28a03a9..84c1a71 100644
--- a/riscv/insns/cvtu_d_l.h
+++ b/riscv/insns/cvtu_d_l.h
@@ -1,4 +1,5 @@
require64;
require_fp;
+softfloat_roundingMode = RM;
FRD = i64_to_f64(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvtu_d_l_rm.h b/riscv/insns/cvtu_d_l_rm.h
deleted file mode 100644
index 84c1a71..0000000
--- a/riscv/insns/cvtu_d_l_rm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-require64;
-require_fp;
-softfloat_roundingMode = RM;
-FRD = i64_to_f64(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_d_w.h b/riscv/insns/cvtu_d_w.h
index 6a74d2d..2757790 100644
--- a/riscv/insns/cvtu_d_w.h
+++ b/riscv/insns/cvtu_d_w.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = ui32_to_f64(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvtu_d_w_rm.h b/riscv/insns/cvtu_d_w_rm.h
deleted file mode 100644
index 2757790..0000000
--- a/riscv/insns/cvtu_d_w_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = ui32_to_f64(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_l_d_rm.h b/riscv/insns/cvtu_l_d.h
index 2747d67..2747d67 100644
--- a/riscv/insns/cvtu_l_d_rm.h
+++ b/riscv/insns/cvtu_l_d.h
diff --git a/riscv/insns/cvtu_l_s_rm.h b/riscv/insns/cvtu_l_s.h
index f5b053c..f5b053c 100644
--- a/riscv/insns/cvtu_l_s_rm.h
+++ b/riscv/insns/cvtu_l_s.h
diff --git a/riscv/insns/cvtu_s_l.h b/riscv/insns/cvtu_s_l.h
index c89657d..79fbc97 100644
--- a/riscv/insns/cvtu_s_l.h
+++ b/riscv/insns/cvtu_s_l.h
@@ -1,4 +1,5 @@
require64;
require_fp;
+softfloat_roundingMode = RM;
FRD = i64_to_f32(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvtu_s_l_rm.h b/riscv/insns/cvtu_s_l_rm.h
deleted file mode 100644
index 79fbc97..0000000
--- a/riscv/insns/cvtu_s_l_rm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-require64;
-require_fp;
-softfloat_roundingMode = RM;
-FRD = i64_to_f32(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_s_w.h b/riscv/insns/cvtu_s_w.h
index 79bb829..4c53c01 100644
--- a/riscv/insns/cvtu_s_w.h
+++ b/riscv/insns/cvtu_s_w.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = ui32_to_f32(RS1);
set_fp_exceptions;
diff --git a/riscv/insns/cvtu_s_w_rm.h b/riscv/insns/cvtu_s_w_rm.h
deleted file mode 100644
index 4c53c01..0000000
--- a/riscv/insns/cvtu_s_w_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = ui32_to_f32(RS1);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_w_d_rm.h b/riscv/insns/cvtu_w_d.h
index 93860e8..93860e8 100644
--- a/riscv/insns/cvtu_w_d_rm.h
+++ b/riscv/insns/cvtu_w_d.h
diff --git a/riscv/insns/cvtu_w_s_rm.h b/riscv/insns/cvtu_w_s.h
index 04b8fb2..04b8fb2 100644
--- a/riscv/insns/cvtu_w_s_rm.h
+++ b/riscv/insns/cvtu_w_s.h
diff --git a/riscv/insns/div_d.h b/riscv/insns/div_d.h
index 9f756f0..aa00c98 100644
--- a/riscv/insns/div_d.h
+++ b/riscv/insns/div_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_div(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/div_d_rm.h b/riscv/insns/div_d_rm.h
deleted file mode 100644
index aa00c98..0000000
--- a/riscv/insns/div_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_div(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/div_s.h b/riscv/insns/div_s.h
index e70d085..8c76587 100644
--- a/riscv/insns/div_s.h
+++ b/riscv/insns/div_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_div(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/div_s_rm.h b/riscv/insns/div_s_rm.h
deleted file mode 100644
index 8c76587..0000000
--- a/riscv/insns/div_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_div(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/madd_d.h b/riscv/insns/madd_d.h
index 41de613..f67853e 100644
--- a/riscv/insns/madd_d.h
+++ b/riscv/insns/madd_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_mulAdd(FRS1, FRS2, FRS3);
set_fp_exceptions;
diff --git a/riscv/insns/madd_d_rm.h b/riscv/insns/madd_d_rm.h
deleted file mode 100644
index f67853e..0000000
--- a/riscv/insns/madd_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_mulAdd(FRS1, FRS2, FRS3);
-set_fp_exceptions;
diff --git a/riscv/insns/madd_s.h b/riscv/insns/madd_s.h
index ee26e3c..19db642 100644
--- a/riscv/insns/madd_s.h
+++ b/riscv/insns/madd_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_mulAdd(FRS1, FRS2, FRS3);
set_fp_exceptions;
diff --git a/riscv/insns/madd_s_rm.h b/riscv/insns/madd_s_rm.h
deleted file mode 100644
index 19db642..0000000
--- a/riscv/insns/madd_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_mulAdd(FRS1, FRS2, FRS3);
-set_fp_exceptions;
diff --git a/riscv/insns/msub_d.h b/riscv/insns/msub_d.h
index f3da451..b1e9340 100644
--- a/riscv/insns/msub_d.h
+++ b/riscv/insns/msub_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_mulAdd(FRS1, FRS2, FRS3 ^ (uint64_t)INT64_MIN);
set_fp_exceptions;
diff --git a/riscv/insns/msub_d_rm.h b/riscv/insns/msub_d_rm.h
deleted file mode 100644
index b1e9340..0000000
--- a/riscv/insns/msub_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_mulAdd(FRS1, FRS2, FRS3 ^ (uint64_t)INT64_MIN);
-set_fp_exceptions;
diff --git a/riscv/insns/msub_s.h b/riscv/insns/msub_s.h
index 170e1a1..d3349f5 100644
--- a/riscv/insns/msub_s.h
+++ b/riscv/insns/msub_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_mulAdd(FRS1, FRS2, FRS3 ^ (uint32_t)INT32_MIN);
set_fp_exceptions;
diff --git a/riscv/insns/msub_s_rm.h b/riscv/insns/msub_s_rm.h
deleted file mode 100644
index d3349f5..0000000
--- a/riscv/insns/msub_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_mulAdd(FRS1, FRS2, FRS3 ^ (uint32_t)INT32_MIN);
-set_fp_exceptions;
diff --git a/riscv/insns/mul_d.h b/riscv/insns/mul_d.h
index 6038728..a8adedd 100644
--- a/riscv/insns/mul_d.h
+++ b/riscv/insns/mul_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_mul(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/mul_d_rm.h b/riscv/insns/mul_d_rm.h
deleted file mode 100644
index a8adedd..0000000
--- a/riscv/insns/mul_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_mul(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/mul_s.h b/riscv/insns/mul_s.h
index 3a5905b..6475578 100644
--- a/riscv/insns/mul_s.h
+++ b/riscv/insns/mul_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_mul(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/mul_s_rm.h b/riscv/insns/mul_s_rm.h
deleted file mode 100644
index 6475578..0000000
--- a/riscv/insns/mul_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_mul(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/nmadd_d.h b/riscv/insns/nmadd_d.h
index 3d6ac52..1e2ee27 100644
--- a/riscv/insns/nmadd_d.h
+++ b/riscv/insns/nmadd_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_mulAdd(FRS1, FRS2, FRS3) ^ (uint64_t)INT64_MIN;
set_fp_exceptions;
diff --git a/riscv/insns/nmadd_d_rm.h b/riscv/insns/nmadd_d_rm.h
deleted file mode 100644
index 1e2ee27..0000000
--- a/riscv/insns/nmadd_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_mulAdd(FRS1, FRS2, FRS3) ^ (uint64_t)INT64_MIN;
-set_fp_exceptions;
diff --git a/riscv/insns/nmadd_s.h b/riscv/insns/nmadd_s.h
index aa05b50..78abb78 100644
--- a/riscv/insns/nmadd_s.h
+++ b/riscv/insns/nmadd_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_mulAdd(FRS1, FRS2, FRS3) ^ (uint32_t)INT32_MIN;
set_fp_exceptions;
diff --git a/riscv/insns/nmadd_s_rm.h b/riscv/insns/nmadd_s_rm.h
deleted file mode 100644
index 78abb78..0000000
--- a/riscv/insns/nmadd_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_mulAdd(FRS1, FRS2, FRS3) ^ (uint32_t)INT32_MIN;
-set_fp_exceptions;
diff --git a/riscv/insns/nmsub_d.h b/riscv/insns/nmsub_d.h
index fa4a862..ae643a5 100644
--- a/riscv/insns/nmsub_d.h
+++ b/riscv/insns/nmsub_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_mulAdd(FRS1, FRS2, FRS3 ^ (uint64_t)INT64_MIN) ^ (uint64_t)INT64_MIN;
set_fp_exceptions;
diff --git a/riscv/insns/nmsub_d_rm.h b/riscv/insns/nmsub_d_rm.h
deleted file mode 100644
index ae643a5..0000000
--- a/riscv/insns/nmsub_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_mulAdd(FRS1, FRS2, FRS3 ^ (uint64_t)INT64_MIN) ^ (uint64_t)INT64_MIN;
-set_fp_exceptions;
diff --git a/riscv/insns/nmsub_s.h b/riscv/insns/nmsub_s.h
index 98442f8..cbb70ba 100644
--- a/riscv/insns/nmsub_s.h
+++ b/riscv/insns/nmsub_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_mulAdd(FRS1, FRS2, FRS3 ^ (uint32_t)INT32_MIN) ^ (uint32_t)INT32_MIN;
set_fp_exceptions;
diff --git a/riscv/insns/nmsub_s_rm.h b/riscv/insns/nmsub_s_rm.h
deleted file mode 100644
index cbb70ba..0000000
--- a/riscv/insns/nmsub_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_mulAdd(FRS1, FRS2, FRS3 ^ (uint32_t)INT32_MIN) ^ (uint32_t)INT32_MIN;
-set_fp_exceptions;
diff --git a/riscv/insns/sqrt_d.h b/riscv/insns/sqrt_d.h
index e2a2014..7647c9c 100644
--- a/riscv/insns/sqrt_d.h
+++ b/riscv/insns/sqrt_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_sqrt(FRS1);
set_fp_exceptions;
diff --git a/riscv/insns/sqrt_d_rm.h b/riscv/insns/sqrt_d_rm.h
deleted file mode 100644
index 7647c9c..0000000
--- a/riscv/insns/sqrt_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_sqrt(FRS1);
-set_fp_exceptions;
diff --git a/riscv/insns/sqrt_s.h b/riscv/insns/sqrt_s.h
index c491649..426f241 100644
--- a/riscv/insns/sqrt_s.h
+++ b/riscv/insns/sqrt_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_sqrt(FRS1);
set_fp_exceptions;
diff --git a/riscv/insns/sqrt_s_rm.h b/riscv/insns/sqrt_s_rm.h
deleted file mode 100644
index 426f241..0000000
--- a/riscv/insns/sqrt_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_sqrt(FRS1);
-set_fp_exceptions;
diff --git a/riscv/insns/sub_d.h b/riscv/insns/sub_d.h
index 54630a2..e25eebb 100644
--- a/riscv/insns/sub_d.h
+++ b/riscv/insns/sub_d.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f64_sub(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/sub_d_rm.h b/riscv/insns/sub_d_rm.h
deleted file mode 100644
index e25eebb..0000000
--- a/riscv/insns/sub_d_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f64_sub(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/sub_s.h b/riscv/insns/sub_s.h
index 142c7ab..6c64d04 100644
--- a/riscv/insns/sub_s.h
+++ b/riscv/insns/sub_s.h
@@ -1,3 +1,4 @@
require_fp;
+softfloat_roundingMode = RM;
FRD = f32_sub(FRS1, FRS2);
set_fp_exceptions;
diff --git a/riscv/insns/sub_s_rm.h b/riscv/insns/sub_s_rm.h
deleted file mode 100644
index 6c64d04..0000000
--- a/riscv/insns/sub_s_rm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_sub(FRS1, FRS2);
-set_fp_exceptions;