forked from Github_Repos/cvw
		
	added PORT_CFLAGS and some WIP 32bit support
This commit is contained in:
		
							parent
							
								
									c5dfefe669
								
							
						
					
					
						commit
						f36b31a78b
					
				@ -7,34 +7,56 @@ sources=$(cmbase)/core_main.c $(cmbase)/core_list_join.c $(cmbase)/coremark.h  \
 | 
				
			|||||||
	$(cmbase)/core_matrix.c $(cmbase)/core_state.c $(cmbase)/core_util.c \
 | 
						$(cmbase)/core_matrix.c $(cmbase)/core_state.c $(cmbase)/core_util.c \
 | 
				
			||||||
	$(PORT_DIR)/core_portme.h $(PORT_DIR)/core_portme.c $(PORT_DIR)/core_portme.mak \
 | 
						$(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
 | 
						$(PORT_DIR)/crt.S $(PORT_DIR)/encoding.h $(PORT_DIR)/util.h $(PORT_DIR)/syscalls.c
 | 
				
			||||||
ABI = lp64
 | 
					ABI := $(if $(findstring "64","$(XLEN)"),lp64,ilp32)
 | 
				
			||||||
#$(if $(findstring 64, $(XLEN)), lp64, ilp32)
 | 
					PORT_CFLAGS = -g -march=rv$(XLEN)im -mabi=$(ABI) -march=rv$(XLEN)im -static -falign-functions=16 \
 | 
				
			||||||
PORT_CFLAGS = -g -march=$(XLEN)im -mabi=$(ABI) -static -mcmodel=medlow -mtune=sifive-3-series \
 | 
						-mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-3-series -O3 -funroll-all-loops -finline-functions -falign-jumps=4 \
 | 
				
			||||||
  -O3 -falign-functions=16 -funroll-all-loops \
 | 
						-fno-delete-null-pointer-checks -fno-rename-registers --param=loop-max-datarefs-for-datadeps=0 \
 | 
				
			||||||
	-finline-functions -falign-jumps=4 \
 | 
						-funroll-all-loops --param=uninlined-function-insns=8 -fno-tree-vrp -fwrapv -fipa-pta \
 | 
				
			||||||
	-nostdlib -nostartfiles -ffreestanding -mstrict-align \
 | 
						-nostdlib -nostartfiles -ffreestanding -mstrict-align \
 | 
				
			||||||
	-DTOTAL_DATA_SIZE=2000 -DMAIN_HAS_NOARGC=1 \
 | 
						-DTOTAL_DATA_SIZE=2000 -DMAIN_HAS_NOARGC=1 -DPERFORMANCE_RUN=1
 | 
				
			||||||
	-DPERFORMANCE_RUN=1
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# flags that cause build errors mcmodel=medlow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -static -mcmodel=medlow -mtune=sifive-7-series \
 | 
				
			||||||
 | 
					# -O3 -falign-functions=16 -funroll-all-loops -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET 
 | 
				
			||||||
 | 
					# -finline-functions -falign-jumps=4 \
 | 
				
			||||||
 | 
					# -nostdlib -nostartfiles -ffreestanding -mstrict-align \
 | 
				
			||||||
 | 
					# -DTOTAL_DATA_SIZE=2000 -DMAIN_HAS_NOARGC=1 \
 | 
				
			||||||
 | 
					# -DPERFORMANCE_RUN=1
 | 
				
			||||||
 | 
					# "-march=rv$(XLEN)im -mabi=$(ABI) -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-7-series -Ofast -funroll-all-loops -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 " 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all: $(work_dir)/coremark.bare.riscv.elf.memfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run:
 | 
				
			||||||
 | 
						(cd ../../pipelined/regression && (vsim -c -do "do wally-pipelined-batch.do rv$(XLEN)gc coremark" 2>&1 | tee $(work_dir)/coremark.sim.log))
 | 
				
			||||||
 | 
						cd ../../benchmarks/coremark/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(work_dir)/coremark.bare.riscv.elf.memfile: $(work_dir)/coremark.bare.riscv
 | 
					$(work_dir)/coremark.bare.riscv.elf.memfile: $(work_dir)/coremark.bare.riscv
 | 
				
			||||||
	riscv64-unknown-elf-objdump -D $< > $<.elf.objdump
 | 
						riscv64-unknown-elf-objdump -D $< > $<.elf.objdump
 | 
				
			||||||
	riscv64-unknown-elf-elf2hex --bit-width $(XLEN) --input $< --output $@
 | 
						riscv64-unknown-elf-elf2hex --bit-width $(XLEN) --input $< --output $@
 | 
				
			||||||
	extractFunctionRadix.sh $<.elf.objdump
 | 
						extractFunctionRadix.sh $<.elf.objdump
 | 
				
			||||||
	(cd ../../pipelined/regression && (vsim -c -do "do wally-pipelined-batch.do rv$(XLEN)gc coremark" 2>&1 | tee $(work_dir)/coremark.sim.log))
 | 
					 | 
				
			||||||
	cd ../../benchmarks/coremark/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
$(work_dir)/coremark.bare.riscv: $(sources) Makefile
 | 
					$(work_dir)/coremark.bare.riscv: $(sources) Makefile
 | 
				
			||||||
    # make -C $(cmbase) PORT_DIR=$(PORT_DIR) compile RISCV=/opt/riscv/riscv-gnu-toolchain XCFLAGS="-march=rv64imd -mabi=lp64d -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-7-series -Ofast -funroll-all-loops -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 -fno-toplevel-reorder --param=max-inline-insns-size=128 -fipa-pta"
 | 
					 | 
				
			||||||
    # These flags were used by WD on CoreMark
 | 
					    # These flags were used by WD on CoreMark
 | 
				
			||||||
    # make -C $(cmbase) PORT_DIR=$(PORT_DIR) compile RISCV=$(RISCV)/riscv-gnu-toolchain XCFLAGS="-march=rv64imd -mabi=lp64d -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-7-series -Ofast -funroll-all-loops -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 " 
 | 
						make -C $(cmbase) PORT_DIR=$(PORT_DIR) compile RISCV=$(RISCV)/riscv-gnu-toolchain XCFLAGS="$(PORT_CFLAGS)"
 | 
				
			||||||
	make -C $(cmbase) PORT_DIR=$(PORT_DIR) compile RISCV=$(RISCV)/riscv-gnu-toolchain XCFLAGS="-march=rv$(XLEN)im -mabi=$(ABI) -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-7-series -Ofast -funroll-all-loops -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 " 
 | 
					 | 
				
			||||||
    # -fno-toplevel-reorder --param=max-inline-insns-size=128 " # adding this bit caused a compiler error
 | 
					    # -fno-toplevel-reorder --param=max-inline-insns-size=128 " # adding this bit caused a compiler error
 | 
				
			||||||
	mkdir -p $(work_dir)
 | 
						mkdir -p $(work_dir)
 | 
				
			||||||
	mv $(cmbase)/coremark.bare.riscv $(work_dir)
 | 
						mv $(cmbase)/coremark.bare.riscv $(work_dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
.PHONY: clean
 | 
					.PHONY: clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	rm -f $(work_dir)/*
 | 
						rm -f $(work_dir)/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# # PORT_CFLAGS = -g -march=$(XLEN)im -mabi=$(ABI) -static -mcmodel=medlow -mtune=sifive-3-series \
 | 
				
			||||||
 | 
					# #   -O3 -falign-functions=16 -funroll-all-loops \
 | 
				
			||||||
 | 
					# # 	-finline-functions -falign-jumps=4 \
 | 
				
			||||||
 | 
					# #   -nostdlib -nostartfiles -ffreestanding -mstrict-align \
 | 
				
			||||||
 | 
					# # 	-DTOTAL_DATA_SIZE=2000 -DMAIN_HAS_NOARGC=1 \
 | 
				
			||||||
 | 
					# # 	-DPERFORMANCE_RUN=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# make -C $(cmbase) PORT_DIR=$(PORT_DIR) compile RISCV=$(RISCV)/riscv-gnu-toolchain XCFLAGS="-march=rv$(XLEN)im -mabi=$(ABI) -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-7-series -Ofast -funroll-all-loops -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 " 
 | 
				
			||||||
 | 
					# make -C $(cmbase) PORT_DIR=$(PORT_DIR) compile RISCV=/opt/riscv/riscv-gnu-toolchain XCFLAGS="-march=rv64imd -mabi=lp64d -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-7-series -Ofast -funroll-all-loops -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 -fno-toplevel-reorder --param=max-inline-insns-size=128 -fipa-pta"
 | 
				
			||||||
 | 
					# make -C $(cmbase) PORT_DIR=$(PORT_DIR) compile RISCV=$(RISCV)/riscv-gnu-toolchain XCFLAGS="-march=rv64imd -mabi=lp64d -mbranch-cost=1 -DSKIP_DEFAULT_MEMSET -mtune=sifive-7-series -Ofast -funroll-all-loops -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 " 
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user