Mark RV32 tests as such
[riscv-tests.git] / benchmarks / Makefile
index 241a933ca787f275d200f5657e9e3d1f77115dab..e294f720df287fc392a60a66cf01f0288bb19493 100644 (file)
@@ -6,7 +6,7 @@
 
 default: all
 
-bmarkdir = .
+src_dir = .
 
 instname = riscv-bmarks
 instbasedir = $(UCB_VLSI_HOME)/install
@@ -26,11 +26,7 @@ bmarks = \
        dhrystone \
        spmv \
        mt-vvadd \
-       #vec-fft \
-       #mt-matmul \
-       #vec-vvadd \
-       #vec-cmplxmult \
-       #vec-matmul \
+       mt-matmul \
 
 bmarks_host = \
        median \
@@ -38,7 +34,6 @@ bmarks_host = \
        towers \
        vvadd \
        multiply \
-       mm \
        spmv \
        vec-vvadd \
        vec-cmplxmult \
@@ -51,36 +46,33 @@ bmarks_host = \
 HOST_OPTS = -std=gnu99 -DPREALLOCATE=0 -DHOST_DEBUG=1
 HOST_COMP = gcc $(HOST_OPTS)
 
-RISCV_GCC = riscv-gcc
-RISCV_GCC_OPTS = -Wa,-march=RVIMAFDXhwacha -std=gnu99 -O2 -ffast-math
-RISCV_LINK = riscv-gcc -T $(bmarkdir)/common/test.ld $(incs)
-RISCV_LINK_MT = riscv-gcc -T $(bmarkdir)/common/test-mt.ld
-RISCV_LINK_OPTS = -nostdlib -nostartfiles -ffast-math -lc
-RISCV_OBJDUMP = riscv-objdump --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.data
-RISCV_SIM = spike
+RISCV_PREFIX ?= riscv64-unknown-elf-
+RISCV_GCC ?= $(RISCV_PREFIX)gcc
+RISCV_GCC_OPTS ?= -mcmodel=medany -static -std=gnu99 -O2 -ffast-math -fno-common -fno-builtin-printf
+RISCV_LINK ?= $(RISCV_GCC) -T $(src_dir)/common/test.ld $(incs)
+RISCV_LINK_MT ?= $(RISCV_GCC) -T $(src_dir)/common/test-mt.ld
+RISCV_LINK_OPTS ?= -nostdlib -nostartfiles -ffast-math -lgcc
+RISCV_OBJDUMP ?= $(RISCV_PREFIX)objdump --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.data
+RISCV_SIM ?= spike
 
-VPATH += $(addprefix $(bmarkdir)/, $(bmarks))
-VPATH += $(bmarkdir)/common
+VPATH += $(addprefix $(src_dir)/, $(bmarks))
+VPATH += $(src_dir)/common
 
-incs  += -I$(bmarkdir)/../env -I$(bmarkdir)/common $(addprefix -I$(bmarkdir)/, $(bmarks))
+incs  += -I$(src_dir)/../env -I$(src_dir)/common $(addprefix -I$(src_dir)/, $(bmarks))
 objs  :=
 
-include $(patsubst %, $(bmarkdir)/%/bmark.mk, $(bmarks))
+include $(patsubst %, $(src_dir)/%/bmark.mk, $(bmarks))
 
 #------------------------------------------------------------
 # Build and run benchmarks on riscv simulator
 
 bmarks_riscv_bin  = $(addsuffix .riscv,  $(bmarks))
 bmarks_riscv_dump = $(addsuffix .riscv.dump, $(bmarks))
-bmarks_riscv_hex = $(addsuffix .riscv.hex, $(bmarks))
 bmarks_riscv_out  = $(addsuffix .riscv.out,  $(bmarks))
 
 bmarks_defs   = -DPREALLOCATE=1 -DHOST_DEBUG=0
 bmarks_cycles = 80000
 
-%.hex: %
-       elf2hex 16 32768 $< > $@
-
 $(bmarks_riscv_dump): %.riscv.dump: %.riscv
        $(RISCV_OBJDUMP) $< > $@
 
@@ -95,7 +87,7 @@ $(bmarks_riscv_out): %.riscv.out: %.riscv
        $(RISCV_GCC) $(RISCV_GCC_OPTS) $(bmarks_defs) -D__ASSEMBLY__=1 \
                     -c $(incs) $< -o $@
 
-riscv: $(bmarks_riscv_dump) $(bmarks_riscv_hex)
+riscv: $(bmarks_riscv_dump)
 run-riscv: $(bmarks_riscv_out)
        echo; perl -ne 'print "  [$$1] $$ARGV \t$$2\n" if /\*{3}(.{8})\*{3}(.*)/' \
               $(bmarks_riscv_out); echo;