From 6e1ff91536ce40e16e0f6af7f2d032ffda2f752c Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Tue, 13 Nov 2018 18:15:42 +0100 Subject: Changed mmult to avoid recomputing + fixed potential source of bug in instr --- test/mppa/instr/Makefile | 6 +++--- test/mppa/mmult/.gitignore | 1 + test/mppa/mmult/Makefile | 53 ++++++++++++++++++++++++++++++---------------- 3 files changed, 39 insertions(+), 21 deletions(-) (limited to 'test') diff --git a/test/mppa/instr/Makefile b/test/mppa/instr/Makefile index 4744ba23..2be69db2 100644 --- a/test/mppa/instr/Makefile +++ b/test/mppa/instr/Makefile @@ -72,15 +72,15 @@ check: $(GCC_OUT) $(CCOMP_OUT) $(OUTDIR)/%.x86-gcc.out: $(BINDIR)/%.x86-gcc.bin @mkdir -p $(@D) - timeout $(TIMEOUT) ./$< || { ret=$$?; } > $@; echo $$ret >> $@ + ret=0; timeout $(TIMEOUT) ./$< || { ret=$$?; } > $@; echo $$ret >> $@ $(OUTDIR)/%.gcc.out: $(BINDIR)/%.gcc.bin $(SIMUPATH) @mkdir -p $(@D) - timeout $(TIMEOUT) $(SIMU) -- $< || { ret=$$?; } > $@; echo $$ret >> $@ + ret=0; timeout $(TIMEOUT) $(SIMU) -- $< || { ret=$$?; } > $@; echo $$ret >> $@ $(OUTDIR)/%.ccomp.out: $(BINDIR)/%.ccomp.bin $(SIMUPATH) @mkdir -p $(@D) - timeout $(TIMEOUT) $(SIMU) -- $< || { ret=$$?; } > $@; echo $$ret >> $@ + ret=0; timeout $(TIMEOUT) $(SIMU) -- $< || { ret=$$?; } > $@; echo $$ret >> $@ # Assembly to binary diff --git a/test/mppa/mmult/.gitignore b/test/mppa/mmult/.gitignore index 4d68861b..c9cd4c65 100644 --- a/test/mppa/mmult/.gitignore +++ b/test/mppa/mmult/.gitignore @@ -1,3 +1,4 @@ mmult-test-ccomp-k1c mmult-test-gcc-k1c mmult-test-gcc-x86 +.zero diff --git a/test/mppa/mmult/Makefile b/test/mppa/mmult/Makefile index 2e077f5e..263ed276 100644 --- a/test/mppa/mmult/Makefile +++ b/test/mppa/mmult/Makefile @@ -2,49 +2,66 @@ K1CC ?= k1-mbr-gcc CC ?= gcc CCOMP ?= ccomp CFLAGS ?= -O2 +SIMU ?= k1-cluster +TIMEOUT ?= 10s + +K1CCPATH=$(shell which $(K1CC)) +CCPATH=$(shell which $(CC)) +CCOMPPATH=$(shell which $(CCOMP)) +SIMUPATH=$(shell which $(SIMU)) PRNG=../prng/prng.c -ALL= mmult-test-gcc-x86 mmult-test-gcc-k1c mmult-test-ccomp-k1c\ +ALL= mmult-test-gcc-x86 mmult-test-gcc-k1c mmult-test-ccomp-k1c +CCOMP_OUT= mmult-test-ccomp-k1c.out +GCC_OUT= mmult-test-gcc-k1c.out +X86_GCC_OUT= mmult-test-gcc-x86.out +STUB_OUT=.zero all: $(ALL) -mmult-test-gcc-x86: mmult.c $(PRNG) +mmult-test-gcc-x86: mmult.c $(PRNG) $(CCPATH) $(CC) $(CFLAGS) $^ -o $@ -mmult-test-gcc-k1c: mmult.c $(PRNG) +mmult-test-gcc-k1c: mmult.c $(PRNG) $(K1CCPATH) $(K1CC) $(CFLAGS) $^ -o $@ -mmult-test-ccomp-k1c: mmult.c $(PRNG) +mmult-test-ccomp-k1c: mmult.c $(PRNG) $(CCOMPPATH) $(CCOMP) $(CFLAGS) $^ -o $@ +.SECONDARY: +%k1c.out: %k1c $(SIMUPATH) + ret=0; timeout $(TIMEOUT) $(SIMU) -- $< || { ret=$$?; } > $@; echo $$ret >> $@ + +%x86.out: %x86 + ret=0; timeout $(TIMEOUT) ./$< || { ret=$$?; } > $@; echo $$ret >> $@ + +.zero: + @echo "0" > $@ + .PHONY: test: test-x86 test-k1c .PHONY: -test-x86: mmult-test-gcc-x86 - @if ! ./$<; then\ +test-x86: $(X86_GCC_OUT) $(STUB_OUT) + @if ! diff $< $(STUB_OUT); then\ >&2 echo "ERROR x86: $< failed";\ else\ - echo "x86: Test $< succeeded";\ + echo "GOOD x86: $< succeeded";\ fi .PHONY: -test-k1c: mmult-test-gcc-k1c - @if ! k1-cluster -- ./$<; then\ +test-k1c: $(GCC_OUT) $(STUB_OUT) + @if ! diff $< $(STUB_OUT); then\ >&2 echo "ERROR k1c: $< failed";\ else\ - echo "k1c: Test $< succeeded";\ + echo "GOOD k1c: $< succeeded";\ fi .PHONY: -check: mmult-test-ccomp-k1c - @if ! k1-cluster -- ./$<; then\ - >&2 echo "ERROR k1c: mmult $< failed";\ +check: $(CCOMP_OUT) $(STUB_OUT) + @if ! diff $< $(STUB_OUT); then\ + >&2 echo "ERROR k1c: $< failed";\ else\ - echo "k1c: Test mmult $< succeeded";\ + echo "GOOD k1c: $< succeeded";\ fi - -.PHONY: -clean: - rm -f $(ALL) -- cgit