aboutsummaryrefslogtreecommitdiffstats
path: root/test/mppa
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2018-11-13 18:15:42 +0100
committerCyril SIX <cyril.six@kalray.eu>2018-11-13 18:15:42 +0100
commit6e1ff91536ce40e16e0f6af7f2d032ffda2f752c (patch)
treea27dacb5b9754273f98d55cdd7e57e566451e525 /test/mppa
parent0c28f0900dae418d5beed6a82f7c72f88de83567 (diff)
downloadcompcert-kvx-6e1ff91536ce40e16e0f6af7f2d032ffda2f752c.tar.gz
compcert-kvx-6e1ff91536ce40e16e0f6af7f2d032ffda2f752c.zip
Changed mmult to avoid recomputing + fixed potential source of bug in instr
Diffstat (limited to 'test/mppa')
-rw-r--r--test/mppa/instr/Makefile6
-rw-r--r--test/mppa/mmult/.gitignore1
-rw-r--r--test/mppa/mmult/Makefile53
3 files changed, 39 insertions, 21 deletions
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)