2012-10-19 02:51:41 +02:00
|
|
|
MODEL := Top
|
2014-09-01 05:26:55 +02:00
|
|
|
FPGAMODEL := FPGATop
|
2012-10-02 04:30:11 +02:00
|
|
|
CXX := g++
|
2014-01-31 21:25:19 +01:00
|
|
|
CXXFLAGS := -O1
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2012-11-20 14:39:48 +01:00
|
|
|
SBT := java -Xmx2048M -Xss8M -XX:MaxPermSize=128M -jar sbt-launch.jar
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
src_path = src/main/scala
|
|
|
|
chisel_srcs = $(base_dir)/$(src_path)/*.scala $(base_dir)/rocket/$(src_path)/*.scala $(base_dir)/uncore/$(src_path)/*.scala $(base_dir)/hwacha/$(src_path)/*.scala
|
|
|
|
|
|
|
|
disasm := 2>
|
|
|
|
which_disasm := $(shell which riscv-dis)
|
|
|
|
ifneq ($(which_disasm),)
|
|
|
|
disasm := 3>&1 1>&2 2>&3 | $(which_disasm) --extension=hwacha >
|
|
|
|
endif
|
|
|
|
|
|
|
|
timeout_cycles = 100000000
|
|
|
|
|
|
|
|
#--------------------------------------------------------------------
|
|
|
|
# Verilog Generation
|
|
|
|
#--------------------------------------------------------------------
|
|
|
|
|
|
|
|
# VLSI Backend
|
|
|
|
$(generated_dir)/$(MODEL).v: $(chisel_srcs)
|
|
|
|
cd $(base_dir) && mkdir -p $(generated_dir) && $(SBT) "project rocketchip" "elaborate $(MODEL) --backend rocketchip.RocketChipBackend --targetDir $(generated_dir) --noInlineMem"
|
|
|
|
cd $(generated_dir) && \
|
|
|
|
if [ -a $(MODEL).conf ]; then \
|
|
|
|
sed -i 's*^*$(vlsi_mem_gen) *' $(MODEL).conf && \
|
|
|
|
sed -i 's*$$* >> $(MODEL).v*' $(MODEL).conf && \
|
|
|
|
sh $(MODEL).conf; \
|
|
|
|
fi
|
|
|
|
|
|
|
|
# FPGA Backend
|
|
|
|
$(generated_dir)/$(FPGAMODEL).v: $(chisel_srcs)
|
|
|
|
cd $(base_dir) && mkdir -p $(generated_dir) && $(SBT) "project rocketchip" "elaborate $(FPGAMODEL) --backend fpga --targetDir $(generated_dir)"
|
|
|
|
|
|
|
|
$(generated_dir)/$(FPGAMODEL)Mem.v: $(generated_dir)/$(FPGAMODEL).conf $(mem_gen)
|
|
|
|
$(mem_gen) $(generated_dir)/$(FPGAMODEL).conf > $(generated_dir)/$(FPGAMODEL)Mem.v
|
|
|
|
|
|
|
|
$(generated_dir)/memdessertMemDessert.v: $(base_dir)/$(src_path)/*.scala $(base_dir)/uncore/$(src_path)/*.scala
|
|
|
|
cd $(base_dir) && mkdir -p $(generated_dir) && $(SBT) "project rocketchip" "elaborate MemDessert --backend v --targetDir $(generated_dir) --moduleNamePrefix memdessert"
|
|
|
|
|
2014-09-04 02:28:45 +02:00
|
|
|
# Generic Verilog
|
|
|
|
.PHONY: verilog
|
|
|
|
verilog: $(sim_vsrcs)
|
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
#--------------------------------------------------------------------
|
|
|
|
# DRAMSim2
|
|
|
|
#--------------------------------------------------------------------
|
|
|
|
|
2013-05-01 11:58:53 +02:00
|
|
|
DRAMSIM_OBJS := $(patsubst %.cpp,%.o,$(wildcard $(base_dir)/dramsim2/*.cpp))
|
2012-12-04 16:04:26 +01:00
|
|
|
$(DRAMSIM_OBJS): %.o: %.cpp
|
|
|
|
$(CXX) $(CXXFLAGS) -DNO_STORAGE -DNO_OUTPUT -Dmain=nomain -c -o $@ $<
|
2013-05-01 11:58:53 +02:00
|
|
|
$(sim_dir)/libdramsim.a: $(DRAMSIM_OBJS)
|
2012-12-04 16:04:26 +01:00
|
|
|
ar rcs $@ $^
|
|
|
|
|
2012-10-02 04:30:11 +02:00
|
|
|
#--------------------------------------------------------------------
|
2014-09-01 05:26:55 +02:00
|
|
|
# ISA Tests
|
2012-10-02 04:30:11 +02:00
|
|
|
#--------------------------------------------------------------------
|
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
tests_isa_dir = $(base_dir)/riscv-tools/riscv-tests/isa
|
|
|
|
|
2013-04-24 10:59:14 +02:00
|
|
|
asm_p_tests = \
|
|
|
|
rv64ui-p-add \
|
|
|
|
rv64ui-p-addi \
|
|
|
|
rv64ui-p-amoadd_d \
|
|
|
|
rv64ui-p-amoadd_w \
|
|
|
|
rv64ui-p-amoand_d \
|
|
|
|
rv64ui-p-amoand_w \
|
|
|
|
rv64ui-p-amoor_d \
|
|
|
|
rv64ui-p-amoor_w \
|
2013-09-13 02:03:38 +02:00
|
|
|
rv64ui-p-amoxor_d \
|
|
|
|
rv64ui-p-amoxor_w \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64ui-p-amoswap_d \
|
|
|
|
rv64ui-p-amoswap_w \
|
|
|
|
rv64ui-p-amomax_d \
|
|
|
|
rv64ui-p-amomax_w \
|
|
|
|
rv64ui-p-amomaxu_d \
|
|
|
|
rv64ui-p-amomaxu_w \
|
|
|
|
rv64ui-p-amomin_d \
|
|
|
|
rv64ui-p-amomin_w \
|
|
|
|
rv64ui-p-amominu_d \
|
|
|
|
rv64ui-p-amominu_w \
|
|
|
|
rv64ui-p-auipc \
|
|
|
|
rv64ui-p-fence_i \
|
|
|
|
rv64ui-p-sb \
|
|
|
|
rv64ui-p-sd \
|
|
|
|
rv64ui-p-sh \
|
|
|
|
rv64ui-p-sw \
|
|
|
|
rv64ui-p-addiw \
|
|
|
|
rv64ui-p-addw \
|
|
|
|
rv64ui-p-and \
|
|
|
|
rv64ui-p-andi \
|
|
|
|
rv64ui-p-beq \
|
|
|
|
rv64ui-p-bge \
|
|
|
|
rv64ui-p-bgeu \
|
|
|
|
rv64ui-p-blt \
|
|
|
|
rv64ui-p-bltu \
|
|
|
|
rv64ui-p-bne \
|
|
|
|
rv64ui-p-div \
|
|
|
|
rv64ui-p-divu \
|
|
|
|
rv64ui-p-divuw \
|
|
|
|
rv64ui-p-divw \
|
|
|
|
rv64ui-p-j \
|
|
|
|
rv64ui-p-jal \
|
|
|
|
rv64ui-p-jalr \
|
|
|
|
rv64ui-p-lb \
|
|
|
|
rv64ui-p-lbu \
|
|
|
|
rv64ui-p-ld \
|
|
|
|
rv64ui-p-lh \
|
|
|
|
rv64ui-p-lhu \
|
|
|
|
rv64ui-p-lui \
|
|
|
|
rv64ui-p-lw \
|
|
|
|
rv64ui-p-lwu \
|
|
|
|
rv64ui-p-mul \
|
|
|
|
rv64ui-p-mulh \
|
|
|
|
rv64ui-p-mulhsu \
|
|
|
|
rv64ui-p-mulhu \
|
|
|
|
rv64ui-p-mulw \
|
|
|
|
rv64ui-p-or \
|
|
|
|
rv64ui-p-ori \
|
|
|
|
rv64ui-p-rem \
|
|
|
|
rv64ui-p-remu \
|
|
|
|
rv64ui-p-remuw \
|
|
|
|
rv64ui-p-remw \
|
|
|
|
rv64ui-p-simple \
|
|
|
|
rv64ui-p-sll \
|
|
|
|
rv64ui-p-slli \
|
|
|
|
rv64ui-p-slliw \
|
|
|
|
rv64ui-p-sllw \
|
|
|
|
rv64ui-p-slt \
|
|
|
|
rv64ui-p-slti \
|
|
|
|
rv64ui-p-sltiu \
|
|
|
|
rv64ui-p-sltu \
|
|
|
|
rv64ui-p-sra \
|
|
|
|
rv64ui-p-srai \
|
|
|
|
rv64ui-p-sraiw \
|
|
|
|
rv64ui-p-sraw \
|
|
|
|
rv64ui-p-srliw \
|
|
|
|
rv64ui-p-srlw \
|
|
|
|
rv64ui-p-sub \
|
|
|
|
rv64ui-p-subw \
|
|
|
|
rv64ui-p-xor \
|
|
|
|
rv64ui-p-xori \
|
|
|
|
rv64uf-p-ldst \
|
|
|
|
rv64uf-p-move \
|
|
|
|
rv64uf-p-fsgnj \
|
|
|
|
rv64uf-p-fcmp \
|
|
|
|
rv64uf-p-fcvt \
|
|
|
|
rv64uf-p-fcvt_w \
|
2014-03-12 03:12:20 +01:00
|
|
|
rv64uf-p-fclass \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uf-p-fadd \
|
|
|
|
rv64uf-p-fmin \
|
|
|
|
rv64uf-p-fmadd \
|
|
|
|
rv64uf-p-structural \
|
2014-01-22 01:20:24 +01:00
|
|
|
rv64si-p-coreid \
|
|
|
|
rv64si-p-csr \
|
2013-09-13 02:03:38 +02:00
|
|
|
rv64si-pm-ipi \
|
|
|
|
rv64ui-pm-lrsc \
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2013-04-24 10:59:14 +02:00
|
|
|
asm_v_tests = \
|
|
|
|
rv64ui-v-add \
|
|
|
|
rv64ui-v-addi \
|
|
|
|
rv64ui-v-amoadd_d \
|
|
|
|
rv64ui-v-amoadd_w \
|
|
|
|
rv64ui-v-amoand_d \
|
|
|
|
rv64ui-v-amoand_w \
|
|
|
|
rv64ui-v-amoor_d \
|
|
|
|
rv64ui-v-amoor_w \
|
2013-09-13 02:03:38 +02:00
|
|
|
rv64ui-v-amoxor_d \
|
|
|
|
rv64ui-v-amoxor_w \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64ui-v-amoswap_d \
|
|
|
|
rv64ui-v-amoswap_w \
|
|
|
|
rv64ui-v-amomax_d \
|
|
|
|
rv64ui-v-amomax_w \
|
|
|
|
rv64ui-v-amomaxu_d \
|
|
|
|
rv64ui-v-amomaxu_w \
|
|
|
|
rv64ui-v-amomin_d \
|
|
|
|
rv64ui-v-amomin_w \
|
|
|
|
rv64ui-v-amominu_d \
|
|
|
|
rv64ui-v-amominu_w \
|
|
|
|
rv64ui-v-auipc \
|
|
|
|
rv64ui-v-fence_i \
|
|
|
|
rv64ui-v-sb \
|
|
|
|
rv64ui-v-sd \
|
|
|
|
rv64ui-v-sh \
|
|
|
|
rv64ui-v-sw \
|
|
|
|
rv64ui-v-addiw \
|
|
|
|
rv64ui-v-addw \
|
|
|
|
rv64ui-v-and \
|
|
|
|
rv64ui-v-andi \
|
|
|
|
rv64ui-v-beq \
|
|
|
|
rv64ui-v-bge \
|
|
|
|
rv64ui-v-bgeu \
|
|
|
|
rv64ui-v-blt \
|
|
|
|
rv64ui-v-bltu \
|
|
|
|
rv64ui-v-bne \
|
|
|
|
rv64ui-v-div \
|
|
|
|
rv64ui-v-divu \
|
|
|
|
rv64ui-v-divuw \
|
|
|
|
rv64ui-v-divw \
|
|
|
|
rv64ui-v-j \
|
|
|
|
rv64ui-v-jal \
|
|
|
|
rv64ui-v-jalr \
|
|
|
|
rv64ui-v-lb \
|
|
|
|
rv64ui-v-lbu \
|
|
|
|
rv64ui-v-ld \
|
|
|
|
rv64ui-v-lh \
|
|
|
|
rv64ui-v-lhu \
|
|
|
|
rv64ui-v-lui \
|
|
|
|
rv64ui-v-lw \
|
|
|
|
rv64ui-v-lwu \
|
|
|
|
rv64ui-v-mul \
|
|
|
|
rv64ui-v-mulh \
|
|
|
|
rv64ui-v-mulhsu \
|
|
|
|
rv64ui-v-mulhu \
|
|
|
|
rv64ui-v-mulw \
|
|
|
|
rv64ui-v-or \
|
|
|
|
rv64ui-v-ori \
|
|
|
|
rv64ui-v-rem \
|
|
|
|
rv64ui-v-remu \
|
|
|
|
rv64ui-v-remuw \
|
|
|
|
rv64ui-v-remw \
|
|
|
|
rv64ui-v-sll \
|
|
|
|
rv64ui-v-slli \
|
|
|
|
rv64ui-v-slliw \
|
|
|
|
rv64ui-v-sllw \
|
|
|
|
rv64ui-v-slt \
|
|
|
|
rv64ui-v-slti \
|
|
|
|
rv64ui-v-sltiu \
|
|
|
|
rv64ui-v-sltu \
|
|
|
|
rv64ui-v-sra \
|
|
|
|
rv64ui-v-srai \
|
|
|
|
rv64ui-v-sraiw \
|
|
|
|
rv64ui-v-sraw \
|
|
|
|
rv64ui-v-srliw \
|
|
|
|
rv64ui-v-srlw \
|
|
|
|
rv64ui-v-sub \
|
|
|
|
rv64ui-v-subw \
|
|
|
|
rv64ui-v-xor \
|
|
|
|
rv64ui-v-xori \
|
|
|
|
rv64uf-v-ldst \
|
|
|
|
rv64uf-v-move \
|
|
|
|
rv64uf-v-fsgnj \
|
|
|
|
rv64uf-v-fcmp \
|
|
|
|
rv64uf-v-fcvt \
|
|
|
|
rv64uf-v-fcvt_w \
|
2014-03-12 03:12:20 +01:00
|
|
|
rv64uf-v-fclass \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uf-v-fadd \
|
|
|
|
rv64uf-v-fmin \
|
|
|
|
rv64uf-v-fmadd \
|
|
|
|
rv64uf-v-structural \
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2013-04-24 10:59:14 +02:00
|
|
|
vecasm_p_tests = \
|
|
|
|
rv64uv-p-wakeup \
|
|
|
|
rv64uv-p-fence \
|
|
|
|
rv64uv-p-utidx \
|
|
|
|
rv64uv-p-vmsv \
|
|
|
|
rv64uv-p-vmvv \
|
2014-02-05 12:28:33 +01:00
|
|
|
rv64uv-p-vfmvv \
|
2014-03-02 12:38:06 +01:00
|
|
|
rv64uv-p-vfmsv_d \
|
|
|
|
rv64uv-p-vfmsv_s \
|
2013-11-15 00:56:25 +01:00
|
|
|
rv64uv-p-vsetcfg \
|
|
|
|
rv64uv-p-vsetcfgi \
|
|
|
|
rv64uv-p-vsetvl \
|
2014-02-27 13:39:12 +01:00
|
|
|
rv64uv-p-keepcfg \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uv-p-movz \
|
|
|
|
rv64uv-p-movn \
|
|
|
|
rv64uv-p-fmovz \
|
|
|
|
rv64uv-p-fmovn \
|
|
|
|
rv64uv-p-ld \
|
|
|
|
rv64uv-p-lw \
|
|
|
|
rv64uv-p-lwu \
|
|
|
|
rv64uv-p-lh \
|
|
|
|
rv64uv-p-lhu \
|
|
|
|
rv64uv-p-lb \
|
|
|
|
rv64uv-p-lbu \
|
|
|
|
rv64uv-p-sd \
|
|
|
|
rv64uv-p-sw \
|
|
|
|
rv64uv-p-sh \
|
|
|
|
rv64uv-p-sb \
|
|
|
|
rv64uv-p-fld \
|
|
|
|
rv64uv-p-flw \
|
|
|
|
rv64uv-p-fsd \
|
|
|
|
rv64uv-p-fsw \
|
|
|
|
rv64uv-p-fcvt \
|
|
|
|
rv64uv-p-vvadd_d \
|
|
|
|
rv64uv-p-vvadd_fw \
|
|
|
|
rv64uv-p-vvadd_fd \
|
|
|
|
rv64uv-p-vvadd_w \
|
|
|
|
rv64uv-p-vvmul_d \
|
|
|
|
rv64uv-p-amoadd_d \
|
|
|
|
rv64uv-p-amoand_d \
|
|
|
|
rv64uv-p-amoor_d \
|
2013-11-21 01:44:33 +01:00
|
|
|
rv64uv-p-amoxor_d \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uv-p-amomax_d \
|
|
|
|
rv64uv-p-amomin_d \
|
|
|
|
rv64uv-p-amomaxu_d \
|
|
|
|
rv64uv-p-amominu_d \
|
2013-11-21 01:44:33 +01:00
|
|
|
rv64uv-p-amoswap_d \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uv-p-amoadd_w \
|
|
|
|
rv64uv-p-amoand_w \
|
|
|
|
rv64uv-p-amoor_w \
|
2013-11-21 01:44:33 +01:00
|
|
|
rv64uv-p-amoxor_w \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uv-p-amomax_w \
|
|
|
|
rv64uv-p-amomin_w \
|
|
|
|
rv64uv-p-amomaxu_w \
|
|
|
|
rv64uv-p-amominu_w \
|
2013-11-21 01:44:33 +01:00
|
|
|
rv64uv-p-amoswap_w \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uv-p-imul \
|
|
|
|
rv64uv-p-fma \
|
2014-02-27 06:20:53 +01:00
|
|
|
rv64uv-p-fma_many \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64ui-p-vec-mul \
|
|
|
|
rv64ui-p-vec-mulw \
|
|
|
|
rv64ui-p-vec-mulh \
|
|
|
|
rv64ui-p-vec-mulhu \
|
|
|
|
rv64ui-p-vec-mulhsu \
|
|
|
|
rv64ui-p-vec-addi \
|
|
|
|
rv64ui-p-vec-add \
|
|
|
|
rv64ui-p-vec-addiw \
|
|
|
|
rv64ui-p-vec-addw \
|
|
|
|
rv64ui-p-vec-and \
|
|
|
|
rv64ui-p-vec-andi \
|
|
|
|
rv64ui-p-vec-lui \
|
|
|
|
rv64ui-p-vec-or \
|
|
|
|
rv64ui-p-vec-ori \
|
|
|
|
rv64ui-p-vec-slt \
|
|
|
|
rv64ui-p-vec-sltu \
|
|
|
|
rv64ui-p-vec-slti \
|
|
|
|
rv64ui-p-vec-sltiu \
|
|
|
|
rv64ui-p-vec-slli \
|
|
|
|
rv64ui-p-vec-sll \
|
|
|
|
rv64ui-p-vec-slliw \
|
|
|
|
rv64ui-p-vec-sllw \
|
|
|
|
rv64ui-p-vec-srai \
|
|
|
|
rv64ui-p-vec-sra \
|
|
|
|
rv64ui-p-vec-sraiw \
|
|
|
|
rv64ui-p-vec-sraw \
|
|
|
|
rv64ui-p-vec-srli \
|
|
|
|
rv64ui-p-vec-srl \
|
|
|
|
rv64ui-p-vec-srliw \
|
|
|
|
rv64ui-p-vec-srlw \
|
|
|
|
rv64ui-p-vec-sub \
|
|
|
|
rv64ui-p-vec-subw \
|
|
|
|
rv64ui-p-vec-xor \
|
|
|
|
rv64ui-p-vec-xori \
|
|
|
|
rv64uf-p-vec-fadd \
|
|
|
|
rv64uf-p-vec-fsgnj \
|
|
|
|
rv64uf-p-vec-fmin \
|
|
|
|
rv64uf-p-vec-fmadd \
|
|
|
|
rv64uf-p-vec-fcvt_w \
|
|
|
|
rv64uf-p-vec-fcvt \
|
|
|
|
rv64uf-p-vec-fcmp \
|
2014-02-26 06:18:03 +01:00
|
|
|
rv64sv-p-illegal_cfg_nxpr \
|
|
|
|
rv64sv-p-illegal_cfg_nfpr \
|
|
|
|
rv64sv-p-illegal_inst \
|
|
|
|
rv64sv-p-illegal_tvec_regid \
|
|
|
|
rv64sv-p-illegal_vt_inst \
|
|
|
|
rv64sv-p-illegal_vt_regid \
|
|
|
|
rv64sv-p-ma_utld \
|
|
|
|
rv64sv-p-ma_utsd \
|
|
|
|
rv64sv-p-ma_vld \
|
|
|
|
rv64sv-p-ma_vsd \
|
|
|
|
rv64sv-p-ma_vt_inst \
|
|
|
|
rv64sv-p-privileged_inst \
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2013-04-24 10:59:14 +02:00
|
|
|
vecasm_v_tests = \
|
|
|
|
rv64uv-v-wakeup \
|
|
|
|
rv64uv-v-fence \
|
|
|
|
rv64uv-v-utidx \
|
|
|
|
rv64uv-v-vmsv \
|
|
|
|
rv64uv-v-vmvv \
|
|
|
|
rv64uv-v-vfmvv \
|
2014-03-02 12:38:06 +01:00
|
|
|
rv64uv-v-vfmsv_d \
|
|
|
|
rv64uv-v-vfmsv_s \
|
|
|
|
rv64uv-v-vsetcfg \
|
|
|
|
rv64uv-v-vsetcfgi \
|
|
|
|
rv64uv-v-vsetvl \
|
|
|
|
rv64uv-v-keepcfg \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uv-v-movz \
|
|
|
|
rv64uv-v-movn \
|
|
|
|
rv64uv-v-fmovz \
|
|
|
|
rv64uv-v-fmovn \
|
|
|
|
rv64uv-v-ld \
|
|
|
|
rv64uv-v-lw \
|
|
|
|
rv64uv-v-lwu \
|
|
|
|
rv64uv-v-lh \
|
|
|
|
rv64uv-v-lhu \
|
|
|
|
rv64uv-v-lb \
|
|
|
|
rv64uv-v-lbu \
|
|
|
|
rv64uv-v-sd \
|
|
|
|
rv64uv-v-sw \
|
|
|
|
rv64uv-v-sh \
|
|
|
|
rv64uv-v-sb \
|
|
|
|
rv64uv-v-fld \
|
|
|
|
rv64uv-v-flw \
|
|
|
|
rv64uv-v-fsd \
|
|
|
|
rv64uv-v-fsw \
|
|
|
|
rv64uv-v-fcvt \
|
|
|
|
rv64uv-v-vvadd_d \
|
|
|
|
rv64uv-v-vvadd_fw \
|
|
|
|
rv64uv-v-vvadd_fd \
|
|
|
|
rv64uv-v-vvadd_w \
|
|
|
|
rv64uv-v-vvmul_d \
|
|
|
|
rv64uv-v-amoadd_d \
|
|
|
|
rv64uv-v-amoswap_d \
|
|
|
|
rv64uv-v-amoand_d \
|
|
|
|
rv64uv-v-amoor_d \
|
|
|
|
rv64uv-v-amomax_d \
|
|
|
|
rv64uv-v-amomin_d \
|
|
|
|
rv64uv-v-amomaxu_d \
|
|
|
|
rv64uv-v-amominu_d \
|
|
|
|
rv64uv-v-amoadd_w \
|
|
|
|
rv64uv-v-amoswap_w \
|
|
|
|
rv64uv-v-amoand_w \
|
|
|
|
rv64uv-v-amoor_w \
|
|
|
|
rv64uv-v-amomax_w \
|
|
|
|
rv64uv-v-amomin_w \
|
|
|
|
rv64uv-v-amomaxu_w \
|
|
|
|
rv64uv-v-amominu_w \
|
|
|
|
rv64uv-v-imul \
|
|
|
|
rv64uv-v-fma \
|
2014-02-27 06:20:53 +01:00
|
|
|
rv64uv-v-fma_many \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64ui-v-vec-mul \
|
|
|
|
rv64ui-v-vec-mulw \
|
|
|
|
rv64ui-v-vec-mulh \
|
|
|
|
rv64ui-v-vec-mulhu \
|
|
|
|
rv64ui-v-vec-mulhsu \
|
|
|
|
rv64ui-v-vec-addi \
|
|
|
|
rv64ui-v-vec-add \
|
|
|
|
rv64ui-v-vec-addiw \
|
|
|
|
rv64ui-v-vec-addw \
|
|
|
|
rv64ui-v-vec-and \
|
|
|
|
rv64ui-v-vec-andi \
|
|
|
|
rv64ui-v-vec-lui \
|
|
|
|
rv64ui-v-vec-or \
|
|
|
|
rv64ui-v-vec-ori \
|
|
|
|
rv64ui-v-vec-slt \
|
|
|
|
rv64ui-v-vec-sltu \
|
|
|
|
rv64ui-v-vec-slti \
|
|
|
|
rv64ui-v-vec-sltiu \
|
|
|
|
rv64ui-v-vec-slli \
|
|
|
|
rv64ui-v-vec-sll \
|
|
|
|
rv64ui-v-vec-slliw \
|
|
|
|
rv64ui-v-vec-sllw \
|
|
|
|
rv64ui-v-vec-srai \
|
|
|
|
rv64ui-v-vec-sra \
|
|
|
|
rv64ui-v-vec-sraiw \
|
|
|
|
rv64ui-v-vec-sraw \
|
|
|
|
rv64ui-v-vec-srli \
|
|
|
|
rv64ui-v-vec-srl \
|
|
|
|
rv64ui-v-vec-srliw \
|
|
|
|
rv64ui-v-vec-srlw \
|
|
|
|
rv64ui-v-vec-sub \
|
|
|
|
rv64ui-v-vec-subw \
|
|
|
|
rv64ui-v-vec-xor \
|
|
|
|
rv64ui-v-vec-xori \
|
|
|
|
rv64uf-v-vec-fadd \
|
|
|
|
rv64uf-v-vec-fsgnj \
|
|
|
|
rv64uf-v-vec-fmin \
|
|
|
|
rv64uf-v-vec-fmadd \
|
|
|
|
rv64uf-v-vec-fcvt_w \
|
|
|
|
rv64uf-v-vec-fcvt \
|
|
|
|
rv64uf-v-vec-fcmp \
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2013-04-24 10:59:14 +02:00
|
|
|
vecasm_pt_tests = \
|
|
|
|
rv64uv-pt-wakeup \
|
|
|
|
rv64uv-pt-fence \
|
|
|
|
rv64uv-pt-vvadd_d \
|
|
|
|
rv64uv-pt-vvadd_fw \
|
|
|
|
rv64uv-pt-vvadd_fd \
|
|
|
|
rv64uv-pt-vvadd_w \
|
|
|
|
rv64uv-pt-vvmul_d \
|
|
|
|
rv64uv-pt-fcvt \
|
|
|
|
rv64uv-pt-utidx \
|
|
|
|
rv64uv-pt-vmvv \
|
|
|
|
rv64uv-pt-vmsv \
|
|
|
|
rv64uv-pt-vfmvv \
|
2014-03-02 12:38:06 +01:00
|
|
|
rv64uv-pt-vfmsv_d \
|
|
|
|
rv64uv-pt-vfmsv_s \
|
|
|
|
rv64uv-pt-vsetcfg \
|
|
|
|
rv64uv-pt-vsetcfgi \
|
|
|
|
rv64uv-pt-vsetvl \
|
|
|
|
rv64uv-pt-keepcfg \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64uv-pt-movz \
|
|
|
|
rv64uv-pt-movn \
|
|
|
|
rv64uv-pt-fmovz \
|
|
|
|
rv64uv-pt-fmovn \
|
|
|
|
rv64uv-pt-ld \
|
|
|
|
rv64uv-pt-lw \
|
|
|
|
rv64uv-pt-lwu \
|
|
|
|
rv64uv-pt-lh \
|
|
|
|
rv64uv-pt-lhu \
|
|
|
|
rv64uv-pt-lb \
|
|
|
|
rv64uv-pt-lbu \
|
|
|
|
rv64uv-pt-sd \
|
|
|
|
rv64uv-pt-sw \
|
|
|
|
rv64uv-pt-sh \
|
|
|
|
rv64uv-pt-sb \
|
|
|
|
rv64uv-pt-fld \
|
|
|
|
rv64uv-pt-flw \
|
|
|
|
rv64uv-pt-fsd \
|
|
|
|
rv64uv-pt-fsw \
|
|
|
|
rv64uv-pt-amoadd_d \
|
|
|
|
rv64uv-pt-amoswap_d \
|
|
|
|
rv64uv-pt-amoand_d \
|
|
|
|
rv64uv-pt-amoor_d \
|
|
|
|
rv64uv-pt-amomax_d \
|
|
|
|
rv64uv-pt-amomin_d \
|
|
|
|
rv64uv-pt-amomaxu_d \
|
|
|
|
rv64uv-pt-amominu_d \
|
|
|
|
rv64uv-pt-amoadd_w \
|
|
|
|
rv64uv-pt-amoswap_w \
|
|
|
|
rv64uv-pt-amoand_w \
|
|
|
|
rv64uv-pt-amoor_w \
|
|
|
|
rv64uv-pt-amomax_w \
|
|
|
|
rv64uv-pt-amomin_w \
|
|
|
|
rv64uv-pt-amomaxu_w \
|
|
|
|
rv64uv-pt-amominu_w \
|
|
|
|
rv64uv-pt-imul \
|
|
|
|
rv64uv-pt-fma \
|
2014-02-27 06:20:53 +01:00
|
|
|
rv64uv-pt-fma_many \
|
2013-04-24 10:59:14 +02:00
|
|
|
rv64ui-pt-vec-mul \
|
|
|
|
rv64ui-pt-vec-mulw \
|
|
|
|
rv64ui-pt-vec-mulh \
|
|
|
|
rv64ui-pt-vec-mulhu \
|
|
|
|
rv64ui-pt-vec-mulhsu \
|
|
|
|
rv64ui-pt-vec-addi \
|
|
|
|
rv64ui-pt-vec-add \
|
|
|
|
rv64ui-pt-vec-addiw \
|
|
|
|
rv64ui-pt-vec-addw \
|
|
|
|
rv64ui-pt-vec-and \
|
|
|
|
rv64ui-pt-vec-andi \
|
|
|
|
rv64ui-pt-vec-lui \
|
|
|
|
rv64ui-pt-vec-or \
|
|
|
|
rv64ui-pt-vec-ori \
|
|
|
|
rv64ui-pt-vec-slt \
|
|
|
|
rv64ui-pt-vec-sltu \
|
|
|
|
rv64ui-pt-vec-slti \
|
|
|
|
rv64ui-pt-vec-sltiu \
|
|
|
|
rv64ui-pt-vec-slli \
|
|
|
|
rv64ui-pt-vec-sll \
|
|
|
|
rv64ui-pt-vec-slliw \
|
|
|
|
rv64ui-pt-vec-sllw \
|
|
|
|
rv64ui-pt-vec-srai \
|
|
|
|
rv64ui-pt-vec-sra \
|
|
|
|
rv64ui-pt-vec-sraiw \
|
|
|
|
rv64ui-pt-vec-sraw \
|
|
|
|
rv64ui-pt-vec-srli \
|
|
|
|
rv64ui-pt-vec-srl \
|
|
|
|
rv64ui-pt-vec-srliw \
|
|
|
|
rv64ui-pt-vec-srlw \
|
|
|
|
rv64ui-pt-vec-sub \
|
|
|
|
rv64ui-pt-vec-subw \
|
|
|
|
rv64ui-pt-vec-xor \
|
|
|
|
rv64ui-pt-vec-xori \
|
|
|
|
rv64uf-pt-vec-fadd \
|
|
|
|
rv64uf-pt-vec-fsgnj \
|
|
|
|
rv64uf-pt-vec-fmin \
|
|
|
|
rv64uf-pt-vec-fmadd \
|
|
|
|
rv64uf-pt-vec-fcvt_w \
|
|
|
|
rv64uf-pt-vec-fcvt \
|
|
|
|
rv64uf-pt-vec-fcmp \
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
#--------------------------------------------------------------------
|
|
|
|
# Benchmark Tests
|
|
|
|
#--------------------------------------------------------------------
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
tests_bmark_dir = $(base_dir)/riscv-tools/riscv-tests/benchmarks
|
2013-04-24 10:59:14 +02:00
|
|
|
bmarks = \
|
2012-10-02 04:30:11 +02:00
|
|
|
median.riscv \
|
|
|
|
multiply.riscv \
|
|
|
|
qsort.riscv \
|
|
|
|
towers.riscv \
|
|
|
|
vvadd.riscv \
|
2014-04-19 03:05:30 +02:00
|
|
|
mm.riscv \
|
2012-10-19 13:09:07 +02:00
|
|
|
dhrystone.riscv \
|
2012-11-05 01:43:02 +01:00
|
|
|
spmv.riscv \
|
2013-09-13 02:03:38 +02:00
|
|
|
#vec-vvadd.riscv \
|
|
|
|
#vec-cmplxmult.riscv \
|
|
|
|
#vec-matmul.riscv \
|
|
|
|
#mt-vvadd.riscv \
|
|
|
|
#mt-matmul.riscv \
|
2012-10-02 04:30:11 +02:00
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
#--------------------------------------------------------------------
|
|
|
|
# Multi-threaded Benchmark Tests
|
|
|
|
#--------------------------------------------------------------------
|
2013-06-14 00:34:15 +02:00
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
test_mt_bmark_dir = $(base_dir)/riscv-tools/riscv-tests/mt
|
2013-06-14 00:34:15 +02:00
|
|
|
mt_bmarks = \
|
2014-09-01 05:26:55 +02:00
|
|
|
ab_matmul.riscv \
|
|
|
|
ab_vvadd.riscv \
|
|
|
|
ad_matmul.riscv \
|
|
|
|
ad_vvadd.riscv \
|
|
|
|
ae_matmul.riscv \
|
|
|
|
ae_vvadd.riscv \
|
|
|
|
af_matmul.riscv \
|
|
|
|
af_vvadd.riscv \
|
|
|
|
ag_matmul.riscv \
|
|
|
|
ag_vvadd.riscv \
|
|
|
|
ai_matmul.riscv \
|
|
|
|
ai_vvadd.riscv \
|
|
|
|
aj_vvadd.riscv \
|
|
|
|
ak_matmul.riscv \
|
|
|
|
ak_vvadd.riscv \
|
|
|
|
al_matmul.riscv \
|
|
|
|
al_vvadd.riscv \
|
|
|
|
am_matmul.riscv \
|
|
|
|
am_vvadd.riscv \
|
|
|
|
an_matmul.riscv \
|
|
|
|
ap_matmul.riscv \
|
|
|
|
ap_vvadd.riscv \
|
|
|
|
aq_matmul.riscv \
|
|
|
|
aq_vvadd.riscv \
|
|
|
|
ar_matmul.riscv \
|
|
|
|
ar_vvadd.riscv \
|
|
|
|
as_matmul.riscv \
|
|
|
|
as_vvadd.riscv \
|
|
|
|
at_matmul.riscv \
|
|
|
|
at_vvadd.riscv \
|
|
|
|
av_matmul.riscv \
|
|
|
|
av_vvadd.riscv \
|
|
|
|
ay_matmul.riscv \
|
|
|
|
ay_vvadd.riscv \
|
|
|
|
az_matmul.riscv \
|
|
|
|
az_vvadd.riscv \
|
|
|
|
ba_matmul.riscv \
|
|
|
|
ba_vvadd.riscv \
|
|
|
|
bb_matmul.riscv \
|
|
|
|
bb_vvadd.riscv \
|
|
|
|
bc_matmul.riscv \
|
|
|
|
bc_vvadd.riscv \
|
|
|
|
be_matmul.riscv \
|
|
|
|
be_vvadd.riscv \
|
|
|
|
bf_matmul.riscv \
|
|
|
|
bf_vvadd.riscv \
|
|
|
|
bh_matmul.riscv \
|
|
|
|
bh_vvadd.riscv \
|
|
|
|
bj_matmul.riscv \
|
|
|
|
bj_vvadd.riscv \
|
|
|
|
bk_matmul.riscv \
|
|
|
|
bk_vvadd.riscv \
|
|
|
|
bm_matmul.riscv \
|
|
|
|
bm_vvadd.riscv \
|
|
|
|
bn_matmul.riscv \
|
|
|
|
bn_vvadd.riscv \
|
|
|
|
bo_matmul.riscv \
|
|
|
|
bo_vvadd.riscv \
|
|
|
|
bp_matmul.riscv \
|
|
|
|
bp_vvadd.riscv \
|
|
|
|
br_matmul.riscv \
|
|
|
|
br_vvadd.riscv \
|
|
|
|
bs_matmul.riscv \
|
|
|
|
bs_vvadd.riscv \
|
|
|
|
bt_matmul.riscv \
|
|
|
|
bt_vvadd.riscv \
|
2013-09-15 13:25:53 +02:00
|
|
|
|
2014-09-01 05:26:55 +02:00
|
|
|
#--------------------------------------------------------------------
|
|
|
|
# Build Tests
|
|
|
|
#--------------------------------------------------------------------
|
|
|
|
|
|
|
|
%.hex:
|
|
|
|
$(MAKE) -C $(dir $@) $(notdir $@)
|
|
|
|
|
|
|
|
%.riscv.hex: %
|
|
|
|
$(MAKE) -C $(dir $@) $(notdir $@)
|
|
|
|
|
|
|
|
$(addprefix $(output_dir)/, $(addsuffix .hex, $(asm_p_tests) $(asm_v_tests) $(vecasm_p_tests) $(vecasm_v_tests) $(vecasm_pt_tests))): $(output_dir)/%.hex: $(tests_isa_dir)/%.hex
|
|
|
|
mkdir -p $(output_dir)
|
|
|
|
ln -fs $< $@
|
|
|
|
|
|
|
|
$(addprefix $(output_dir)/, $(addsuffix .hex, $(bmarks))): $(output_dir)/%.hex: $(tests_bmark_dir)/%.hex
|
|
|
|
mkdir -p $(output_dir)
|
|
|
|
ln -fs $< $@
|
|
|
|
|
|
|
|
$(addprefix $(output_dir)/, $(addsuffix .hex, $(mt_bmarks))): $(output_dir)/%.hex: $(test_mt_bmark_dir)/%.hex
|
|
|
|
mkdir -p $(output_dir)
|
|
|
|
ln -fs $< $@
|