bmarks = \
median \
qsort \
+ rsort \
towers \
vvadd \
multiply \
- dgemm \
+ mm \
dhrystone \
spmv \
mt-vvadd \
mt-matmul \
+ #vec-fft \
#vec-vvadd \
#vec-cmplxmult \
#vec-matmul \
towers \
vvadd \
multiply \
- dgemm \
spmv \
vec-vvadd \
vec-cmplxmult \
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 -nostdlib -nostartfiles -ffast-math
-RISCV_LINK = riscv-gcc -T $(bmarkdir)/common/test.ld
-RISCV_LINK_MT = riscv-gcc -T $(bmarkdir)/common/test-mt.ld
-RISCV_LINK_OPTS = -lc
-RISCV_LINK_SYSCALL = $(bmarkdir)/common/syscalls.c -lc
-RISCV_OBJDUMP = riscv-objdump --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.data
+RISCV_PREFIX=riscv64-unknown-elf-
+RISCV_GCC = $(RISCV_PREFIX)gcc
+RISCV_GCC_OPTS = -static -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_PREFIX)objdump --disassemble-all --disassemble-zeroes --section=.text --section=.text.startup --section=.data
RISCV_SIM = spike
VPATH += $(addprefix $(bmarkdir)/, $(bmarks))
VPATH += $(bmarkdir)/common
-incs += -I$(bmarkdir)/common $(addprefix -I$(bmarkdir)/, $(bmarks))
+incs += -I$(bmarkdir)/../env -I$(bmarkdir)/common $(addprefix -I$(bmarkdir)/, $(bmarks))
objs :=
include $(patsubst %, $(bmarkdir)/%/bmark.mk, $(bmarks))
-c $(incs) $< -o $@
%.o: %.S
- $(RISCV_GCC) $(RISCV_GCC_OPTS) $(bmarks_defs) \
+ $(RISCV_GCC) $(RISCV_GCC_OPTS) $(bmarks_defs) -D__ASSEMBLY__=1 \
-c $(incs) $< -o $@
riscv: $(bmarks_riscv_dump) $(bmarks_riscv_hex)