[sim, pk, xcc, opcodes] great instruction renaming of 2011
authorAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>
Fri, 21 Jan 2011 04:37:22 +0000 (20:37 -0800)
committerAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>
Fri, 21 Jan 2011 04:37:22 +0000 (20:37 -0800)
159 files changed:
riscv/execute.h
riscv/insns/add_d.h [deleted file]
riscv/insns/add_s.h [deleted file]
riscv/insns/amo_add.h [deleted file]
riscv/insns/amo_and.h [deleted file]
riscv/insns/amo_max.h [deleted file]
riscv/insns/amo_maxu.h [deleted file]
riscv/insns/amo_min.h [deleted file]
riscv/insns/amo_minu.h [deleted file]
riscv/insns/amo_or.h [deleted file]
riscv/insns/amo_swap.h [deleted file]
riscv/insns/amoadd_d.h [new file with mode: 0644]
riscv/insns/amoadd_w.h [new file with mode: 0644]
riscv/insns/amoand_d.h [new file with mode: 0644]
riscv/insns/amoand_w.h [new file with mode: 0644]
riscv/insns/amomax_d.h [new file with mode: 0644]
riscv/insns/amomax_w.h [new file with mode: 0644]
riscv/insns/amomaxu_d.h [new file with mode: 0644]
riscv/insns/amomaxu_w.h [new file with mode: 0644]
riscv/insns/amomin_d.h [new file with mode: 0644]
riscv/insns/amomin_w.h [new file with mode: 0644]
riscv/insns/amominu_d.h [new file with mode: 0644]
riscv/insns/amominu_w.h [new file with mode: 0644]
riscv/insns/amoor_d.h [new file with mode: 0644]
riscv/insns/amoor_w.h [new file with mode: 0644]
riscv/insns/amoswap_d.h [new file with mode: 0644]
riscv/insns/amoswap_w.h [new file with mode: 0644]
riscv/insns/amow_add.h [deleted file]
riscv/insns/amow_and.h [deleted file]
riscv/insns/amow_max.h [deleted file]
riscv/insns/amow_maxu.h [deleted file]
riscv/insns/amow_min.h [deleted file]
riscv/insns/amow_minu.h [deleted file]
riscv/insns/amow_or.h [deleted file]
riscv/insns/amow_swap.h [deleted file]
riscv/insns/c_eq_d.h [deleted file]
riscv/insns/c_eq_s.h [deleted file]
riscv/insns/c_le_d.h [deleted file]
riscv/insns/c_le_s.h [deleted file]
riscv/insns/c_lt_d.h [deleted file]
riscv/insns/c_lt_s.h [deleted file]
riscv/insns/cvt_d_l.h [deleted file]
riscv/insns/cvt_d_s.h [deleted file]
riscv/insns/cvt_d_w.h [deleted file]
riscv/insns/cvt_l_d.h [deleted file]
riscv/insns/cvt_l_s.h [deleted file]
riscv/insns/cvt_s_d.h [deleted file]
riscv/insns/cvt_s_l.h [deleted file]
riscv/insns/cvt_s_w.h [deleted file]
riscv/insns/cvt_w_d.h [deleted file]
riscv/insns/cvt_w_s.h [deleted file]
riscv/insns/cvtu_d_l.h [deleted file]
riscv/insns/cvtu_d_w.h [deleted file]
riscv/insns/cvtu_l_d.h [deleted file]
riscv/insns/cvtu_l_s.h [deleted file]
riscv/insns/cvtu_s_l.h [deleted file]
riscv/insns/cvtu_s_w.h [deleted file]
riscv/insns/cvtu_w_d.h [deleted file]
riscv/insns/cvtu_w_s.h [deleted file]
riscv/insns/div_d.h [deleted file]
riscv/insns/div_s.h [deleted file]
riscv/insns/fadd_d.h [new file with mode: 0644]
riscv/insns/fadd_s.h [new file with mode: 0644]
riscv/insns/fc_eq_d.h [new file with mode: 0644]
riscv/insns/fc_eq_s.h [new file with mode: 0644]
riscv/insns/fc_le_d.h [new file with mode: 0644]
riscv/insns/fc_le_s.h [new file with mode: 0644]
riscv/insns/fc_lt_d.h [new file with mode: 0644]
riscv/insns/fc_lt_s.h [new file with mode: 0644]
riscv/insns/fcvt_d_l.h [new file with mode: 0644]
riscv/insns/fcvt_d_s.h [new file with mode: 0644]
riscv/insns/fcvt_d_w.h [new file with mode: 0644]
riscv/insns/fcvt_l_d.h [new file with mode: 0644]
riscv/insns/fcvt_l_s.h [new file with mode: 0644]
riscv/insns/fcvt_s_d.h [new file with mode: 0644]
riscv/insns/fcvt_s_l.h [new file with mode: 0644]
riscv/insns/fcvt_s_w.h [new file with mode: 0644]
riscv/insns/fcvt_w_d.h [new file with mode: 0644]
riscv/insns/fcvt_w_s.h [new file with mode: 0644]
riscv/insns/fcvtu_d_l.h [new file with mode: 0644]
riscv/insns/fcvtu_d_w.h [new file with mode: 0644]
riscv/insns/fcvtu_l_d.h [new file with mode: 0644]
riscv/insns/fcvtu_l_s.h [new file with mode: 0644]
riscv/insns/fcvtu_s_l.h [new file with mode: 0644]
riscv/insns/fcvtu_s_w.h [new file with mode: 0644]
riscv/insns/fcvtu_w_d.h [new file with mode: 0644]
riscv/insns/fcvtu_w_s.h [new file with mode: 0644]
riscv/insns/fdiv_d.h [new file with mode: 0644]
riscv/insns/fdiv_s.h [new file with mode: 0644]
riscv/insns/fmadd_d.h [new file with mode: 0644]
riscv/insns/fmadd_s.h [new file with mode: 0644]
riscv/insns/fmsub_d.h [new file with mode: 0644]
riscv/insns/fmsub_s.h [new file with mode: 0644]
riscv/insns/fmul_d.h [new file with mode: 0644]
riscv/insns/fmul_s.h [new file with mode: 0644]
riscv/insns/fnmadd_d.h [new file with mode: 0644]
riscv/insns/fnmadd_s.h [new file with mode: 0644]
riscv/insns/fnmsub_d.h [new file with mode: 0644]
riscv/insns/fnmsub_s.h [new file with mode: 0644]
riscv/insns/fsel_d.h [new file with mode: 0644]
riscv/insns/fsel_s.h [new file with mode: 0644]
riscv/insns/fsinj_d.h [new file with mode: 0644]
riscv/insns/fsinj_s.h [new file with mode: 0644]
riscv/insns/fsinjn_d.h [new file with mode: 0644]
riscv/insns/fsinjn_s.h [new file with mode: 0644]
riscv/insns/fsmul_d.h [new file with mode: 0644]
riscv/insns/fsmul_s.h [new file with mode: 0644]
riscv/insns/fsqrt_d.h [new file with mode: 0644]
riscv/insns/fsqrt_s.h [new file with mode: 0644]
riscv/insns/fsub_d.h [new file with mode: 0644]
riscv/insns/fsub_s.h [new file with mode: 0644]
riscv/insns/l_b.h [new file with mode: 0644]
riscv/insns/l_bu.h [new file with mode: 0644]
riscv/insns/l_d.h
riscv/insns/l_h.h [new file with mode: 0644]
riscv/insns/l_hu.h [new file with mode: 0644]
riscv/insns/l_s.h [deleted file]
riscv/insns/l_w.h [new file with mode: 0644]
riscv/insns/l_wu.h [new file with mode: 0644]
riscv/insns/lb.h [deleted file]
riscv/insns/lbu.h [deleted file]
riscv/insns/ld.h [deleted file]
riscv/insns/lf_d.h [new file with mode: 0644]
riscv/insns/lf_w.h [new file with mode: 0644]
riscv/insns/lh.h [deleted file]
riscv/insns/lhu.h [deleted file]
riscv/insns/lw.h [deleted file]
riscv/insns/lwu.h [deleted file]
riscv/insns/madd_d.h [deleted file]
riscv/insns/madd_s.h [deleted file]
riscv/insns/msub_d.h [deleted file]
riscv/insns/msub_s.h [deleted file]
riscv/insns/mul_d.h [deleted file]
riscv/insns/mul_s.h [deleted file]
riscv/insns/nmadd_d.h [deleted file]
riscv/insns/nmadd_s.h [deleted file]
riscv/insns/nmsub_d.h [deleted file]
riscv/insns/nmsub_s.h [deleted file]
riscv/insns/s_b.h [new file with mode: 0644]
riscv/insns/s_d.h
riscv/insns/s_h.h [new file with mode: 0644]
riscv/insns/s_s.h [deleted file]
riscv/insns/s_w.h [new file with mode: 0644]
riscv/insns/sb.h [deleted file]
riscv/insns/sd.h [deleted file]
riscv/insns/sf_d.h [new file with mode: 0644]
riscv/insns/sf_w.h [new file with mode: 0644]
riscv/insns/sgninj_d.h [deleted file]
riscv/insns/sgninj_s.h [deleted file]
riscv/insns/sgninjn_d.h [deleted file]
riscv/insns/sgninjn_s.h [deleted file]
riscv/insns/sgnmul_d.h [deleted file]
riscv/insns/sgnmul_s.h [deleted file]
riscv/insns/sh.h [deleted file]
riscv/insns/sqrt_d.h [deleted file]
riscv/insns/sqrt_s.h [deleted file]
riscv/insns/sub_d.h [deleted file]
riscv/insns/sub_s.h [deleted file]
riscv/insns/sw.h [deleted file]

index b8e396ad7312c4ca9be12d5fcb2ce5918de86433..88b5a84bab42b11a1b4e55188b2d2a8cb6fc24a1 100644 (file)
@@ -98,18 +98,47 @@ switch((insn.bits >> 0x0) & 0x7f)
     }
     break;
   }
+  case 0x67:
+  {
+    switch((insn.bits >> 0x7) & 0x7)
+    {
+      case 0x0:
+      {
+        if((insn.bits & 0xfff) == 0x67)
+        {
+          #include "insns/fsel_s.h"
+          break;
+        }
+        #include "insns/unimp.h"
+      }
+      case 0x3:
+      {
+        if((insn.bits & 0xfff) == 0x1e7)
+        {
+          #include "insns/fsel_d.h"
+          break;
+        }
+        #include "insns/unimp.h"
+      }
+      default:
+      {
+        #include "insns/unimp.h"
+      }
+    }
+    break;
+  }
   case 0x68:
   {
     switch((insn.bits >> 0x7) & 0x7)
     {
       case 0x2:
       {
-        #include "insns/l_s.h"
+        #include "insns/lf_w.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/l_d.h"
+        #include "insns/lf_d.h"
         break;
       }
       default:
@@ -125,12 +154,12 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x2:
       {
-        #include "insns/s_s.h"
+        #include "insns/sf_w.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/s_d.h"
+        #include "insns/sf_d.h"
         break;
       }
       default:
@@ -146,39 +175,39 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x0:
       {
-        if((insn.bits & 0x1ffff) == 0x1506a)
+        if((insn.bits & 0x1ffff) == 0x606a)
         {
-          #include "insns/c_eq_s.h"
+          #include "insns/fsinjn_s.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x506a)
+        if((insn.bits & 0x7c1ffff) == 0x1846a)
         {
-          #include "insns/sgninj_s.h"
+          #include "insns/mff_s.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xa06a)
+        if((insn.bits & 0x3ff1ff) == 0x1306a)
         {
-          #include "insns/cvt_w_s.h"
+          #include "insns/fcvt_s_d.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xe06a)
+        if((insn.bits & 0x1f1ff) == 0x6a)
         {
-          #include "insns/cvt_s_w.h"
+          #include "insns/fadd_s.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x6a)
+        if((insn.bits & 0x3ff1ff) == 0xe06a)
         {
-          #include "insns/add_s.h"
+          #include "insns/fcvt_s_w.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0x906a)
+        if((insn.bits & 0x3ff1ff) == 0xb06a)
         {
-          #include "insns/cvtu_l_s.h"
+          #include "insns/fcvtu_w_s.h"
           break;
         }
-        if((insn.bits & 0x7c1ffff) == 0x1846a)
+        if((insn.bits & 0x3ff1ff) == 0x806a)
         {
-          #include "insns/mff_s.h"
+          #include "insns/fcvt_l_s.h"
           break;
         }
         if((insn.bits & 0x3fffff) == 0x1c46a)
@@ -186,158 +215,153 @@ switch((insn.bits >> 0x0) & 0x7f)
           #include "insns/mtf_s.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x606a)
+        if((insn.bits & 0x1f1ff) == 0x306a)
         {
-          #include "insns/sgninjn_s.h"
+          #include "insns/fdiv_s.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0x806a)
+        if((insn.bits & 0x1ffff) == 0x1606a)
         {
-          #include "insns/cvt_l_s.h"
+          #include "insns/fc_lt_s.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xf06a)
+        if((insn.bits & 0x1f1ff) == 0x206a)
         {
-          #include "insns/cvtu_s_w.h"
+          #include "insns/fmul_s.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xd06a)
+        if((insn.bits & 0x1ffff) == 0x706a)
         {
-          #include "insns/cvtu_s_l.h"
+          #include "insns/fsmul_s.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x106a)
+        if((insn.bits & 0x3ff1ff) == 0xa06a)
         {
-          #include "insns/sub_s.h"
+          #include "insns/fcvt_w_s.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0x406a)
+        if((insn.bits & 0x1ffff) == 0x506a)
         {
-          #include "insns/sqrt_s.h"
+          #include "insns/fsinj_s.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x1606a)
+        if((insn.bits & 0x1f1ff) == 0x106a)
         {
-          #include "insns/c_lt_s.h"
+          #include "insns/fsub_s.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x706a)
+        if((insn.bits & 0x1ffff) == 0x1706a)
         {
-          #include "insns/sgnmul_s.h"
+          #include "insns/fc_le_s.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xc06a)
+        if((insn.bits & 0x3ff1ff) == 0xf06a)
         {
-          #include "insns/cvt_s_l.h"
+          #include "insns/fcvtu_s_w.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x306a)
+        if((insn.bits & 0x3ff1ff) == 0xd06a)
         {
-          #include "insns/div_s.h"
+          #include "insns/fcvtu_s_l.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0x1306a)
+        if((insn.bits & 0x3ff1ff) == 0x906a)
         {
-          #include "insns/cvt_s_d.h"
+          #include "insns/fcvtu_l_s.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x1706a)
+        if((insn.bits & 0x3ff1ff) == 0xc06a)
         {
-          #include "insns/c_le_s.h"
+          #include "insns/fcvt_s_l.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x206a)
+        if((insn.bits & 0x3ff1ff) == 0x406a)
         {
-          #include "insns/mul_s.h"
+          #include "insns/fsqrt_s.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xb06a)
+        if((insn.bits & 0x1ffff) == 0x1506a)
         {
-          #include "insns/cvtu_w_s.h"
+          #include "insns/fc_eq_s.h"
           break;
         }
         #include "insns/unimp.h"
       }
       case 0x3:
       {
-        if((insn.bits & 0x3ff1ff) == 0xa1ea)
-        {
-          #include "insns/cvt_w_d.h"
-          break;
-        }
         if((insn.bits & 0x7c1ffff) == 0x185ea)
         {
           #include "insns/mff_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x51ea)
+        if((insn.bits & 0x1ffff) == 0x61ea)
         {
-          #include "insns/sgninj_d.h"
+          #include "insns/fsinjn_d.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x31ea)
+        if((insn.bits & 0x3ff1ff) == 0xc1ea)
         {
-          #include "insns/div_d.h"
+          #include "insns/fcvt_d_l.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x151ea)
+        if((insn.bits & 0x3fffff) == 0xe1ea)
         {
-          #include "insns/c_eq_d.h"
+          #include "insns/fcvt_d_w.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xd1ea)
+        if((insn.bits & 0x3fffff) == 0x101ea)
         {
-          #include "insns/cvtu_d_l.h"
+          #include "insns/fcvt_d_s.h"
           break;
         }
-        if((insn.bits & 0x3fffff) == 0xf1ea)
+        if((insn.bits & 0x7c1ffff) == 0x195ea)
         {
-          #include "insns/cvtu_d_w.h"
+          #include "insns/mffl_d.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0x91ea)
+        if((insn.bits & 0x7c1ffff) == 0x1a5ea)
         {
-          #include "insns/cvtu_l_d.h"
+          #include "insns/mffh_d.h"
           break;
         }
-        if((insn.bits & 0x7c1ffff) == 0x195ea)
+        if((insn.bits & 0x3ff1ff) == 0x81ea)
         {
-          #include "insns/mffl_d.h"
+          #include "insns/fcvt_l_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x71ea)
+        if((insn.bits & 0x3fffff) == 0xf1ea)
         {
-          #include "insns/sgnmul_d.h"
+          #include "insns/fcvtu_d_w.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x1ea)
+        if((insn.bits & 0x1ffff) == 0x161ea)
         {
-          #include "insns/add_d.h"
+          #include "insns/fc_lt_d.h"
           break;
         }
-        if((insn.bits & 0x7c1ffff) == 0x1a5ea)
+        if((insn.bits & 0x1f1ff) == 0x21ea)
         {
-          #include "insns/mffh_d.h"
+          #include "insns/fmul_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x171ea)
+        if((insn.bits & 0x1ffff) == 0x151ea)
         {
-          #include "insns/c_le_d.h"
+          #include "insns/fc_eq_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x61ea)
+        if((insn.bits & 0x1ffff) == 0x71ea)
         {
-          #include "insns/sgninjn_d.h"
+          #include "insns/fsmul_d.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0x81ea)
+        if((insn.bits & 0x1ffff) == 0x51ea)
         {
-          #include "insns/cvt_l_d.h"
+          #include "insns/fsinj_d.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x11ea)
+        if((insn.bits & 0x3ff1ff) == 0xa1ea)
         {
-          #include "insns/sub_d.h"
+          #include "insns/fcvt_w_d.h"
           break;
         }
         if((insn.bits & 0x3fffff) == 0x1c5ea)
@@ -345,39 +369,44 @@ switch((insn.bits >> 0x0) & 0x7f)
           #include "insns/mtf_d.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0x41ea)
+        if((insn.bits & 0x1ffff) == 0x171ea)
         {
-          #include "insns/sqrt_d.h"
+          #include "insns/fc_le_d.h"
           break;
         }
-        if((insn.bits & 0x3fffff) == 0x101ea)
+        if((insn.bits & 0x3ff1ff) == 0xb1ea)
         {
-          #include "insns/cvt_d_s.h"
+          #include "insns/fcvtu_w_d.h"
           break;
         }
-        if((insn.bits & 0x3fffff) == 0xe1ea)
+        if((insn.bits & 0x1f1ff) == 0x1ea)
         {
-          #include "insns/cvt_d_w.h"
+          #include "insns/fadd_d.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xc1ea)
+        if((insn.bits & 0x3ff1ff) == 0x91ea)
         {
-          #include "insns/cvt_d_l.h"
+          #include "insns/fcvtu_l_d.h"
           break;
         }
-        if((insn.bits & 0x1f1ff) == 0x21ea)
+        if((insn.bits & 0x1f1ff) == 0x11ea)
         {
-          #include "insns/mul_d.h"
+          #include "insns/fsub_d.h"
           break;
         }
-        if((insn.bits & 0x3ff1ff) == 0xb1ea)
+        if((insn.bits & 0x3ff1ff) == 0x41ea)
         {
-          #include "insns/cvtu_w_d.h"
+          #include "insns/fsqrt_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x161ea)
+        if((insn.bits & 0x1f1ff) == 0x31ea)
+        {
+          #include "insns/fdiv_d.h"
+          break;
+        }
+        if((insn.bits & 0x3ff1ff) == 0xd1ea)
         {
-          #include "insns/c_lt_d.h"
+          #include "insns/fcvtu_d_l.h"
           break;
         }
         #include "insns/unimp.h"
@@ -452,12 +481,12 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x0:
       {
-        #include "insns/madd_s.h"
+        #include "insns/fmadd_s.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/madd_d.h"
+        #include "insns/fmadd_d.h"
         break;
       }
       default:
@@ -473,12 +502,12 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x0:
       {
-        #include "insns/msub_s.h"
+        #include "insns/fmsub_s.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/msub_d.h"
+        #include "insns/fmsub_d.h"
         break;
       }
       default:
@@ -494,12 +523,12 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x0:
       {
-        #include "insns/nmsub_s.h"
+        #include "insns/fnmsub_s.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/nmsub_d.h"
+        #include "insns/fnmsub_d.h"
         break;
       }
       default:
@@ -515,12 +544,12 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x0:
       {
-        #include "insns/nmadd_s.h"
+        #include "insns/fnmadd_s.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/nmadd_d.h"
+        #include "insns/fnmadd_d.h"
         break;
       }
       default:
@@ -817,37 +846,37 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x0:
       {
-        #include "insns/lb.h"
+        #include "insns/l_b.h"
         break;
       }
       case 0x1:
       {
-        #include "insns/lh.h"
+        #include "insns/l_h.h"
         break;
       }
       case 0x2:
       {
-        #include "insns/lw.h"
+        #include "insns/l_w.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/ld.h"
+        #include "insns/l_d.h"
         break;
       }
       case 0x4:
       {
-        #include "insns/lbu.h"
+        #include "insns/l_bu.h"
         break;
       }
       case 0x5:
       {
-        #include "insns/lhu.h"
+        #include "insns/l_hu.h"
         break;
       }
       case 0x6:
       {
-        #include "insns/lwu.h"
+        #include "insns/l_wu.h"
         break;
       }
       case 0x7:
@@ -872,22 +901,22 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x0:
       {
-        #include "insns/sb.h"
+        #include "insns/s_b.h"
         break;
       }
       case 0x1:
       {
-        #include "insns/sh.h"
+        #include "insns/s_h.h"
         break;
       }
       case 0x2:
       {
-        #include "insns/sw.h"
+        #include "insns/s_w.h"
         break;
       }
       case 0x3:
       {
-        #include "insns/sd.h"
+        #include "insns/s_d.h"
         break;
       }
       default:
@@ -903,88 +932,88 @@ switch((insn.bits >> 0x0) & 0x7f)
     {
       case 0x2:
       {
-        if((insn.bits & 0x1ffff) == 0x157a)
+        if((insn.bits & 0x1ffff) == 0x197a)
         {
-          #include "insns/amow_max.h"
+          #include "insns/amominu_w.h"
           break;
         }
         if((insn.bits & 0x1ffff) == 0x97a)
         {
-          #include "insns/amow_and.h"
+          #include "insns/amoand_w.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x117a)
+        if((insn.bits & 0x1ffff) == 0x1d7a)
         {
-          #include "insns/amow_min.h"
+          #include "insns/amomaxu_w.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0xd7a)
+        if((insn.bits & 0x1ffff) == 0x157a)
         {
-          #include "insns/amow_or.h"
+          #include "insns/amomax_w.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x197a)
+        if((insn.bits & 0x1ffff) == 0x17a)
         {
-          #include "insns/amow_minu.h"
+          #include "insns/amoadd_w.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x17a)
+        if((insn.bits & 0x1ffff) == 0xd7a)
         {
-          #include "insns/amow_add.h"
+          #include "insns/amoor_w.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x57a)
+        if((insn.bits & 0x1ffff) == 0x117a)
         {
-          #include "insns/amow_swap.h"
+          #include "insns/amomin_w.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x1d7a)
+        if((insn.bits & 0x1ffff) == 0x57a)
         {
-          #include "insns/amow_maxu.h"
+          #include "insns/amoswap_w.h"
           break;
         }
         #include "insns/unimp.h"
       }
       case 0x3:
       {
-        if((insn.bits & 0x1ffff) == 0x1fa)
+        if((insn.bits & 0x1ffff) == 0x19fa)
         {
-          #include "insns/amo_add.h"
+          #include "insns/amominu_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x5fa)
+        if((insn.bits & 0x1ffff) == 0x9fa)
         {
-          #include "insns/amo_swap.h"
+          #include "insns/amoand_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0xdfa)
+        if((insn.bits & 0x1ffff) == 0x1dfa)
         {
-          #include "insns/amo_or.h"
+          #include "insns/amomaxu_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x15fa)
+        if((insn.bits & 0x1ffff) == 0x11fa)
         {
-          #include "insns/amo_max.h"
+          #include "insns/amomin_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x11fa)
+        if((insn.bits & 0x1ffff) == 0x1fa)
         {
-          #include "insns/amo_min.h"
+          #include "insns/amoadd_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x19fa)
+        if((insn.bits & 0x1ffff) == 0x15fa)
         {
-          #include "insns/amo_minu.h"
+          #include "insns/amomax_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x9fa)
+        if((insn.bits & 0x1ffff) == 0xdfa)
         {
-          #include "insns/amo_and.h"
+          #include "insns/amoor_d.h"
           break;
         }
-        if((insn.bits & 0x1ffff) == 0x1dfa)
+        if((insn.bits & 0x1ffff) == 0x5fa)
         {
-          #include "insns/amo_maxu.h"
+          #include "insns/amoswap_d.h"
           break;
         }
         #include "insns/unimp.h"
diff --git a/riscv/insns/add_d.h b/riscv/insns/add_d.h
deleted file mode 100644 (file)
index 48c76a7..0000000
+++ /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
deleted file mode 100644 (file)
index 2fd5429..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_add(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/amo_add.h b/riscv/insns/amo_add.h
deleted file mode 100644 (file)
index b8450bf..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-reg_t v = mmu.load_uint64(RS1);
-mmu.store_uint64(RS1, RS2 + v);
-RD = v;
diff --git a/riscv/insns/amo_and.h b/riscv/insns/amo_and.h
deleted file mode 100644 (file)
index 586eb7f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-reg_t v = mmu.load_uint64(RS1);
-mmu.store_uint64(RS1, RS2 & v);
-RD = v;
diff --git a/riscv/insns/amo_max.h b/riscv/insns/amo_max.h
deleted file mode 100644 (file)
index 1a0bc8a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-sreg_t v = mmu.load_int64(RS1);
-mmu.store_uint64(RS1, std::max(sreg_t(RS2),v));
-RD = v;
diff --git a/riscv/insns/amo_maxu.h b/riscv/insns/amo_maxu.h
deleted file mode 100644 (file)
index ccfaf1d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-reg_t v = mmu.load_uint64(RS1);
-mmu.store_uint64(RS1, std::max(RS2,v));
-RD = v;
diff --git a/riscv/insns/amo_min.h b/riscv/insns/amo_min.h
deleted file mode 100644 (file)
index 4f3b6d6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-sreg_t v = mmu.load_int64(RS1);
-mmu.store_uint64(RS1, std::min(sreg_t(RS2),v));
-RD = v;
diff --git a/riscv/insns/amo_minu.h b/riscv/insns/amo_minu.h
deleted file mode 100644 (file)
index c09c51a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-reg_t v = mmu.load_uint64(RS1);
-mmu.store_uint64(RS1, std::min(RS2,v));
-RD = v;
diff --git a/riscv/insns/amo_or.h b/riscv/insns/amo_or.h
deleted file mode 100644 (file)
index 76a4508..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-reg_t v = mmu.load_uint64(RS1);
-mmu.store_uint64(RS1, RS2 | v);
-RD = v;
diff --git a/riscv/insns/amo_swap.h b/riscv/insns/amo_swap.h
deleted file mode 100644 (file)
index 43e3538..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_xpr64;
-reg_t v = mmu.load_uint64(RS1);
-mmu.store_uint64(RS1, RS2);
-RD = v;
diff --git a/riscv/insns/amoadd_d.h b/riscv/insns/amoadd_d.h
new file mode 100644 (file)
index 0000000..b8450bf
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+reg_t v = mmu.load_uint64(RS1);
+mmu.store_uint64(RS1, RS2 + v);
+RD = v;
diff --git a/riscv/insns/amoadd_w.h b/riscv/insns/amoadd_w.h
new file mode 100644 (file)
index 0000000..033b3c8
--- /dev/null
@@ -0,0 +1,3 @@
+reg_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, RS2 + v);
+RD = v;
diff --git a/riscv/insns/amoand_d.h b/riscv/insns/amoand_d.h
new file mode 100644 (file)
index 0000000..586eb7f
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+reg_t v = mmu.load_uint64(RS1);
+mmu.store_uint64(RS1, RS2 & v);
+RD = v;
diff --git a/riscv/insns/amoand_w.h b/riscv/insns/amoand_w.h
new file mode 100644 (file)
index 0000000..18a9249
--- /dev/null
@@ -0,0 +1,3 @@
+reg_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, RS2 & v);
+RD = v;
diff --git a/riscv/insns/amomax_d.h b/riscv/insns/amomax_d.h
new file mode 100644 (file)
index 0000000..1a0bc8a
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+sreg_t v = mmu.load_int64(RS1);
+mmu.store_uint64(RS1, std::max(sreg_t(RS2),v));
+RD = v;
diff --git a/riscv/insns/amomax_w.h b/riscv/insns/amomax_w.h
new file mode 100644 (file)
index 0000000..ff9c2da
--- /dev/null
@@ -0,0 +1,3 @@
+int32_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, std::max(int32_t(RS2),v));
+RD = v;
diff --git a/riscv/insns/amomaxu_d.h b/riscv/insns/amomaxu_d.h
new file mode 100644 (file)
index 0000000..ccfaf1d
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+reg_t v = mmu.load_uint64(RS1);
+mmu.store_uint64(RS1, std::max(RS2,v));
+RD = v;
diff --git a/riscv/insns/amomaxu_w.h b/riscv/insns/amomaxu_w.h
new file mode 100644 (file)
index 0000000..f7b0b7f
--- /dev/null
@@ -0,0 +1,3 @@
+uint32_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, std::max(uint32_t(RS2),v));
+RD = v;
diff --git a/riscv/insns/amomin_d.h b/riscv/insns/amomin_d.h
new file mode 100644 (file)
index 0000000..4f3b6d6
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+sreg_t v = mmu.load_int64(RS1);
+mmu.store_uint64(RS1, std::min(sreg_t(RS2),v));
+RD = v;
diff --git a/riscv/insns/amomin_w.h b/riscv/insns/amomin_w.h
new file mode 100644 (file)
index 0000000..529ad50
--- /dev/null
@@ -0,0 +1,3 @@
+int32_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, std::min(int32_t(RS2),v));
+RD = v;
diff --git a/riscv/insns/amominu_d.h b/riscv/insns/amominu_d.h
new file mode 100644 (file)
index 0000000..c09c51a
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+reg_t v = mmu.load_uint64(RS1);
+mmu.store_uint64(RS1, std::min(RS2,v));
+RD = v;
diff --git a/riscv/insns/amominu_w.h b/riscv/insns/amominu_w.h
new file mode 100644 (file)
index 0000000..2e9fd17
--- /dev/null
@@ -0,0 +1,3 @@
+uint32_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, std::min(uint32_t(RS2),v));
+RD = v;
diff --git a/riscv/insns/amoor_d.h b/riscv/insns/amoor_d.h
new file mode 100644 (file)
index 0000000..76a4508
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+reg_t v = mmu.load_uint64(RS1);
+mmu.store_uint64(RS1, RS2 | v);
+RD = v;
diff --git a/riscv/insns/amoor_w.h b/riscv/insns/amoor_w.h
new file mode 100644 (file)
index 0000000..741fbef
--- /dev/null
@@ -0,0 +1,3 @@
+reg_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, RS2 | v);
+RD = v;
diff --git a/riscv/insns/amoswap_d.h b/riscv/insns/amoswap_d.h
new file mode 100644 (file)
index 0000000..43e3538
--- /dev/null
@@ -0,0 +1,4 @@
+require_xpr64;
+reg_t v = mmu.load_uint64(RS1);
+mmu.store_uint64(RS1, RS2);
+RD = v;
diff --git a/riscv/insns/amoswap_w.h b/riscv/insns/amoswap_w.h
new file mode 100644 (file)
index 0000000..30e6102
--- /dev/null
@@ -0,0 +1,3 @@
+reg_t v = mmu.load_int32(RS1);
+mmu.store_uint32(RS1, RS2);
+RD = v;
diff --git a/riscv/insns/amow_add.h b/riscv/insns/amow_add.h
deleted file mode 100644 (file)
index 033b3c8..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-reg_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, RS2 + v);
-RD = v;
diff --git a/riscv/insns/amow_and.h b/riscv/insns/amow_and.h
deleted file mode 100644 (file)
index 18a9249..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-reg_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, RS2 & v);
-RD = v;
diff --git a/riscv/insns/amow_max.h b/riscv/insns/amow_max.h
deleted file mode 100644 (file)
index ff9c2da..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-int32_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, std::max(int32_t(RS2),v));
-RD = v;
diff --git a/riscv/insns/amow_maxu.h b/riscv/insns/amow_maxu.h
deleted file mode 100644 (file)
index f7b0b7f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-uint32_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, std::max(uint32_t(RS2),v));
-RD = v;
diff --git a/riscv/insns/amow_min.h b/riscv/insns/amow_min.h
deleted file mode 100644 (file)
index 529ad50..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-int32_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, std::min(int32_t(RS2),v));
-RD = v;
diff --git a/riscv/insns/amow_minu.h b/riscv/insns/amow_minu.h
deleted file mode 100644 (file)
index 2e9fd17..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-uint32_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, std::min(uint32_t(RS2),v));
-RD = v;
diff --git a/riscv/insns/amow_or.h b/riscv/insns/amow_or.h
deleted file mode 100644 (file)
index 741fbef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-reg_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, RS2 | v);
-RD = v;
diff --git a/riscv/insns/amow_swap.h b/riscv/insns/amow_swap.h
deleted file mode 100644 (file)
index 30e6102..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-reg_t v = mmu.load_int32(RS1);
-mmu.store_uint32(RS1, RS2);
-RD = v;
diff --git a/riscv/insns/c_eq_d.h b/riscv/insns/c_eq_d.h
deleted file mode 100644 (file)
index 9db8760..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_fp;
-RD = f64_eq(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/c_eq_s.h b/riscv/insns/c_eq_s.h
deleted file mode 100644 (file)
index 658e8f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_fp;
-RD = f32_eq(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/c_le_d.h b/riscv/insns/c_le_d.h
deleted file mode 100644 (file)
index da76187..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_fp;
-RD = f64_le(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/c_le_s.h b/riscv/insns/c_le_s.h
deleted file mode 100644 (file)
index 9c83a17..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_fp;
-RD = f32_le(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/c_lt_d.h b/riscv/insns/c_lt_d.h
deleted file mode 100644 (file)
index 01d135a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_fp;
-RD = f64_lt(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/c_lt_s.h b/riscv/insns/c_lt_s.h
deleted file mode 100644 (file)
index 52eee5d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require_fp;
-RD = f32_lt(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_d_l.h b/riscv/insns/cvt_d_l.h
deleted file mode 100644 (file)
index 68c0482..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-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
deleted file mode 100644 (file)
index 6b1a09c..0000000
+++ /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
deleted file mode 100644 (file)
index 638a5ec..0000000
+++ /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.h b/riscv/insns/cvt_l_d.h
deleted file mode 100644 (file)
index bd460d5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-require_fp;
-softfloat_roundingMode = RM;
-RD = f64_to_i64_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_l_s.h b/riscv/insns/cvt_l_s.h
deleted file mode 100644 (file)
index 1ed4594..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-require_fp;
-softfloat_roundingMode = RM;
-RD = f32_to_i64_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_s_d.h b/riscv/insns/cvt_s_d.h
deleted file mode 100644 (file)
index e5289c4..0000000
+++ /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
deleted file mode 100644 (file)
index f149229..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-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
deleted file mode 100644 (file)
index 12b1e73..0000000
+++ /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.h b/riscv/insns/cvt_w_d.h
deleted file mode 100644 (file)
index e924467..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-RD = f64_to_i32_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/cvt_w_s.h b/riscv/insns/cvt_w_s.h
deleted file mode 100644 (file)
index 809797f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-RD = f32_to_i32_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_d_l.h b/riscv/insns/cvtu_d_l.h
deleted file mode 100644 (file)
index 68c0482..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-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
deleted file mode 100644 (file)
index 2757790..0000000
+++ /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.h b/riscv/insns/cvtu_l_d.h
deleted file mode 100644 (file)
index bd460d5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-require_fp;
-softfloat_roundingMode = RM;
-RD = f64_to_i64_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_l_s.h b/riscv/insns/cvtu_l_s.h
deleted file mode 100644 (file)
index 1ed4594..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-require_fp;
-softfloat_roundingMode = RM;
-RD = f32_to_i64_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_s_l.h b/riscv/insns/cvtu_s_l.h
deleted file mode 100644 (file)
index f149229..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require_xpr64;
-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
deleted file mode 100644 (file)
index 4c53c01..0000000
+++ /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.h b/riscv/insns/cvtu_w_d.h
deleted file mode 100644 (file)
index 93860e8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-RD = f64_to_ui32_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/cvtu_w_s.h b/riscv/insns/cvtu_w_s.h
deleted file mode 100644 (file)
index 04b8fb2..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-RD = f32_to_ui32_r_minMag(FRS1,true);
-set_fp_exceptions;
diff --git a/riscv/insns/div_d.h b/riscv/insns/div_d.h
deleted file mode 100644 (file)
index aa00c98..0000000
+++ /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
deleted file mode 100644 (file)
index 8c76587..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_div(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/fadd_d.h b/riscv/insns/fadd_d.h
new file mode 100644 (file)
index 0000000..48c76a7
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f64_add(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fadd_s.h b/riscv/insns/fadd_s.h
new file mode 100644 (file)
index 0000000..2fd5429
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f32_add(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fc_eq_d.h b/riscv/insns/fc_eq_d.h
new file mode 100644 (file)
index 0000000..9db8760
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+RD = f64_eq(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fc_eq_s.h b/riscv/insns/fc_eq_s.h
new file mode 100644 (file)
index 0000000..658e8f6
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+RD = f32_eq(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fc_le_d.h b/riscv/insns/fc_le_d.h
new file mode 100644 (file)
index 0000000..da76187
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+RD = f64_le(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fc_le_s.h b/riscv/insns/fc_le_s.h
new file mode 100644 (file)
index 0000000..9c83a17
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+RD = f32_le(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fc_lt_d.h b/riscv/insns/fc_lt_d.h
new file mode 100644 (file)
index 0000000..01d135a
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+RD = f64_lt(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fc_lt_s.h b/riscv/insns/fc_lt_s.h
new file mode 100644 (file)
index 0000000..52eee5d
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+RD = f32_lt(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_d_l.h b/riscv/insns/fcvt_d_l.h
new file mode 100644 (file)
index 0000000..68c0482
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+FRD = i64_to_f64(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_d_s.h b/riscv/insns/fcvt_d_s.h
new file mode 100644 (file)
index 0000000..6b1a09c
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f32_to_f64(FRS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_d_w.h b/riscv/insns/fcvt_d_w.h
new file mode 100644 (file)
index 0000000..638a5ec
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = i32_to_f64(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_l_d.h b/riscv/insns/fcvt_l_d.h
new file mode 100644 (file)
index 0000000..bd460d5
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+RD = f64_to_i64_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_l_s.h b/riscv/insns/fcvt_l_s.h
new file mode 100644 (file)
index 0000000..1ed4594
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+RD = f32_to_i64_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_s_d.h b/riscv/insns/fcvt_s_d.h
new file mode 100644 (file)
index 0000000..e5289c4
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f64_to_f32(FRS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_s_l.h b/riscv/insns/fcvt_s_l.h
new file mode 100644 (file)
index 0000000..f149229
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+FRD = i64_to_f32(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_s_w.h b/riscv/insns/fcvt_s_w.h
new file mode 100644 (file)
index 0000000..12b1e73
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = i32_to_f32(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_w_d.h b/riscv/insns/fcvt_w_d.h
new file mode 100644 (file)
index 0000000..e924467
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+RD = f64_to_i32_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvt_w_s.h b/riscv/insns/fcvt_w_s.h
new file mode 100644 (file)
index 0000000..809797f
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+RD = f32_to_i32_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_d_l.h b/riscv/insns/fcvtu_d_l.h
new file mode 100644 (file)
index 0000000..68c0482
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+FRD = i64_to_f64(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_d_w.h b/riscv/insns/fcvtu_d_w.h
new file mode 100644 (file)
index 0000000..2757790
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = ui32_to_f64(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_l_d.h b/riscv/insns/fcvtu_l_d.h
new file mode 100644 (file)
index 0000000..bd460d5
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+RD = f64_to_i64_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_l_s.h b/riscv/insns/fcvtu_l_s.h
new file mode 100644 (file)
index 0000000..1ed4594
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+RD = f32_to_i64_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_s_l.h b/riscv/insns/fcvtu_s_l.h
new file mode 100644 (file)
index 0000000..f149229
--- /dev/null
@@ -0,0 +1,5 @@
+require_xpr64;
+require_fp;
+softfloat_roundingMode = RM;
+FRD = i64_to_f32(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_s_w.h b/riscv/insns/fcvtu_s_w.h
new file mode 100644 (file)
index 0000000..4c53c01
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = ui32_to_f32(RS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_w_d.h b/riscv/insns/fcvtu_w_d.h
new file mode 100644 (file)
index 0000000..93860e8
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+RD = f64_to_ui32_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fcvtu_w_s.h b/riscv/insns/fcvtu_w_s.h
new file mode 100644 (file)
index 0000000..04b8fb2
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+RD = f32_to_ui32_r_minMag(FRS1,true);
+set_fp_exceptions;
diff --git a/riscv/insns/fdiv_d.h b/riscv/insns/fdiv_d.h
new file mode 100644 (file)
index 0000000..aa00c98
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f64_div(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fdiv_s.h b/riscv/insns/fdiv_s.h
new file mode 100644 (file)
index 0000000..8c76587
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f32_div(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fmadd_d.h b/riscv/insns/fmadd_d.h
new file mode 100644 (file)
index 0000000..f67853e
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f64_mulAdd(FRS1, FRS2, FRS3);
+set_fp_exceptions;
diff --git a/riscv/insns/fmadd_s.h b/riscv/insns/fmadd_s.h
new file mode 100644 (file)
index 0000000..19db642
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f32_mulAdd(FRS1, FRS2, FRS3);
+set_fp_exceptions;
diff --git a/riscv/insns/fmsub_d.h b/riscv/insns/fmsub_d.h
new file mode 100644 (file)
index 0000000..b1e9340
--- /dev/null
@@ -0,0 +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/fmsub_s.h b/riscv/insns/fmsub_s.h
new file mode 100644 (file)
index 0000000..d3349f5
--- /dev/null
@@ -0,0 +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/fmul_d.h b/riscv/insns/fmul_d.h
new file mode 100644 (file)
index 0000000..a8adedd
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f64_mul(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fmul_s.h b/riscv/insns/fmul_s.h
new file mode 100644 (file)
index 0000000..6475578
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f32_mul(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fnmadd_d.h b/riscv/insns/fnmadd_d.h
new file mode 100644 (file)
index 0000000..1e2ee27
--- /dev/null
@@ -0,0 +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/fnmadd_s.h b/riscv/insns/fnmadd_s.h
new file mode 100644 (file)
index 0000000..78abb78
--- /dev/null
@@ -0,0 +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/fnmsub_d.h b/riscv/insns/fnmsub_d.h
new file mode 100644 (file)
index 0000000..ae643a5
--- /dev/null
@@ -0,0 +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/fnmsub_s.h b/riscv/insns/fnmsub_s.h
new file mode 100644 (file)
index 0000000..cbb70ba
--- /dev/null
@@ -0,0 +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/fsel_d.h b/riscv/insns/fsel_d.h
new file mode 100644 (file)
index 0000000..fe74bcd
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+FRD = !f64_eq(FRS1, 0) ? FRS2 : FRS3;
+set_fp_exceptions;
diff --git a/riscv/insns/fsel_s.h b/riscv/insns/fsel_s.h
new file mode 100644 (file)
index 0000000..78b8f5d
--- /dev/null
@@ -0,0 +1,3 @@
+require_fp;
+FRD = !f32_eq(FRS1, 0) ? FRS2 : FRS3;
+set_fp_exceptions;
diff --git a/riscv/insns/fsinj_d.h b/riscv/insns/fsinj_d.h
new file mode 100644 (file)
index 0000000..f66e804
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = (FRS1 &~ INT64_MIN) | (FRS2 & INT64_MIN);
diff --git a/riscv/insns/fsinj_s.h b/riscv/insns/fsinj_s.h
new file mode 100644 (file)
index 0000000..35609ac
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = (FRS1 &~ (uint32_t)INT32_MIN) | (FRS2 & (uint32_t)INT32_MIN);
diff --git a/riscv/insns/fsinjn_d.h b/riscv/insns/fsinjn_d.h
new file mode 100644 (file)
index 0000000..22de215
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = (FRS1 &~ INT64_MIN) | ((~FRS2) & INT64_MIN);
diff --git a/riscv/insns/fsinjn_s.h b/riscv/insns/fsinjn_s.h
new file mode 100644 (file)
index 0000000..dd66d71
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = (FRS1 &~ (uint32_t)INT32_MIN) | ((~FRS2) & (uint32_t)INT32_MIN);
diff --git a/riscv/insns/fsmul_d.h b/riscv/insns/fsmul_d.h
new file mode 100644 (file)
index 0000000..331b6e4
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = FRS1 ^ (FRS2 & INT64_MIN);
diff --git a/riscv/insns/fsmul_s.h b/riscv/insns/fsmul_s.h
new file mode 100644 (file)
index 0000000..b455406
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = FRS1 ^ (FRS2 & (uint32_t)INT32_MIN);
diff --git a/riscv/insns/fsqrt_d.h b/riscv/insns/fsqrt_d.h
new file mode 100644 (file)
index 0000000..7647c9c
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f64_sqrt(FRS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fsqrt_s.h b/riscv/insns/fsqrt_s.h
new file mode 100644 (file)
index 0000000..426f241
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f32_sqrt(FRS1);
+set_fp_exceptions;
diff --git a/riscv/insns/fsub_d.h b/riscv/insns/fsub_d.h
new file mode 100644 (file)
index 0000000..e25eebb
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f64_sub(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/fsub_s.h b/riscv/insns/fsub_s.h
new file mode 100644 (file)
index 0000000..6c64d04
--- /dev/null
@@ -0,0 +1,4 @@
+require_fp;
+softfloat_roundingMode = RM;
+FRD = f32_sub(FRS1, FRS2);
+set_fp_exceptions;
diff --git a/riscv/insns/l_b.h b/riscv/insns/l_b.h
new file mode 100644 (file)
index 0000000..81ba7de
--- /dev/null
@@ -0,0 +1 @@
+RD = mmu.load_int8(RS1+SIMM);
diff --git a/riscv/insns/l_bu.h b/riscv/insns/l_bu.h
new file mode 100644 (file)
index 0000000..12c688a
--- /dev/null
@@ -0,0 +1 @@
+RD = mmu.load_uint8(RS1+SIMM);
index 123dea489ddc7c7c1696a5fa60e699f1251c857f..940d348f07171e6ba0532f63f5546614704587ed 100644 (file)
@@ -1,2 +1,2 @@
-require_fp;
-FRD = mmu.load_int64(RS1+SIMM);
+require_xpr64;
+RD = mmu.load_int64(RS1+SIMM);
diff --git a/riscv/insns/l_h.h b/riscv/insns/l_h.h
new file mode 100644 (file)
index 0000000..ec25bc4
--- /dev/null
@@ -0,0 +1 @@
+RD = mmu.load_int16(RS1+SIMM);
diff --git a/riscv/insns/l_hu.h b/riscv/insns/l_hu.h
new file mode 100644 (file)
index 0000000..0999c00
--- /dev/null
@@ -0,0 +1 @@
+RD = mmu.load_uint16(RS1+SIMM);
diff --git a/riscv/insns/l_s.h b/riscv/insns/l_s.h
deleted file mode 100644 (file)
index 335fd7d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-FRD = mmu.load_int32(RS1+SIMM);
diff --git a/riscv/insns/l_w.h b/riscv/insns/l_w.h
new file mode 100644 (file)
index 0000000..769c9fd
--- /dev/null
@@ -0,0 +1 @@
+RD = mmu.load_int32(RS1+SIMM);
diff --git a/riscv/insns/l_wu.h b/riscv/insns/l_wu.h
new file mode 100644 (file)
index 0000000..5e62b0f
--- /dev/null
@@ -0,0 +1 @@
+RD = mmu.load_uint32(RS1+SIMM);
diff --git a/riscv/insns/lb.h b/riscv/insns/lb.h
deleted file mode 100644 (file)
index 81ba7de..0000000
+++ /dev/null
@@ -1 +0,0 @@
-RD = mmu.load_int8(RS1+SIMM);
diff --git a/riscv/insns/lbu.h b/riscv/insns/lbu.h
deleted file mode 100644 (file)
index 12c688a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-RD = mmu.load_uint8(RS1+SIMM);
diff --git a/riscv/insns/ld.h b/riscv/insns/ld.h
deleted file mode 100644 (file)
index 940d348..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_xpr64;
-RD = mmu.load_int64(RS1+SIMM);
diff --git a/riscv/insns/lf_d.h b/riscv/insns/lf_d.h
new file mode 100644 (file)
index 0000000..123dea4
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = mmu.load_int64(RS1+SIMM);
diff --git a/riscv/insns/lf_w.h b/riscv/insns/lf_w.h
new file mode 100644 (file)
index 0000000..335fd7d
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+FRD = mmu.load_int32(RS1+SIMM);
diff --git a/riscv/insns/lh.h b/riscv/insns/lh.h
deleted file mode 100644 (file)
index ec25bc4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-RD = mmu.load_int16(RS1+SIMM);
diff --git a/riscv/insns/lhu.h b/riscv/insns/lhu.h
deleted file mode 100644 (file)
index 0999c00..0000000
+++ /dev/null
@@ -1 +0,0 @@
-RD = mmu.load_uint16(RS1+SIMM);
diff --git a/riscv/insns/lw.h b/riscv/insns/lw.h
deleted file mode 100644 (file)
index 769c9fd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-RD = mmu.load_int32(RS1+SIMM);
diff --git a/riscv/insns/lwu.h b/riscv/insns/lwu.h
deleted file mode 100644 (file)
index 5e62b0f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-RD = mmu.load_uint32(RS1+SIMM);
diff --git a/riscv/insns/madd_d.h b/riscv/insns/madd_d.h
deleted file mode 100644 (file)
index f67853e..0000000
+++ /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
deleted file mode 100644 (file)
index 19db642..0000000
+++ /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
deleted file mode 100644 (file)
index b1e9340..0000000
+++ /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
deleted file mode 100644 (file)
index d3349f5..0000000
+++ /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
deleted file mode 100644 (file)
index a8adedd..0000000
+++ /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
deleted file mode 100644 (file)
index 6475578..0000000
+++ /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
deleted file mode 100644 (file)
index 1e2ee27..0000000
+++ /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
deleted file mode 100644 (file)
index 78abb78..0000000
+++ /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
deleted file mode 100644 (file)
index ae643a5..0000000
+++ /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
deleted file mode 100644 (file)
index cbb70ba..0000000
+++ /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/s_b.h b/riscv/insns/s_b.h
new file mode 100644 (file)
index 0000000..af5bd10
--- /dev/null
@@ -0,0 +1 @@
+mmu.store_uint8(RS1+BIMM, RS2);
index 113398efa6a59cfb60ea6e157ce67e5381a02071..2009149a4bc8d654b203e4e378bbd070b5724750 100644 (file)
@@ -1,2 +1,2 @@
-require_fp;
-mmu.store_uint64(RS1+BIMM, FRS2);
+require_xpr64;
+mmu.store_uint64(RS1+BIMM, RS2);
diff --git a/riscv/insns/s_h.h b/riscv/insns/s_h.h
new file mode 100644 (file)
index 0000000..a484e1e
--- /dev/null
@@ -0,0 +1 @@
+mmu.store_uint16(RS1+BIMM, RS2);
diff --git a/riscv/insns/s_s.h b/riscv/insns/s_s.h
deleted file mode 100644 (file)
index 23d3333..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-mmu.store_uint32(RS1+BIMM, FRS2);
diff --git a/riscv/insns/s_w.h b/riscv/insns/s_w.h
new file mode 100644 (file)
index 0000000..dbe260f
--- /dev/null
@@ -0,0 +1 @@
+mmu.store_uint32(RS1+BIMM, RS2);
diff --git a/riscv/insns/sb.h b/riscv/insns/sb.h
deleted file mode 100644 (file)
index af5bd10..0000000
+++ /dev/null
@@ -1 +0,0 @@
-mmu.store_uint8(RS1+BIMM, RS2);
diff --git a/riscv/insns/sd.h b/riscv/insns/sd.h
deleted file mode 100644 (file)
index 2009149..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_xpr64;
-mmu.store_uint64(RS1+BIMM, RS2);
diff --git a/riscv/insns/sf_d.h b/riscv/insns/sf_d.h
new file mode 100644 (file)
index 0000000..113398e
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+mmu.store_uint64(RS1+BIMM, FRS2);
diff --git a/riscv/insns/sf_w.h b/riscv/insns/sf_w.h
new file mode 100644 (file)
index 0000000..23d3333
--- /dev/null
@@ -0,0 +1,2 @@
+require_fp;
+mmu.store_uint32(RS1+BIMM, FRS2);
diff --git a/riscv/insns/sgninj_d.h b/riscv/insns/sgninj_d.h
deleted file mode 100644 (file)
index f66e804..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-FRD = (FRS1 &~ INT64_MIN) | (FRS2 & INT64_MIN);
diff --git a/riscv/insns/sgninj_s.h b/riscv/insns/sgninj_s.h
deleted file mode 100644 (file)
index 35609ac..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-FRD = (FRS1 &~ (uint32_t)INT32_MIN) | (FRS2 & (uint32_t)INT32_MIN);
diff --git a/riscv/insns/sgninjn_d.h b/riscv/insns/sgninjn_d.h
deleted file mode 100644 (file)
index 22de215..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-FRD = (FRS1 &~ INT64_MIN) | ((~FRS2) & INT64_MIN);
diff --git a/riscv/insns/sgninjn_s.h b/riscv/insns/sgninjn_s.h
deleted file mode 100644 (file)
index dd66d71..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-FRD = (FRS1 &~ (uint32_t)INT32_MIN) | ((~FRS2) & (uint32_t)INT32_MIN);
diff --git a/riscv/insns/sgnmul_d.h b/riscv/insns/sgnmul_d.h
deleted file mode 100644 (file)
index 331b6e4..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-FRD = FRS1 ^ (FRS2 & INT64_MIN);
diff --git a/riscv/insns/sgnmul_s.h b/riscv/insns/sgnmul_s.h
deleted file mode 100644 (file)
index b455406..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-require_fp;
-FRD = FRS1 ^ (FRS2 & (uint32_t)INT32_MIN);
diff --git a/riscv/insns/sh.h b/riscv/insns/sh.h
deleted file mode 100644 (file)
index a484e1e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-mmu.store_uint16(RS1+BIMM, RS2);
diff --git a/riscv/insns/sqrt_d.h b/riscv/insns/sqrt_d.h
deleted file mode 100644 (file)
index 7647c9c..0000000
+++ /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
deleted file mode 100644 (file)
index 426f241..0000000
+++ /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
deleted file mode 100644 (file)
index e25eebb..0000000
+++ /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
deleted file mode 100644 (file)
index 6c64d04..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require_fp;
-softfloat_roundingMode = RM;
-FRD = f32_sub(FRS1, FRS2);
-set_fp_exceptions;
diff --git a/riscv/insns/sw.h b/riscv/insns/sw.h
deleted file mode 100644 (file)
index dbe260f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-mmu.store_uint32(RS1+BIMM, RS2);