From f06f681dbd9491fb876261e8d2cd96382ae6628f Mon Sep 17 00:00:00 2001 From: David Harris Date: Thu, 18 Jan 2024 21:30:39 -0800 Subject: [PATCH] CoreMark displays StoreStalls --- benchmarks/coremark/Makefile | 22 ++----------------- .../coremark/riscv64-baremetal/syscalls.c | 1 + 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/benchmarks/coremark/Makefile b/benchmarks/coremark/Makefile index db8a6e1d6..6e466291e 100644 --- a/benchmarks/coremark/Makefile +++ b/benchmarks/coremark/Makefile @@ -11,8 +11,8 @@ sources=$(cmbase)/core_main.c $(cmbase)/core_list_join.c $(cmbase)/coremark.h \ $(PORT_DIR)/core_portme.h $(PORT_DIR)/core_portme.c $(PORT_DIR)/core_portme.mak \ $(PORT_DIR)/crt.S $(PORT_DIR)/encoding.h $(PORT_DIR)/util.h $(PORT_DIR)/syscalls.c ABI := $(if $(findstring "64","$(XLEN)"),lp64,ilp32) -ARCH := rv$(XLEN)im_zicsr_zba_zbb_zbc_zbs -#ARCH := rv$(XLEN)gc_zba_zbb_zbc_zbs +ARCH := rv$(XLEN)gc_zba_zbb_zbc +#ARCH := rv$(XLEN)im_zicsr_zba_zbb_zbc #ARCH := rv$(XLEN)gc #ARCH := rv$(XLEN)imc_zicsr #ARCH := rv$(XLEN)im_zicsr @@ -25,24 +25,6 @@ PORT_CFLAGS = -g -mabi=$(ABI) -march=$(ARCH) -static -falign-functions=16 \ -nostdlib -nostartfiles -ffreestanding -mstrict-align \ -DTOTAL_DATA_SIZE=2000 -DMAIN_HAS_NOARGC=1 -DPERFORMANCE_RUN=1 -DITERATIONS=10 -DXLEN=$(XLEN) -# Black Parrott -#PORT_CFLAGS = -O2 -fno-common -funroll-loops -finline-functions --param max-inline-insns-auto=20 -falign-functions=4 -falign-jumps=4 -falign-loops=4 \ - -DITERATIONS=10 -DPERFORMANCE_RUN=1 -#OPTIMIZE := -O2 -fno-common -funroll-loops -finline-functions --param max-inline-insns-auto=20 -falign-functions=4 -falign-jumps=4 -falign-loops=4 -#override CFLAGS += $(OPTIMIZE) -DFLAGS_STR=\""$(OPTIMIZE)"\" -#override CFLAGS += -DITERATIONS=10 -DPERFORMANCE_RUN=1 - -# try adding the new fields from muntjac coremark build -#PORT_CFLAGS = -g -mabi=$(ABI) -march=$(ARCH) -static -falign-functions=16 \ - -fno-common -flto -funswitch-loops -mcmodel=medany \ - -falign-functions=4 -falign-jumps=4 -falign-loops=4 \ - -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-3-series -O3 -finline-functions --param max-inline-insns-auto=20 -falign-jumps=4 \ - -fno-delete-null-pointer-checks -fno-rename-registers --param=loop-max-datarefs-for-datadeps=0 \ - -funroll-all-loops --param=uninlined-function-insns=8 -fno-tree-vrp -fwrapv -fipa-pta \ - -nostdlib -nostartfiles -ffreestanding -mstrict-align \ - -DTOTAL_DATA_SIZE=2000 -DMAIN_HAS_NOARGC=1 -DPERFORMANCE_RUN=1 -DITERATIONS=10 -DXLEN=$(XLEN) - - all: $(work_dir)/coremark.bare.riscv.elf.memfile run: diff --git a/benchmarks/coremark/riscv64-baremetal/syscalls.c b/benchmarks/coremark/riscv64-baremetal/syscalls.c index 29cd5f24a..25c47b797 100644 --- a/benchmarks/coremark/riscv64-baremetal/syscalls.c +++ b/benchmarks/coremark/riscv64-baremetal/syscalls.c @@ -177,6 +177,7 @@ void _init(int cid, int nc) counters[17] = read_csr(mhpmcounter17) - counters[17]; ee_printf("Load Stalls %d\n", counters[11]); + ee_printf("Store Stalls %d\n", counters[12]); ee_printf("D-Cache Accesses %d\n", counters[13]); ee_printf("D-Cache Misses %d\n", counters[14]); ee_printf("I-Cache Accesses %d\n", counters[16]);