diff options
author | Chih-Min Chao <48193236+chihminchao@users.noreply.github.com> | 2021-08-10 12:08:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-09 21:08:53 -0700 |
commit | a31184c3de3fd981b4733b10554215db0e5aa85f (patch) | |
tree | f7db684133506a6ce45963bfa50890d1df7081c4 /riscv | |
parent | dbe45fd4e54bfce90b684f11602f9fd8bbcc0bf0 (diff) | |
download | spike-a31184c3de3fd981b4733b10554215db0e5aa85f.zip spike-a31184c3de3fd981b4733b10554215db0e5aa85f.tar.gz spike-a31184c3de3fd981b4733b10554215db0e5aa85f.tar.bz2 |
rvv fix 2021-08-09 (#768)
* rvv: vmadc/vmsbc have been separated into carry and no-carry versions
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
* rvv: rename file name by opcode name change
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'riscv')
-rw-r--r-- | riscv/insns/vcpop_m.h (renamed from riscv/insns/vpopc_m.h) | 0 | ||||
-rw-r--r-- | riscv/insns/vfredusum_vs.h (renamed from riscv/insns/vfredsum_vs.h) | 0 | ||||
-rw-r--r-- | riscv/insns/vfwredusum_vs.h (renamed from riscv/insns/vfwredsum_vs.h) | 0 | ||||
-rw-r--r-- | riscv/insns/vlm_v.h (renamed from riscv/insns/vle1_v.h) | 0 | ||||
-rw-r--r-- | riscv/insns/vmadc_vi.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmadc_vim.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmadc_vv.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmadc_vvm.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmadc_vx.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmadc_vxm.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmsbc_vv.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmsbc_vvm.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmsbc_vx.h | 2 | ||||
-rw-r--r-- | riscv/insns/vmsbc_vxm.h | 2 | ||||
-rw-r--r-- | riscv/insns/vsm_v.h (renamed from riscv/insns/vse1_v.h) | 0 | ||||
-rw-r--r-- | riscv/riscv.mk.in | 15 |
16 files changed, 25 insertions, 10 deletions
diff --git a/riscv/insns/vpopc_m.h b/riscv/insns/vcpop_m.h index c204b2c..c204b2c 100644 --- a/riscv/insns/vpopc_m.h +++ b/riscv/insns/vcpop_m.h diff --git a/riscv/insns/vfredsum_vs.h b/riscv/insns/vfredusum_vs.h index bad7308..bad7308 100644 --- a/riscv/insns/vfredsum_vs.h +++ b/riscv/insns/vfredusum_vs.h diff --git a/riscv/insns/vfwredsum_vs.h b/riscv/insns/vfwredusum_vs.h index 4ef2896..4ef2896 100644 --- a/riscv/insns/vfwredsum_vs.h +++ b/riscv/insns/vfwredusum_vs.h diff --git a/riscv/insns/vle1_v.h b/riscv/insns/vlm_v.h index 6d3f83a..6d3f83a 100644 --- a/riscv/insns/vle1_v.h +++ b/riscv/insns/vlm_v.h diff --git a/riscv/insns/vmadc_vi.h b/riscv/insns/vmadc_vi.h new file mode 100644 index 0000000..37da8ad --- /dev/null +++ b/riscv/insns/vmadc_vi.h @@ -0,0 +1,2 @@ +// vmadc.vi vd, vs2, simm5 +#include "vmadc_vim.h" diff --git a/riscv/insns/vmadc_vim.h b/riscv/insns/vmadc_vim.h index afdca7e..9e15b74 100644 --- a/riscv/insns/vmadc_vim.h +++ b/riscv/insns/vmadc_vim.h @@ -1,4 +1,4 @@ -// vmadc.vim vd, vs2, simm5 +// vmadc.vim vd, vs2, simm5, v0 VI_XI_LOOP_CARRY ({ auto v0 = P.VU.elt<uint64_t>(0, midx); diff --git a/riscv/insns/vmadc_vv.h b/riscv/insns/vmadc_vv.h new file mode 100644 index 0000000..e120fe6 --- /dev/null +++ b/riscv/insns/vmadc_vv.h @@ -0,0 +1,2 @@ +// vmadc.vvm vd, vs2, rs1 +#include "vmadc_vvm.h" diff --git a/riscv/insns/vmadc_vvm.h b/riscv/insns/vmadc_vvm.h index a5d54c6..1552880 100644 --- a/riscv/insns/vmadc_vvm.h +++ b/riscv/insns/vmadc_vvm.h @@ -1,4 +1,4 @@ -// vmadc.vvm vd, vs2, rs1 +// vmadc.vvm vd, vs2, rs1, v0 VI_VV_LOOP_CARRY ({ auto v0 = P.VU.elt<uint64_t>(0, midx); diff --git a/riscv/insns/vmadc_vx.h b/riscv/insns/vmadc_vx.h new file mode 100644 index 0000000..39c20b1 --- /dev/null +++ b/riscv/insns/vmadc_vx.h @@ -0,0 +1,2 @@ +// vadc.vx vd, vs2, rs1 +#include "vmadc_vxm.h" diff --git a/riscv/insns/vmadc_vxm.h b/riscv/insns/vmadc_vxm.h index ca0342e..306f801 100644 --- a/riscv/insns/vmadc_vxm.h +++ b/riscv/insns/vmadc_vxm.h @@ -1,4 +1,4 @@ -// vadc.vx vd, vs2, rs1 +// vadc.vx vd, vs2, rs1, v0 VI_XI_LOOP_CARRY ({ auto v0 = P.VU.elt<uint64_t>(0, midx); diff --git a/riscv/insns/vmsbc_vv.h b/riscv/insns/vmsbc_vv.h new file mode 100644 index 0000000..a7bbba1 --- /dev/null +++ b/riscv/insns/vmsbc_vv.h @@ -0,0 +1,2 @@ +// vmsbc.vv vd, vs2, rs1 +#include "vmsbc_vvm.h" diff --git a/riscv/insns/vmsbc_vvm.h b/riscv/insns/vmsbc_vvm.h index ff95464..5f91a1e 100644 --- a/riscv/insns/vmsbc_vvm.h +++ b/riscv/insns/vmsbc_vvm.h @@ -1,4 +1,4 @@ -// vmsbc.vvm vd, vs2, rs1 +// vmsbc.vvm vd, vs2, rs1, v0 VI_VV_LOOP_CARRY ({ auto v0 = P.VU.elt<uint64_t>(0, midx); diff --git a/riscv/insns/vmsbc_vx.h b/riscv/insns/vmsbc_vx.h new file mode 100644 index 0000000..cc6b927 --- /dev/null +++ b/riscv/insns/vmsbc_vx.h @@ -0,0 +1,2 @@ +// vmsbc.vx vd, vs2, rs1 +#include "vmsbc_vxm.h" diff --git a/riscv/insns/vmsbc_vxm.h b/riscv/insns/vmsbc_vxm.h index 29fa012..9d6012e 100644 --- a/riscv/insns/vmsbc_vxm.h +++ b/riscv/insns/vmsbc_vxm.h @@ -1,4 +1,4 @@ -// vmsbc.vxm vd, vs2, rs1 +// vmsbc.vxm vd, vs2, rs1, v0 VI_XI_LOOP_CARRY ({ auto &v0 = P.VU.elt<uint64_t>(0, midx); diff --git a/riscv/insns/vse1_v.h b/riscv/insns/vsm_v.h index e1d468b..e1d468b 100644 --- a/riscv/insns/vse1_v.h +++ b/riscv/insns/vsm_v.h diff --git a/riscv/riscv.mk.in b/riscv/riscv.mk.in index 0356c39..9609d29 100644 --- a/riscv/riscv.mk.in +++ b/riscv/riscv.mk.in @@ -480,6 +480,7 @@ riscv_insn_ext_v_alu_int = \ vasub_vx \ vasubu_vx \ vcompress_vm \ + vcpop_m \ vdiv_vv \ vdiv_vx \ vdivu_vv \ @@ -488,6 +489,9 @@ riscv_insn_ext_v_alu_int = \ viota_m \ vmacc_vv \ vmacc_vx \ + vmadc_vv \ + vmadc_vx \ + vmadc_vi \ vmadc_vim \ vmadc_vvm \ vmadc_vxm \ @@ -511,7 +515,8 @@ riscv_insn_ext_v_alu_int = \ vmnor_mm \ vmor_mm \ vmornot_mm \ - vpopc_m \ + vmsbc_vv \ + vmsbc_vx \ vmsbc_vvm \ vmsbc_vxm \ vmsbf_m \ @@ -721,7 +726,7 @@ riscv_insn_ext_v_alu_fp = \ vfredmax_vs \ vfredmin_vs \ vfredosum_vs \ - vfredsum_vs \ + vfredusum_vs \ vfrec7_v \ vfrsub_vf \ vfrsqrt7_v \ @@ -758,7 +763,7 @@ riscv_insn_ext_v_alu_fp = \ vfwnmsac_vf \ vfwnmsac_vv \ vfwredosum_vs \ - vfwredsum_vs \ + vfwredusum_vs \ vfwsub_vf \ vfwsub_vv \ vfwsub_wf \ @@ -813,7 +818,7 @@ riscv_insn_ext_v_amo = \ vamoxorei64_v \ riscv_insn_ext_v_ldst = \ - vle1_v \ + vlm_v \ vle8_v \ vle16_v \ vle32_v \ @@ -850,7 +855,7 @@ riscv_insn_ext_v_ldst = \ vl2re64_v \ vl4re64_v \ vl8re64_v \ - vse1_v \ + vsm_v \ vse8_v \ vse16_v \ vse32_v \ |