aboutsummaryrefslogtreecommitdiff
path: root/riscv/processor.cc
diff options
context:
space:
mode:
authorZhen Wei <zhen.wei@sifive.com>2020-02-27 11:01:18 +0800
committerChih-Min Chao <48193236+chihminchao@users.noreply.github.com>2020-03-04 14:22:31 +0800
commit945e063906b6eefba71c5fa9fd418d97968acd4a (patch)
tree49a09f4029cff396229e654641253300fbe65a9c /riscv/processor.cc
parent2567040468c5522a9bc10a38c67055a4e2eb4323 (diff)
downloadspike-945e063906b6eefba71c5fa9fd418d97968acd4a.zip
spike-945e063906b6eefba71c5fa9fd418d97968acd4a.tar.gz
spike-945e063906b6eefba71c5fa9fd418d97968acd4a.tar.bz2
rvv: remove the option of vector impl. check
The check is not needed anymore since most vector kernels are supported in current implemented vector instruction set.
Diffstat (limited to 'riscv/processor.cc')
-rw-r--r--riscv/processor.cc766
1 files changed, 0 insertions, 766 deletions
diff --git a/riscv/processor.cc b/riscv/processor.cc
index 33687ce..9e74bc2 100644
--- a/riscv/processor.cc
+++ b/riscv/processor.cc
@@ -336,772 +336,6 @@ reg_t processor_t::vectorUnit_t::set_vl(int rd, int rs1, reg_t reqVL, reg_t newT
return vl;
}
-processor_t::vectorUnit_t::vectorUnit_t()
- : reg_file(0)
-{
-
- uint64_t val_any = 'a' << 16 | 'n' << 8 | 'y';
- uint64_t val_e27 = 'e' << 16 | '2' << 8 | '7';
- uint64_t val_1905 = 1905;
-
- const uint32_t tbl_any[] = {
- MATCH_VSETVLI,
- MATCH_VSETVL,
- MATCH_VLB_V,
- MATCH_VLH_V,
- MATCH_VLW_V,
- MATCH_VLE_V,
- MATCH_VLBU_V,
- MATCH_VLHU_V,
- MATCH_VLWU_V,
- MATCH_VSB_V,
- MATCH_VSH_V,
- MATCH_VSW_V,
- MATCH_VSE_V,
- MATCH_VLSB_V,
- MATCH_VLSH_V,
- MATCH_VLSW_V,
- MATCH_VLSE_V,
- MATCH_VLSBU_V,
- MATCH_VLSHU_V,
- MATCH_VLSWU_V,
- MATCH_VSSB_V,
- MATCH_VSSH_V,
- MATCH_VSSW_V,
- MATCH_VSSE_V,
- MATCH_VLXB_V,
- MATCH_VLXH_V,
- MATCH_VLXW_V,
- MATCH_VLXE_V,
- MATCH_VLXBU_V,
- MATCH_VLXHU_V,
- MATCH_VLXWU_V,
- MATCH_VSXB_V,
- MATCH_VSXH_V,
- MATCH_VSXW_V,
- MATCH_VSXE_V,
- MATCH_VSUXB_V,
- MATCH_VSUXH_V,
- MATCH_VSUXW_V,
- MATCH_VSUXE_V,
- MATCH_VLBFF_V,
- MATCH_VLHFF_V,
- MATCH_VLWFF_V,
- MATCH_VLEFF_V,
- MATCH_VLBUFF_V,
- MATCH_VLHUFF_V,
- MATCH_VLWUFF_V,
- MATCH_VFADD_VF,
- MATCH_VFSUB_VF,
- MATCH_VFMIN_VF,
- MATCH_VFMAX_VF,
- MATCH_VFSGNJ_VF,
- MATCH_VFSGNJN_VF,
- MATCH_VFSGNJX_VF,
- MATCH_VFMV_S_F,
- MATCH_VFMERGE_VFM,
- MATCH_VFMV_V_F,
- MATCH_VMFEQ_VF,
- MATCH_VMFLE_VF,
- MATCH_VMFLT_VF,
- MATCH_VMFNE_VF,
- MATCH_VMFGT_VF,
- MATCH_VMFGE_VF,
- MATCH_VFDIV_VF,
- MATCH_VFRDIV_VF,
- MATCH_VFMUL_VF,
- MATCH_VFRSUB_VF,
- MATCH_VFMADD_VF,
- MATCH_VFNMADD_VF,
- MATCH_VFMSUB_VF,
- MATCH_VFNMSUB_VF,
- MATCH_VFMACC_VF,
- MATCH_VFNMACC_VF,
- MATCH_VFMSAC_VF,
- MATCH_VFNMSAC_VF,
- MATCH_VFWADD_VF,
- MATCH_VFWSUB_VF,
- MATCH_VFWADD_WF,
- MATCH_VFWSUB_WF,
- MATCH_VFWMUL_VF,
- MATCH_VFWMACC_VF,
- MATCH_VFWNMACC_VF,
- MATCH_VFWMSAC_VF,
- MATCH_VFWNMSAC_VF,
- MATCH_VFADD_VV,
- MATCH_VFREDSUM_VS,
- MATCH_VFSUB_VV,
- MATCH_VFREDOSUM_VS,
- MATCH_VFMIN_VV,
- MATCH_VFREDMIN_VS,
- MATCH_VFMAX_VV,
- MATCH_VFREDMAX_VS,
- MATCH_VFSGNJ_VV,
- MATCH_VFSGNJN_VV,
- MATCH_VFSGNJX_VV,
- MATCH_VFMV_F_S,
- MATCH_VMFEQ_VV,
- MATCH_VMFLE_VV,
- MATCH_VMFLT_VV,
- MATCH_VMFNE_VV,
- MATCH_VFDIV_VV,
- MATCH_VFMUL_VV,
- MATCH_VFMADD_VV,
- MATCH_VFNMADD_VV,
- MATCH_VFMSUB_VV,
- MATCH_VFNMSUB_VV,
- MATCH_VFMACC_VV,
- MATCH_VFNMACC_VV,
- MATCH_VFMSAC_VV,
- MATCH_VFNMSAC_VV,
- MATCH_VFCVT_XU_F_V,
- MATCH_VFCVT_X_F_V,
- MATCH_VFCVT_F_XU_V,
- MATCH_VFCVT_F_X_V,
- MATCH_VFWCVT_XU_F_V,
- MATCH_VFWCVT_X_F_V,
- MATCH_VFWCVT_F_XU_V,
- MATCH_VFWCVT_F_X_V,
- MATCH_VFWCVT_F_F_V,
- MATCH_VFNCVT_XU_F_W,
- MATCH_VFNCVT_X_F_W,
- MATCH_VFNCVT_F_XU_W,
- MATCH_VFNCVT_F_X_W,
- MATCH_VFNCVT_F_F_W,
- MATCH_VFNCVT_ROD_F_F_W,
- MATCH_VFSQRT_V,
- MATCH_VFCLASS_V,
- MATCH_VFWADD_VV,
- MATCH_VFWREDSUM_VS,
- MATCH_VFWSUB_VV,
- MATCH_VFWREDOSUM_VS,
- MATCH_VFWADD_WV,
- MATCH_VFWSUB_WV,
- MATCH_VFWMUL_VV,
- MATCH_VFDOT_VV,
- MATCH_VFWMACC_VV,
- MATCH_VFWNMACC_VV,
- MATCH_VFWMSAC_VV,
- MATCH_VFWNMSAC_VV,
- MATCH_VADD_VX,
- MATCH_VSUB_VX,
- MATCH_VRSUB_VX,
- MATCH_VMINU_VX,
- MATCH_VMIN_VX,
- MATCH_VMAXU_VX,
- MATCH_VMAX_VX,
- MATCH_VAND_VX,
- MATCH_VOR_VX,
- MATCH_VXOR_VX,
- MATCH_VRGATHER_VX,
- MATCH_VSLIDEUP_VX,
- MATCH_VSLIDEDOWN_VX,
- MATCH_VADC_VXM,
- MATCH_VMADC_VXM,
- MATCH_VSBC_VXM,
- MATCH_VMSBC_VXM,
- MATCH_VMERGE_VXM,
- MATCH_VMV_V_X,
- MATCH_VMSEQ_VX,
- MATCH_VMSNE_VX,
- MATCH_VMSLTU_VX,
- MATCH_VMSLT_VX,
- MATCH_VMSLEU_VX,
- MATCH_VMSLE_VX,
- MATCH_VMSGTU_VX,
- MATCH_VMSGT_VX,
- MATCH_VSADDU_VX,
- MATCH_VSADD_VX,
- MATCH_VSSUBU_VX,
- MATCH_VSSUB_VX,
- MATCH_VAADD_VX,
- MATCH_VSLL_VX,
- MATCH_VASUB_VX,
- MATCH_VSMUL_VX,
- MATCH_VSRL_VX,
- MATCH_VSRA_VX,
- MATCH_VSSRL_VX,
- MATCH_VSSRA_VX,
- MATCH_VNSRL_WX,
- MATCH_VNSRA_WX,
- MATCH_VNCLIPU_WX,
- MATCH_VNCLIP_WX,
- MATCH_VQMACCU_VX,
- MATCH_VQMACC_VX,
- MATCH_VQMACCSU_VX,
- MATCH_VQMACCUS_VX,
- MATCH_VADD_VV,
- MATCH_VSUB_VV,
- MATCH_VMINU_VV,
- MATCH_VMIN_VV,
- MATCH_VMAXU_VV,
- MATCH_VMAX_VV,
- MATCH_VAND_VV,
- MATCH_VOR_VV,
- MATCH_VXOR_VV,
- MATCH_VRGATHER_VV,
- MATCH_VADC_VVM,
- MATCH_VMADC_VVM,
- MATCH_VSBC_VVM,
- MATCH_VMSBC_VVM,
- MATCH_VMERGE_VVM,
- MATCH_VMV_V_V,
- MATCH_VMSEQ_VV,
- MATCH_VMSNE_VV,
- MATCH_VMSLTU_VV,
- MATCH_VMSLT_VV,
- MATCH_VMSLEU_VV,
- MATCH_VMSLE_VV,
- MATCH_VSADDU_VV,
- MATCH_VSADD_VV,
- MATCH_VSSUBU_VV,
- MATCH_VSSUB_VV,
- MATCH_VAADD_VV,
- MATCH_VSLL_VV,
- MATCH_VASUB_VV,
- MATCH_VSMUL_VV,
- MATCH_VSRL_VV,
- MATCH_VSRA_VV,
- MATCH_VSSRL_VV,
- MATCH_VSSRA_VV,
- MATCH_VNSRL_WV,
- MATCH_VNSRA_WV,
- MATCH_VNCLIPU_WV,
- MATCH_VNCLIP_WV,
- MATCH_VWREDSUMU_VS,
- MATCH_VWREDSUM_VS,
- MATCH_VDOTU_VV,
- MATCH_VDOT_VV,
- MATCH_VQMACCU_VV,
- MATCH_VQMACC_VV,
- MATCH_VQMACCSU_VV,
- MATCH_VADD_VI,
- MATCH_VRSUB_VI,
- MATCH_VAND_VI,
- MATCH_VOR_VI,
- MATCH_VXOR_VI,
- MATCH_VRGATHER_VI,
- MATCH_VSLIDEUP_VI,
- MATCH_VSLIDEDOWN_VI,
- MATCH_VADC_VIM,
- MATCH_VMADC_VIM,
- MATCH_VMERGE_VIM,
- MATCH_VMV_V_I,
- MATCH_VMSEQ_VI,
- MATCH_VMSNE_VI,
- MATCH_VMSLEU_VI,
- MATCH_VMSLE_VI,
- MATCH_VMSGTU_VI,
- MATCH_VMSGT_VI,
- MATCH_VSADDU_VI,
- MATCH_VSADD_VI,
- MATCH_VSLL_VI,
- MATCH_VSRL_VI,
- MATCH_VSRA_VI,
- MATCH_VSSRL_VI,
- MATCH_VSSRA_VI,
- MATCH_VNSRL_WI,
- MATCH_VNSRA_WI,
- MATCH_VNCLIPU_WI,
- MATCH_VNCLIP_WI,
- MATCH_VREDSUM_VS,
- MATCH_VREDAND_VS,
- MATCH_VREDOR_VS,
- MATCH_VREDXOR_VS,
- MATCH_VREDMINU_VS,
- MATCH_VREDMIN_VS,
- MATCH_VREDMAXU_VS,
- MATCH_VREDMAX_VS,
- MATCH_VMV_X_S,
- MATCH_VPOPC_M,
- MATCH_VFIRST_M,
- MATCH_VCOMPRESS_VM,
- MATCH_VMANDNOT_MM,
- MATCH_VMAND_MM,
- MATCH_VMOR_MM,
- MATCH_VMXOR_MM,
- MATCH_VMORNOT_MM,
- MATCH_VMNAND_MM,
- MATCH_VMNOR_MM,
- MATCH_VMXNOR_MM,
- MATCH_VMSBF_M,
- MATCH_VMSOF_M,
- MATCH_VMSIF_M,
- MATCH_VIOTA_M,
- MATCH_VID_V,
- MATCH_VDIVU_VV,
- MATCH_VDIV_VV,
- MATCH_VREMU_VV,
- MATCH_VREM_VV,
- MATCH_VMULHU_VV,
- MATCH_VMUL_VV,
- MATCH_VMULHSU_VV,
- MATCH_VMULH_VV,
- MATCH_VMADD_VV,
- MATCH_VNMSUB_VV,
- MATCH_VMACC_VV,
- MATCH_VNMSAC_VV,
- MATCH_VWADDU_VV,
- MATCH_VWADD_VV,
- MATCH_VWSUBU_VV,
- MATCH_VWSUB_VV,
- MATCH_VWADDU_WV,
- MATCH_VWADD_WV,
- MATCH_VWSUBU_WV,
- MATCH_VWSUB_WV,
- MATCH_VWMULU_VV,
- MATCH_VWMULSU_VV,
- MATCH_VWMUL_VV,
- MATCH_VWMACCU_VV,
- MATCH_VWMACC_VV,
- MATCH_VWMACCSU_VV,
- MATCH_VMV_S_X,
- MATCH_VSLIDE1UP_VX,
- MATCH_VSLIDE1DOWN_VX,
- MATCH_VDIVU_VX,
- MATCH_VDIV_VX,
- MATCH_VREMU_VX,
- MATCH_VREM_VX,
- MATCH_VMULHU_VX,
- MATCH_VMUL_VX,
- MATCH_VMULHSU_VX,
- MATCH_VMULH_VX,
- MATCH_VMADD_VX,
- MATCH_VNMSUB_VX,
- MATCH_VMACC_VX,
- MATCH_VNMSAC_VX,
- MATCH_VWADDU_VX,
- MATCH_VWADD_VX,
- MATCH_VWSUBU_VX,
- MATCH_VWSUB_VX,
- MATCH_VWADDU_WX,
- MATCH_VWADD_WX,
- MATCH_VWSUBU_WX,
- MATCH_VWSUB_WX,
- MATCH_VWMULU_VX,
- MATCH_VWMULSU_VX,
- MATCH_VWMUL_VX,
- MATCH_VWMACCU_VX,
- MATCH_VWMACC_VX,
- MATCH_VWMACCSU_VX,
- MATCH_VWMACCUS_VX,
- MATCH_VAMOSWAPW_V,
- MATCH_VAMOADDW_V,
- MATCH_VAMOXORW_V,
- MATCH_VAMOANDW_V,
- MATCH_VAMOORW_V,
- MATCH_VAMOMINW_V,
- MATCH_VAMOMAXW_V,
- MATCH_VAMOMINUW_V,
- MATCH_VAMOMAXUW_V,
- MATCH_VAMOSWAPD_V,
- MATCH_VAMOADDD_V,
- MATCH_VAMOXORD_V,
- MATCH_VAMOANDD_V,
- MATCH_VAMOORD_V,
- MATCH_VAMOMIND_V,
- MATCH_VAMOMAXD_V,
- MATCH_VAMOMINUD_V,
- MATCH_VAMOMAXUD_V,
- MATCH_VAMOSWAPQ_V,
- MATCH_VAMOADDQ_V,
- MATCH_VAMOXORQ_V,
- MATCH_VAMOANDQ_V,
- MATCH_VAMOORQ_V,
- MATCH_VAMOMINQ_V,
- MATCH_VAMOMAXQ_V,
- MATCH_VAMOMINUQ_V,
- MATCH_VAMOMAXUQ_V,
- };
-
- const uint64_t tbl_e27[] = {
- MATCH_VSETVLI,
- MATCH_VSETVL,
- MATCH_VLB_V,
- MATCH_VLH_V,
- MATCH_VLW_V,
- MATCH_VLE_V,
- MATCH_VLBU_V,
- MATCH_VLHU_V,
- MATCH_VLWU_V,
- MATCH_VSB_V,
- MATCH_VSH_V,
- MATCH_VSW_V,
- MATCH_VSE_V,
- MATCH_VLSB_V,
- MATCH_VLSH_V,
- MATCH_VLSW_V,
- MATCH_VLSE_V,
- MATCH_VLSBU_V,
- MATCH_VLSHU_V,
- MATCH_VLSWU_V,
- MATCH_VSSB_V,
- MATCH_VSSH_V,
- MATCH_VSSW_V,
- MATCH_VSSE_V,
- MATCH_VLXB_V,
- MATCH_VLXH_V,
- MATCH_VLXW_V,
- MATCH_VLXE_V,
- MATCH_VLXBU_V,
- MATCH_VLXHU_V,
- MATCH_VLXWU_V,
- MATCH_VSXB_V,
- MATCH_VSXH_V,
- MATCH_VSXW_V,
- MATCH_VSXE_V,
- MATCH_VSUXB_V,
- MATCH_VSUXH_V,
- MATCH_VSUXW_V,
- MATCH_VSUXE_V,
- MATCH_VLBFF_V,
- MATCH_VLHFF_V,
- MATCH_VLWFF_V,
- MATCH_VLEFF_V,
- MATCH_VLBUFF_V,
- MATCH_VLHUFF_V,
- MATCH_VLWUFF_V,
- MATCH_VFADD_VF,
- MATCH_VFSUB_VF,
- MATCH_VFMIN_VF,
- MATCH_VFMAX_VF,
- MATCH_VFSGNJ_VF,
- MATCH_VFSGNJN_VF,
- MATCH_VFSGNJX_VF,
- MATCH_VFMV_S_F,
- MATCH_VFMERGE_VFM,
- MATCH_VFMV_V_F,
- MATCH_VMFEQ_VF,
- MATCH_VMFLE_VF,
- MATCH_VMFLT_VF,
- MATCH_VMFNE_VF,
- MATCH_VMFGT_VF,
- MATCH_VMFGE_VF,
- MATCH_VFMUL_VF,
- MATCH_VFRSUB_VF,
- MATCH_VFMADD_VF,
- MATCH_VFNMADD_VF,
- MATCH_VFMSUB_VF,
- MATCH_VFNMSUB_VF,
- MATCH_VFMACC_VF,
- MATCH_VFNMACC_VF,
- MATCH_VFMSAC_VF,
- MATCH_VFNMSAC_VF,
- MATCH_VFWADD_VF,
- MATCH_VFWSUB_VF,
- MATCH_VFWADD_WF,
- MATCH_VFWSUB_WF,
- MATCH_VFWMUL_VF,
- MATCH_VFWMACC_VF,
- MATCH_VFWNMACC_VF,
- MATCH_VFWMSAC_VF,
- MATCH_VFWNMSAC_VF,
- MATCH_VFADD_VV,
- MATCH_VFREDSUM_VS,
- MATCH_VFSUB_VV,
- MATCH_VFREDOSUM_VS,
- MATCH_VFMIN_VV,
- MATCH_VFREDMIN_VS,
- MATCH_VFMAX_VV,
- MATCH_VFREDMAX_VS,
- MATCH_VFSGNJ_VV,
- MATCH_VFSGNJN_VV,
- MATCH_VFSGNJX_VV,
- MATCH_VFMV_F_S,
- MATCH_VMFEQ_VV,
- MATCH_VMFLE_VV,
- MATCH_VMFLT_VV,
- MATCH_VMFNE_VV,
- MATCH_VFMUL_VV,
- MATCH_VFMADD_VV,
- MATCH_VFNMADD_VV,
- MATCH_VFMSUB_VV,
- MATCH_VFNMSUB_VV,
- MATCH_VFMACC_VV,
- MATCH_VFNMACC_VV,
- MATCH_VFMSAC_VV,
- MATCH_VFNMSAC_VV,
- MATCH_VFCVT_XU_F_V,
- MATCH_VFCVT_X_F_V,
- MATCH_VFCVT_F_XU_V,
- MATCH_VFCVT_F_X_V,
- MATCH_VFWCVT_XU_F_V,
- MATCH_VFWCVT_X_F_V,
- MATCH_VFWCVT_F_XU_V,
- MATCH_VFWCVT_F_X_V,
- MATCH_VFWCVT_F_F_V,
- MATCH_VFNCVT_XU_F_W,
- MATCH_VFNCVT_X_F_W,
- MATCH_VFNCVT_F_XU_W,
- MATCH_VFNCVT_F_X_W,
- MATCH_VFNCVT_F_F_W,
- MATCH_VFCLASS_V,
- MATCH_VFWADD_VV,
- MATCH_VFWREDSUM_VS,
- MATCH_VFWSUB_VV,
- MATCH_VFWREDOSUM_VS,
- MATCH_VFWADD_WV,
- MATCH_VFWSUB_WV,
- MATCH_VFWMUL_VV,
- MATCH_VFDOT_VV,
- MATCH_VFWMACC_VV,
- MATCH_VFWNMACC_VV,
- MATCH_VFWMSAC_VV,
- MATCH_VFWNMSAC_VV,
- MATCH_VADD_VX,
- MATCH_VSUB_VX,
- MATCH_VRSUB_VX,
- MATCH_VMINU_VX,
- MATCH_VMIN_VX,
- MATCH_VMAXU_VX,
- MATCH_VMAX_VX,
- MATCH_VAND_VX,
- MATCH_VOR_VX,
- MATCH_VXOR_VX,
- MATCH_VSBC_VXM,
- MATCH_VMSBC_VXM,
- MATCH_VMERGE_VXM,
- MATCH_VMV_V_X,
- MATCH_VMSEQ_VX,
- MATCH_VMSNE_VX,
- MATCH_VMSLTU_VX,
- MATCH_VMSLT_VX,
- MATCH_VMSLEU_VX,
- MATCH_VMSLE_VX,
- MATCH_VMSGTU_VX,
- MATCH_VMSGT_VX,
- MATCH_VSADDU_VX,
- MATCH_VSADD_VX,
- MATCH_VSSUBU_VX,
- MATCH_VSSUB_VX,
- MATCH_VAADD_VX,
- MATCH_VSLL_VX,
- MATCH_VASUB_VX,
- MATCH_VSMUL_VX,
- MATCH_VSRL_VX,
- MATCH_VSRA_VX,
- MATCH_VSSRL_VX,
- MATCH_VSSRA_VX,
- MATCH_VNSRL_WX,
- MATCH_VNSRA_WX,
- MATCH_VNCLIPU_WX,
- MATCH_VNCLIP_WX,
- MATCH_VQMACCU_VX,
- MATCH_VQMACC_VX,
- MATCH_VQMACCSU_VX,
- MATCH_VQMACCUS_VX,
- MATCH_VADD_VV,
- MATCH_VSUB_VV,
- MATCH_VMINU_VV,
- MATCH_VMIN_VV,
- MATCH_VMAXU_VV,
- MATCH_VMAX_VV,
- MATCH_VAND_VV,
- MATCH_VOR_VV,
- MATCH_VXOR_VV,
- MATCH_VSBC_VVM,
- MATCH_VMSBC_VVM,
- MATCH_VMERGE_VVM,
- MATCH_VMV_V_V,
- MATCH_VMSEQ_VV,
- MATCH_VMSNE_VV,
- MATCH_VMSLTU_VV,
- MATCH_VMSLT_VV,
- MATCH_VMSLEU_VV,
- MATCH_VMSLE_VV,
- MATCH_VSADDU_VV,
- MATCH_VSADD_VV,
- MATCH_VSSUBU_VV,
- MATCH_VSSUB_VV,
- MATCH_VAADD_VV,
- MATCH_VSLL_VV,
- MATCH_VASUB_VV,
- MATCH_VSMUL_VV,
- MATCH_VSRL_VV,
- MATCH_VSRA_VV,
- MATCH_VSSRL_VV,
- MATCH_VSSRA_VV,
- MATCH_VNSRL_WV,
- MATCH_VNSRA_WV,
- MATCH_VNCLIPU_WV,
- MATCH_VNCLIP_WV,
- MATCH_VWREDSUMU_VS,
- MATCH_VWREDSUM_VS,
- MATCH_VDOTU_VV,
- MATCH_VDOT_VV,
- MATCH_VQMACCU_VV,
- MATCH_VQMACC_VV,
- MATCH_VQMACCSU_VV,
- MATCH_VADD_VI,
- MATCH_VRSUB_VI,
- MATCH_VAND_VI,
- MATCH_VOR_VI,
- MATCH_VXOR_VI,
- MATCH_VMERGE_VIM,
- MATCH_VMV_V_I,
- MATCH_VMSEQ_VI,
- MATCH_VMSNE_VI,
- MATCH_VMSLEU_VI,
- MATCH_VMSLE_VI,
- MATCH_VMSGTU_VI,
- MATCH_VMSGT_VI,
- MATCH_VSADDU_VI,
- MATCH_VSADD_VI,
- MATCH_VSLL_VI,
- MATCH_VSRL_VI,
- MATCH_VSRA_VI,
- MATCH_VSSRL_VI,
- MATCH_VSSRA_VI,
- MATCH_VNSRL_WI,
- MATCH_VNSRA_WI,
- MATCH_VNCLIPU_WI,
- MATCH_VNCLIP_WI,
- MATCH_VREDSUM_VS,
- MATCH_VREDAND_VS,
- MATCH_VREDOR_VS,
- MATCH_VREDXOR_VS,
- MATCH_VREDMINU_VS,
- MATCH_VREDMIN_VS,
- MATCH_VREDMAXU_VS,
- MATCH_VREDMAX_VS,
- MATCH_VMV_X_S,
- MATCH_VPOPC_M,
- MATCH_VFIRST_M,
- MATCH_VMANDNOT_MM,
- MATCH_VMAND_MM,
- MATCH_VMOR_MM,
- MATCH_VMXOR_MM,
- MATCH_VMORNOT_MM,
- MATCH_VMNAND_MM,
- MATCH_VMNOR_MM,
- MATCH_VMXNOR_MM,
- MATCH_VMSBF_M,
- MATCH_VMSOF_M,
- MATCH_VMSIF_M,
- MATCH_VIOTA_M,
- MATCH_VID_V,
- MATCH_VMULHU_VV,
- MATCH_VMUL_VV,
- MATCH_VMULHSU_VV,
- MATCH_VMULH_VV,
- MATCH_VMADD_VV,
- MATCH_VNMSUB_VV,
- MATCH_VMACC_VV,
- MATCH_VNMSAC_VV,
- MATCH_VWADDU_VV,
- MATCH_VWADD_VV,
- MATCH_VWSUBU_VV,
- MATCH_VWSUB_VV,
- MATCH_VWADDU_WV,
- MATCH_VWADD_WV,
- MATCH_VWSUBU_WV,
- MATCH_VWSUB_WV,
- MATCH_VWMULU_VV,
- MATCH_VWMULSU_VV,
- MATCH_VWMUL_VV,
- MATCH_VWMACCU_VV,
- MATCH_VWMACC_VV,
- MATCH_VWMACCSU_VV,
- MATCH_VMV_S_X,
- MATCH_VSLIDE1UP_VX,
- MATCH_VSLIDE1DOWN_VX,
- MATCH_VMULHU_VX,
- MATCH_VMUL_VX,
- MATCH_VMULHSU_VX,
- MATCH_VMULH_VX,
- MATCH_VMADD_VX,
- MATCH_VNMSUB_VX,
- MATCH_VMACC_VX,
- MATCH_VNMSAC_VX,
- MATCH_VWADDU_VX,
- MATCH_VWADD_VX,
- MATCH_VWSUBU_VX,
- MATCH_VWSUB_VX,
- MATCH_VWADDU_WX,
- MATCH_VWADD_WX,
- MATCH_VWSUBU_WX,
- MATCH_VWSUB_WX,
- MATCH_VWMULU_VX,
- MATCH_VWMULSU_VX,
- MATCH_VWMUL_VX,
- MATCH_VWMACCU_VX,
- MATCH_VWMACC_VX,
- MATCH_VWMACCSU_VX,
- MATCH_VWMACCUS_VX,
- };
-
- const uint32_t tbl_1905[] = {
- MATCH_VSETVLI,
- MATCH_VSETVL,
- MATCH_VLW_V,
- MATCH_VSW_V,
- MATCH_VSLIDEDOWN_VX,
- MATCH_VSLIDEDOWN_VI,
- MATCH_VSLIDE1DOWN_VX,
- MATCH_VFADD_VF,
- MATCH_VFSUB_VF,
- MATCH_VFMIN_VF,
- MATCH_VFMAX_VF,
- MATCH_VFSGNJ_VF,
- MATCH_VFSGNJN_VF,
- MATCH_VFSGNJX_VF,
- MATCH_VFMV_S_F,
- MATCH_VMFEQ_VF,
- MATCH_VMFLE_VF,
- MATCH_VMFLT_VF,
- MATCH_VMFNE_VF,
- MATCH_VMFGT_VF,
- MATCH_VMFGE_VF,
- MATCH_VFDIV_VF,
- MATCH_VFRDIV_VF,
- MATCH_VFMUL_VF,
- MATCH_VFMADD_VF,
- MATCH_VFNMADD_VF,
- MATCH_VFMSUB_VF,
- MATCH_VFNMSUB_VF,
- MATCH_VFMACC_VF,
- MATCH_VFNMACC_VF,
- MATCH_VFMSAC_VF,
- MATCH_VFNMSAC_VF,
- MATCH_VFADD_VV,
- MATCH_VFSUB_VV,
- MATCH_VFMIN_VV,
- MATCH_VFMAX_VV,
- MATCH_VFSGNJ_VV,
- MATCH_VFSGNJN_VV,
- MATCH_VFSGNJX_VV,
- MATCH_VFMV_F_S,
- MATCH_VMFEQ_VV,
- MATCH_VMFLE_VV,
- MATCH_VMFLT_VV,
- MATCH_VMFNE_VV,
- MATCH_VFDIV_VV,
- MATCH_VFMUL_VV,
- MATCH_VFMADD_VV,
- MATCH_VFNMADD_VV,
- MATCH_VFMSUB_VV,
- MATCH_VFNMSUB_VV,
- MATCH_VFMACC_VV,
- MATCH_VFNMACC_VV,
- MATCH_VFMSAC_VV,
- MATCH_VFNMSAC_VV,
- MATCH_VFSQRT_V,
- MATCH_VFCLASS_V,
- };
-
- for (size_t idx = 0; idx < sizeof(tbl_any)/sizeof(tbl_any[0]); ++idx) {
- impl_table[tbl_any[idx]][val_any] = true;
- }
-
- for (size_t idx = 0; idx < sizeof(tbl_e27)/sizeof(tbl_e27[0]); ++idx) {
- impl_table[tbl_e27[idx]][val_e27] = true;
- }
-
- for (size_t idx = 0; idx < sizeof(tbl_1905)/sizeof(tbl_1905[0]); ++idx) {
- impl_table[tbl_1905[idx]][val_1905] = true;
- }
-}
-
void processor_t::set_debug(bool value)
{
debug = value;