# Makefile snippet used by emulator/vlsi/fpga backends MODEL := Top CXX := g++ CXXFLAGS := -O2 SBT := java -Xmx2048M -Xss8M -XX:MaxPermSize=128M -jar sbt-launch.jar DRAMSIM_OBJS := $(patsubst %.cpp,%.o,$(wildcard $(basedir)/dramsim2/*.cpp)) $(DRAMSIM_OBJS): %.o: %.cpp $(CXX) $(CXXFLAGS) -DNO_STORAGE -DNO_OUTPUT -Dmain=nomain -c -o $@ $< libdramsim.a: $(DRAMSIM_OBJS) ar rcs $@ $^ #-------------------------------------------------------------------- # Tests #-------------------------------------------------------------------- # Globally installed assembly tests global_tstdir = $(basedir)/riscv-asmtests-bmarks/riscv-tests global_asm_tests = \ riscv_ipi \ riscv_lrsc \ riscv_add \ riscv_addi \ riscv_amoadd_d \ riscv_amoadd_w \ riscv_amoand_d \ riscv_amoand_w \ riscv_amoor_d \ riscv_amoor_w \ riscv_amoswap_d \ riscv_amoswap_w \ riscv_amomax_d \ riscv_amomax_w \ riscv_amomaxu_d \ riscv_amomaxu_w \ riscv_amomin_d \ riscv_amomin_w \ riscv_amominu_d \ riscv_amominu_w \ riscv_fence_i \ riscv_sb \ riscv_sd \ riscv_sh \ riscv_sw \ riscv_addiw \ riscv_addw \ riscv_and \ riscv_andi \ riscv_beq \ riscv_bge \ riscv_bgeu \ riscv_blt \ riscv_bltu \ riscv_bne \ riscv_div \ riscv_divu \ riscv_divuw \ riscv_divw \ riscv_j \ riscv_jal \ riscv_jalr \ riscv_jalr_j \ riscv_jalr_r \ riscv_lb \ riscv_lbu \ riscv_ld \ riscv_lh \ riscv_lhu \ riscv_lui \ riscv_lw \ riscv_lwu \ riscv_mul \ riscv_mulh \ riscv_mulhsu \ riscv_mulhu \ riscv_mulw \ riscv_or \ riscv_ori \ riscv_auipc \ riscv_rem \ riscv_remu \ riscv_remuw \ riscv_remw \ riscv_simple \ riscv_sll \ riscv_slli \ riscv_slliw \ riscv_sllw \ riscv_slt \ riscv_slti \ riscv_sltiu \ riscv_sltu \ riscv_sra \ riscv_srai \ riscv_sraiw \ riscv_sraw \ riscv_srliw \ riscv_srlw \ riscv_sub \ riscv_subw \ riscv_xor \ riscv_xori \ riscv_fp_ldst \ riscv_fp_move \ riscv_fsgnj \ riscv_fcmp \ riscv_fcvt \ riscv_fcvt_w \ riscv_fadd \ riscv_fmin \ riscv_fmadd \ riscv_fp_structural \ global_asm_vm_tests = \ riscv_add_vm \ riscv_addi_vm \ riscv_amoadd_d_vm \ riscv_amoadd_w_vm \ riscv_amoand_d_vm \ riscv_amoand_w_vm \ riscv_amoor_d_vm \ riscv_amoor_w_vm \ riscv_amoswap_d_vm \ riscv_amoswap_w_vm \ riscv_amomax_d_vm \ riscv_amomax_w_vm \ riscv_amomaxu_d_vm \ riscv_amomaxu_w_vm \ riscv_amomin_d_vm \ riscv_amomin_w_vm \ riscv_amominu_d_vm \ riscv_amominu_w_vm \ riscv_fence_i_vm \ riscv_sb_vm \ riscv_sd_vm \ riscv_sh_vm \ riscv_sw_vm \ riscv_addiw_vm \ riscv_addw_vm \ riscv_and_vm \ riscv_andi_vm \ riscv_beq_vm \ riscv_bge_vm \ riscv_bgeu_vm \ riscv_blt_vm \ riscv_bltu_vm \ riscv_bne_vm \ riscv_div_vm \ riscv_divu_vm \ riscv_divuw_vm \ riscv_divw_vm \ riscv_j_vm \ riscv_jal_vm \ riscv_jalr_vm \ riscv_jalr_j_vm \ riscv_jalr_r_vm \ riscv_lb_vm \ riscv_lbu_vm \ riscv_ld_vm \ riscv_lh_vm \ riscv_lhu_vm \ riscv_lui_vm \ riscv_lw_vm \ riscv_lwu_vm \ riscv_mul_vm \ riscv_mulh_vm \ riscv_mulhsu_vm \ riscv_mulhu_vm \ riscv_mulw_vm \ riscv_or_vm \ riscv_ori_vm \ riscv_rdnpc_vm \ riscv_rem_vm \ riscv_remu_vm \ riscv_remuw_vm \ riscv_remw_vm \ riscv_sll_vm \ riscv_slli_vm \ riscv_slliw_vm \ riscv_sllw_vm \ riscv_slt_vm \ riscv_slti_vm \ riscv_sltiu_vm \ riscv_sltu_vm \ riscv_sra_vm \ riscv_srai_vm \ riscv_sraiw_vm \ riscv_sraw_vm \ riscv_srliw_vm \ riscv_srlw_vm \ riscv_sub_vm \ riscv_subw_vm \ riscv_xor_vm \ riscv_xori_vm \ riscv_fp_ldst_vm \ riscv_fp_move_vm \ riscv_fsgnj_vm \ riscv_fcmp_vm \ riscv_fcvt_vm \ riscv_fcvt_w_vm \ riscv_fadd_vm \ riscv_fmin_vm \ riscv_fmadd_vm \ riscv_fp_structural_vm \ global_vecasm_tests = \ riscv_vec_wakeup_vec \ riscv_vec_fence_vec \ riscv_vec_utidx_vec \ riscv_vec_vmsv_vec \ riscv_vec_vmvv_vec \ riscv_vec_vfmvv_vec \ riscv_vec_movz_vec \ riscv_vec_movn_vec \ riscv_vec_fmovz_vec \ riscv_vec_fmovn_vec \ riscv_vec_ld_vec \ riscv_vec_lw_vec \ riscv_vec_lwu_vec \ riscv_vec_lh_vec \ riscv_vec_lhu_vec \ riscv_vec_lb_vec \ riscv_vec_lbu_vec \ riscv_vec_sd_vec \ riscv_vec_sw_vec \ riscv_vec_sh_vec \ riscv_vec_sb_vec \ riscv_vec_fld_vec \ riscv_vec_flw_vec \ riscv_vec_fsd_vec \ riscv_vec_fsw_vec \ riscv_vec_fcvt-d-l_vec \ riscv_vec_vvadd_d_vec \ riscv_vec_vvadd_fw_vec \ riscv_vec_vvadd_fd_vec \ riscv_vec_vvadd_w_vec \ riscv_vec_vvmul_d_vec \ riscv_vec_amoadd_d_vec \ riscv_vec_amoswap_d_vec \ riscv_vec_amoand_d_vec \ riscv_vec_amoor_d_vec \ riscv_vec_amomax_d_vec \ riscv_vec_amomin_d_vec \ riscv_vec_amomaxu_d_vec \ riscv_vec_amominu_d_vec \ riscv_vec_amoadd_w_vec \ riscv_vec_amoswap_w_vec \ riscv_vec_amoand_w_vec \ riscv_vec_amoor_w_vec \ riscv_vec_amomax_w_vec \ riscv_vec_amomin_w_vec \ riscv_vec_amomaxu_w_vec \ riscv_vec_amominu_w_vec \ riscv_vec_imul_vec \ riscv_vec_fma_vec \ riscv_mul_vec \ riscv_mulw_vec \ riscv_mulh_vec \ riscv_mulhu_vec \ riscv_mulhsu_vec \ riscv_addi_vec \ riscv_add_vec \ riscv_addiw_vec \ riscv_addw_vec \ riscv_and_vec \ riscv_andi_vec \ riscv_lui_vec \ riscv_or_vec \ riscv_ori_vec \ riscv_slt_vec \ riscv_sltu_vec \ riscv_slti_vec \ riscv_sltiu_vec \ riscv_slli_vec \ riscv_sll_vec \ riscv_slliw_vec \ riscv_sllw_vec \ riscv_srai_vec \ riscv_sra_vec \ riscv_sraiw_vec \ riscv_sraw_vec \ riscv_srli_vec \ riscv_srl_vec \ riscv_srliw_vec \ riscv_srlw_vec \ riscv_sub_vec \ riscv_subw_vec \ riscv_xor_vec \ riscv_xori_vec \ riscv_fadd_vec \ riscv_fsgnj_vec \ riscv_fmin_vec \ riscv_fmadd_vec \ riscv_fcvt_w_vec \ riscv_fcvt_vec \ riscv_fcmp_vec \ riscv_vec_xcpt_ma_inst \ riscv_vec_xcpt_illegal \ riscv_vec_xcpt_illegal_vt_regid \ riscv_vec_xcpt_illegal_tvec_regid \ riscv_vec_ma_vld \ riscv_vec_ma_vsd \ riscv_vec_ma_utld \ riscv_vec_ma_utsd \ riscv_vec_illegal_tvec \ global_vecasm_vm_tests = \ riscv_vec_wakeup_vec_vm \ riscv_vec_fence_vec_vm \ riscv_vec_utidx_vec_vm \ riscv_vec_vmsv_vec_vm \ riscv_vec_vmvv_vec_vm \ riscv_vec_vfmvv_vec_vm \ riscv_vec_movz_vec_vm \ riscv_vec_movn_vec_vm \ riscv_vec_fmovz_vec_vm \ riscv_vec_fmovn_vec_vm \ riscv_vec_ld_vec_vm \ riscv_vec_lw_vec_vm \ riscv_vec_lwu_vec_vm \ riscv_vec_lh_vec_vm \ riscv_vec_lhu_vec_vm \ riscv_vec_lb_vec_vm \ riscv_vec_lbu_vec_vm \ riscv_vec_sd_vec_vm \ riscv_vec_sw_vec_vm \ riscv_vec_sh_vec_vm \ riscv_vec_sb_vec_vm \ riscv_vec_fld_vec_vm \ riscv_vec_flw_vec_vm \ riscv_vec_fsd_vec_vm \ riscv_vec_fsw_vec_vm \ riscv_vec_fcvt-d-l_vec_vm \ riscv_vec_vvadd_d_vec_vm \ riscv_vec_vvadd_fw_vec_vm \ riscv_vec_vvadd_fd_vec_vm \ riscv_vec_vvadd_w_vec_vm \ riscv_vec_vvmul_d_vec_vm \ riscv_vec_amoadd_d_vec_vm \ riscv_vec_amoswap_d_vec_vm \ riscv_vec_amoand_d_vec_vm \ riscv_vec_amoor_d_vec_vm \ riscv_vec_amomax_d_vec_vm \ riscv_vec_amomin_d_vec_vm \ riscv_vec_amomaxu_d_vec_vm \ riscv_vec_amominu_d_vec_vm \ riscv_vec_amoadd_w_vec_vm \ riscv_vec_amoswap_w_vec_vm \ riscv_vec_amoand_w_vec_vm \ riscv_vec_amoor_w_vec_vm \ riscv_vec_amomax_w_vec_vm \ riscv_vec_amomin_w_vec_vm \ riscv_vec_amomaxu_w_vec_vm \ riscv_vec_amominu_w_vec_vm \ riscv_vec_imul_vec_vm \ riscv_vec_fma_vec_vm \ riscv_mul_vec_vm \ riscv_mulw_vec_vm \ riscv_mulh_vec_vm \ riscv_mulhu_vec_vm \ riscv_mulhsu_vec_vm \ riscv_addi_vec_vm \ riscv_add_vec_vm \ riscv_addiw_vec_vm \ riscv_addw_vec_vm \ riscv_and_vec_vm \ riscv_andi_vec_vm \ riscv_lui_vec_vm \ riscv_or_vec_vm \ riscv_ori_vec_vm \ riscv_slt_vec_vm \ riscv_sltu_vec_vm \ riscv_slti_vec_vm \ riscv_sltiu_vec_vm \ riscv_slli_vec_vm \ riscv_sll_vec_vm \ riscv_slliw_vec_vm \ riscv_sllw_vec_vm \ riscv_srai_vec_vm \ riscv_sra_vec_vm \ riscv_sraiw_vec_vm \ riscv_sraw_vec_vm \ riscv_srli_vec_vm \ riscv_srl_vec_vm \ riscv_srliw_vec_vm \ riscv_srlw_vec_vm \ riscv_sub_vec_vm \ riscv_subw_vec_vm \ riscv_xor_vec_vm \ riscv_xori_vec_vm \ riscv_fadd_vec_vm \ riscv_fsgnj_vec_vm \ riscv_fmin_vec_vm \ riscv_fmadd_vec_vm \ riscv_fcvt_w_vec_vm \ riscv_fcvt_vec_vm \ riscv_fcmp_vec_vm \ global_vecasm_timer_tests = \ riscv_vec_wakeup_vec_timer \ riscv_vec_fence_vec_timer \ riscv_vec_vvadd_d_vec_timer \ riscv_vec_vvadd_fw_vec_timer \ riscv_vec_vvadd_fd_vec_timer \ riscv_vec_vvadd_w_vec_timer \ riscv_vec_vvmul_d_vec_timer \ riscv_vec_fcvt-d-l_vec_timer \ riscv_vec_utidx_vec_timer \ riscv_vec_vmvv_vec_timer \ riscv_vec_vmsv_vec_timer \ riscv_vec_vfmvv_vec_timer \ riscv_vec_movz_vec_timer \ riscv_vec_movn_vec_timer \ riscv_vec_fmovz_vec_timer \ riscv_vec_fmovn_vec_timer \ riscv_vec_ld_vec_timer \ riscv_vec_lw_vec_timer \ riscv_vec_lwu_vec_timer \ riscv_vec_lh_vec_timer \ riscv_vec_lhu_vec_timer \ riscv_vec_lb_vec_timer \ riscv_vec_lbu_vec_timer \ riscv_vec_sd_vec_timer \ riscv_vec_sw_vec_timer \ riscv_vec_sh_vec_timer \ riscv_vec_sb_vec_timer \ riscv_vec_fld_vec_timer \ riscv_vec_flw_vec_timer \ riscv_vec_fsd_vec_timer \ riscv_vec_fsw_vec_timer \ riscv_vec_amoadd_d_vec_timer \ riscv_vec_amoswap_d_vec_timer \ riscv_vec_amoand_d_vec_timer \ riscv_vec_amoor_d_vec_timer \ riscv_vec_amomax_d_vec_timer \ riscv_vec_amomin_d_vec_timer \ riscv_vec_amomaxu_d_vec_timer \ riscv_vec_amominu_d_vec_timer \ riscv_vec_amoadd_w_vec_timer \ riscv_vec_amoswap_w_vec_timer \ riscv_vec_amoand_w_vec_timer \ riscv_vec_amoor_w_vec_timer \ riscv_vec_amomax_w_vec_timer \ riscv_vec_amomin_w_vec_timer \ riscv_vec_amomaxu_w_vec_timer \ riscv_vec_amominu_w_vec_timer \ riscv_vec_imul_vec_timer \ riscv_vec_fma_vec_timer \ riscv_mul_vec_timer \ riscv_mulw_vec_timer \ riscv_mulh_vec_timer \ riscv_mulhu_vec_timer \ riscv_mulhsu_vec_timer \ riscv_addi_vec_timer \ riscv_add_vec_timer \ riscv_addiw_vec_timer \ riscv_addw_vec_timer \ riscv_and_vec_timer \ riscv_andi_vec_timer \ riscv_lui_vec_timer \ riscv_or_vec_timer \ riscv_ori_vec_timer \ riscv_slt_vec_timer \ riscv_sltu_vec_timer \ riscv_slti_vec_timer \ riscv_sltiu_vec_timer \ riscv_slli_vec_timer \ riscv_sll_vec_timer \ riscv_slliw_vec_timer \ riscv_sllw_vec_timer \ riscv_srai_vec_timer \ riscv_sra_vec_timer \ riscv_sraiw_vec_timer \ riscv_sraw_vec_timer \ riscv_srli_vec_timer \ riscv_srl_vec_timer \ riscv_srliw_vec_timer \ riscv_srlw_vec_timer \ riscv_sub_vec_timer \ riscv_subw_vec_timer \ riscv_xor_vec_timer \ riscv_xori_vec_timer \ riscv_fadd_vec_timer \ riscv_fsgnj_vec_timer \ riscv_fmin_vec_timer \ riscv_fmadd_vec_timer \ riscv_fcvt_w_vec_timer \ riscv_fcvt_vec_timer \ riscv_fcmp_vec_timer \ # Globally installed benchmarks global_bmarkdir = $(basedir)/riscv-asmtests-bmarks/riscv-bmarks global_bmarks = \ median.riscv \ multiply.riscv \ qsort.riscv \ towers.riscv \ vvadd.riscv \ dgemm.riscv \ dhrystone.riscv \ spmv.riscv \ vec_vvadd.riscv \ vec_cmplxmult.riscv \ vec_matmul.riscv \ global_vec_bmarkdir = $(basedir)/../../riscv-app/misc/build global_vec_bmarks = \ ubmark-vvadd \ ubmark-bin-search \ ubmark-cmplx-mult \ ubmark-masked-filter \