From 02083d1e3d82898197966ae1117d89eed9e4e22b Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Mon, 17 Jun 2019 16:31:40 +0200 Subject: Dans test/mppa : changer k1-mbr-gcc en k1-cos-gcc --- test/mppa/instr/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/Makefile b/test/mppa/instr/Makefile index ea86114c..4129b628 100644 --- a/test/mppa/instr/Makefile +++ b/test/mppa/instr/Makefile @@ -1,4 +1,6 @@ -K1CC ?= k1-mbr-gcc +SHELL := /bin/bash + +K1CC ?= k1-cos-gcc CC ?= gcc CCOMP ?= ccomp OPTIM ?= -O2 @@ -48,7 +50,7 @@ NC=\033[0m .PHONY: test: $(X86_GCC_OUT) $(GCC_OUT) @echo "Comparing x86 gcc output to k1 gcc.." - @for test in $(TESTNAMES); do\ + for test in $(TESTNAMES); do\ x86out=$(OUTDIR)/$$test.x86-gcc.out;\ gccout=$(OUTDIR)/$$test.gcc.out;\ if $(DIFF) $$x86out $$gccout > /dev/null; test $${PIPESTATUS[0]} -ne 0; then\ -- cgit From 96d03d469015db45828c89a68247f2c70c2bb102 Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Fri, 30 Aug 2019 12:09:23 +0200 Subject: Adding tests for addx8d addx8w etc.. --- test/mppa/instr/Makefile | 5 +++-- test/mppa/instr/i32.c | 4 ++++ test/mppa/instr/i64.c | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/Makefile b/test/mppa/instr/Makefile index 4129b628..33a265e3 100644 --- a/test/mppa/instr/Makefile +++ b/test/mppa/instr/Makefile @@ -5,6 +5,7 @@ CC ?= gcc CCOMP ?= ccomp OPTIM ?= -O2 CFLAGS ?= $(OPTIM) +CCOMPFLAGS ?= $(CFLAGS) -faddx SIMU ?= k1-mppa TIMEOUT ?= --signal=SIGTERM 120s DIFF ?= python2.7 floatcmp.py -reltol .00001 @@ -111,7 +112,7 @@ $(BINDIR)/%.gcc.bin: $(ASMDIR)/%.gcc.s $(K1LIB) $(K1CCPATH) $(BINDIR)/%.ccomp.bin: $(ASMDIR)/%.ccomp.s $(K1LIB) $(CCOMPPATH) @mkdir -p $(@D) - $(CCOMP) $(CFLAGS) $(filter-out $(CCOMPPATH),$^) -o $@ + $(CCOMP) $(CCOMPFLAGS) $(filter-out $(CCOMPPATH),$^) -o $@ # Source to assembly @@ -125,4 +126,4 @@ $(ASMDIR)/%.gcc.s: $(SRCDIR)/%.c $(K1CCPATH) $(ASMDIR)/%.ccomp.s: $(SRCDIR)/%.c $(CCOMPPATH) @mkdir -p $(@D) - $(CCOMP) $(CFLAGS) -S $< -o $@ + $(CCOMP) $(CCOMPFLAGS) -S $< -o $@ diff --git a/test/mppa/instr/i32.c b/test/mppa/instr/i32.c index c48531b1..c0985031 100644 --- a/test/mppa/instr/i32.c +++ b/test/mppa/instr/i32.c @@ -65,6 +65,10 @@ BEGIN_TEST(int) c += (a < b); c += (a + b) / 2; c += (int) int2float(a) + (int) int2float(b) + (int) int2float(42.3); + c += (a << 4); // addx16w + c += (a << 3); // addx8w + c += (a << 2); // addx4w + c += (a << 1); // addx2w int j; for (j = 0 ; j < 10 ; j++) diff --git a/test/mppa/instr/i64.c b/test/mppa/instr/i64.c index 00eb159d..84828bfb 100644 --- a/test/mppa/instr/i64.c +++ b/test/mppa/instr/i64.c @@ -43,6 +43,10 @@ BEGIN_TEST(long long) c += a >> (b & 0x8LL); c += a >> (b & 0x8ULL); c += a % b; + c += (a << 4); // addx16d + c += (a << 3); // addx8d + c += (a << 2); // addx4d + c += (a << 1); // addx2d long long d = 3; long long (*op)(long long, long long); -- cgit From 436bf1192e129427f6fcc99d2e6b75db08e80cf8 Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Fri, 30 Aug 2019 15:08:07 +0200 Subject: (#157) Removed AFADDD and AFADDW from the builtins --- test/mppa/instr/Makefile | 5 ++++- test/mppa/instr/builtin64.c | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 test/mppa/instr/builtin64.c (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/Makefile b/test/mppa/instr/Makefile index 33a265e3..69446796 100644 --- a/test/mppa/instr/Makefile +++ b/test/mppa/instr/Makefile @@ -46,6 +46,7 @@ all: $(BIN) GREEN=\033[0;32m RED=\033[0;31m +YELLOW=\033[0;33m NC=\033[0m .PHONY: @@ -54,7 +55,9 @@ test: $(X86_GCC_OUT) $(GCC_OUT) for test in $(TESTNAMES); do\ x86out=$(OUTDIR)/$$test.x86-gcc.out;\ gccout=$(OUTDIR)/$$test.gcc.out;\ - if $(DIFF) $$x86out $$gccout > /dev/null; test $${PIPESTATUS[0]} -ne 0; then\ + if grep "__K1C__" -q $$test.c; then\ + printf "$(YELLOW)UNTESTED: $$test.c contains an \`#ifdef __K1C__\`\n";\ + elif $(DIFF) $$x86out $$gccout > /dev/null; test $${PIPESTATUS[0]} -ne 0; then\ >&2 printf "$(RED)ERROR: $$x86out and $$gccout differ$(NC)\n";\ else\ printf "$(GREEN)GOOD: $$x86out and $$gccout concur$(NC)\n";\ diff --git a/test/mppa/instr/builtin64.c b/test/mppa/instr/builtin64.c new file mode 100644 index 00000000..40d53dc7 --- /dev/null +++ b/test/mppa/instr/builtin64.c @@ -0,0 +1,10 @@ +#include "framework.h" + +BEGIN_TEST(long long) + long long *ptr = &c; +#ifdef __K1C__ + /* Removed the AFADDD builtin who was incorrect in CompCert, see #157 */ + // a = __builtin_k1_afaddd(ptr, a); + // a = __builtin_k1_afaddd(ptr, a); +#endif +END_TEST64() -- cgit From 21622a06394e68170a9901f316addcd3fd1841de Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Fri, 30 Aug 2019 15:38:14 +0200 Subject: Added more tests --- test/mppa/instr/builtin64.c | 4 ++++ test/mppa/instr/i32.c | 38 ++++++++++++++++++++++++-------------- test/mppa/instr/i64.c | 39 +++++++++++++++++++++++++++------------ 3 files changed, 55 insertions(+), 26 deletions(-) (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/builtin64.c b/test/mppa/instr/builtin64.c index 40d53dc7..d568b7be 100644 --- a/test/mppa/instr/builtin64.c +++ b/test/mppa/instr/builtin64.c @@ -3,6 +3,10 @@ BEGIN_TEST(long long) long long *ptr = &c; #ifdef __K1C__ + long long d = c; + a = __builtin_k1_alclrd(ptr); + c = d; + /* Removed the AFADDD builtin who was incorrect in CompCert, see #157 */ // a = __builtin_k1_afaddd(ptr, a); // a = __builtin_k1_afaddd(ptr, a); diff --git a/test/mppa/instr/i32.c b/test/mppa/instr/i32.c index c0985031..4e389620 100644 --- a/test/mppa/instr/i32.c +++ b/test/mppa/instr/i32.c @@ -12,6 +12,14 @@ int tailsum(int a, int b){ return make(a+b); } +int fact(int a){ + int r = 1; + int i; + for (i = 1; i < a; i++) + r *= i; + return r; +} + float int2float(int v){ return v; } @@ -21,43 +29,43 @@ BEGIN_TEST(int) c += a&b; if ((a & 0x1) == 1) - c += 1; + c += fact(1); else - c += 2; + c += fact(2); if (a & 0x1 == 0) - c += 4; + c += fact(4); else - c += 8; + c += fact(8); b = !(a & 0x01); if (!b) - c += 16; + c += fact(16); else - c += 32; + c += fact(32); c += sum(make(a), make(b)); c += (long long) a; if (0 > (a & 0x1) - 1) - c += 64; + c += fact(64); else - c += 128; + c += fact(128); if (0 >= (a & 0x1)) - c += 256; + c += fact(256); else - c += 512; + c += fact(512); if ((a & 0x1) > 0) - c += 1024; + c += fact(1024); else - c += 2048; + c += fact(2048); if ((a & 0x1) - 1 >= 0) - c += 4096; + c += fact(4096); else - c += 8192; + c += fact(8192); c += ((a & 0x1) == (b & 0x1)); c += (a > b); @@ -70,6 +78,8 @@ BEGIN_TEST(int) c += (a << 2); // addx4w c += (a << 1); // addx2w + c += ~a & b; // andnw + int j; for (j = 0 ; j < 10 ; j++) c += a; diff --git a/test/mppa/instr/i64.c b/test/mppa/instr/i64.c index 84828bfb..dc5fa6ee 100644 --- a/test/mppa/instr/i64.c +++ b/test/mppa/instr/i64.c @@ -30,6 +30,14 @@ long long random_op(long long a, long long b){ return op(a, b); } +long fact(long a){ + long r = 1; + long i; + for (i = 1; i < a; i++) + r *= i; + return r; +} + double long2double(long v){ return v; } @@ -48,6 +56,8 @@ BEGIN_TEST(long long) c += (a << 2); // addx4d c += (a << 1); // addx2d + c += ~a & b; // andnd + long long d = 3; long long (*op)(long long, long long); @@ -65,34 +75,39 @@ BEGIN_TEST(long long) c += (unsigned int) a; if (0 != (a & 0x1LL)) - c += 1; + c += fact(1); else - c += 2; + c += fact(2); if (0 > (a & 0x1LL)) - c += 4; + c += fact(4); else - c += 8; + c += fact(8); if (0 >= (a & 0x1LL) - 1) - c += 16; + c += fact(16); + else + c += fact(32); + + if (a-41414141 > 0) + c += fact(13); else - c += 32; + c += fact(31); if (a & 0x1LL > 0) - c += 64; + c += fact(64); else - c += 128; + c += fact(128); if ((a & 0x1LL) - 1 >= 0) - c += 256; + c += fact(256); else - c += 512; + c += fact(512); if (0 == (a & 0x1LL)) - c += 1024; + c += fact(1024); else - c += 2048; + c += fact(2048); c += ((a & 0x1LL) == (b & 0x1LL)); c += (a >= b); -- cgit From ccd2fa5638e50b5fd8308b4b0c26531f911ff087 Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Fri, 30 Aug 2019 17:08:07 +0200 Subject: Rajout de clzd dans les tests --- test/mppa/instr/builtin64.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/builtin64.c b/test/mppa/instr/builtin64.c index d568b7be..dbbb1886 100644 --- a/test/mppa/instr/builtin64.c +++ b/test/mppa/instr/builtin64.c @@ -6,6 +6,9 @@ BEGIN_TEST(long long) long long d = c; a = __builtin_k1_alclrd(ptr); c = d; + c += a; + + c += __builtin_clzll(a); /* Removed the AFADDD builtin who was incorrect in CompCert, see #157 */ // a = __builtin_k1_afaddd(ptr, a); -- cgit From e61ab603fbb538f8bd2dac543f622cafdb7cd39c Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Tue, 3 Sep 2019 11:26:25 +0200 Subject: aclrw test --- test/mppa/instr/builtin32.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 test/mppa/instr/builtin32.c (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/builtin32.c b/test/mppa/instr/builtin32.c new file mode 100644 index 00000000..c7689dc8 --- /dev/null +++ b/test/mppa/instr/builtin32.c @@ -0,0 +1,12 @@ +#include "framework.h" + +BEGIN_TEST(int) + int *ptr = &c; +#ifdef __K1C__ + int d = c; + a = __builtin_k1_alclrw(ptr); + c = d; + +#endif +END_TEST32() + -- cgit From 2e1ecb87d05d7a6b5921be04ba10f6b9eae1be9c Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Thu, 5 Sep 2019 14:10:45 +0200 Subject: Adding tests for cmoved --- test/mppa/instr/i32.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ test/mppa/instr/i64.c | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/i32.c b/test/mppa/instr/i32.c index 4e389620..e350931c 100644 --- a/test/mppa/instr/i32.c +++ b/test/mppa/instr/i32.c @@ -28,6 +28,7 @@ BEGIN_TEST(int) c = a+b; c += a&b; + /* testing if, cb version */ if ((a & 0x1) == 1) c += fact(1); else @@ -38,6 +39,11 @@ BEGIN_TEST(int) else c += fact(8); + if (a & 0x1 == 0) + c += fact(4); + else + c += fact(8); + b = !(a & 0x01); if (!b) c += fact(16); @@ -67,6 +73,48 @@ BEGIN_TEST(int) else c += fact(8192); + /* cmoved version */ + if ((a & 0x1) == 1) + c += 1; + else + c += 2; + + if (a & 0x1 == 0) + c += 4; + else + c += 8; + + if (a & 0x1 == 0) + c += 4; + else + c += 8; + + b = !(a & 0x01); + if (!b) + c += 16; + else + c += 32; + + if (0 > (a & 0x1) - 1) + c += 64; + else + c += 128; + + if (0 >= (a & 0x1)) + c += 256; + else + c += 512; + + if ((a & 0x1) > 0) + c += 1024; + else + c += 2048; + + if ((a & 0x1) - 1 >= 0) + c += 4096; + else + c += 8192; + c += ((a & 0x1) == (b & 0x1)); c += (a > b); c += (a <= b); diff --git a/test/mppa/instr/i64.c b/test/mppa/instr/i64.c index dc5fa6ee..b1fce564 100644 --- a/test/mppa/instr/i64.c +++ b/test/mppa/instr/i64.c @@ -74,6 +74,7 @@ BEGIN_TEST(long long) c += a^b; c += (unsigned int) a; + /* Testing if, cb */ if (0 != (a & 0x1LL)) c += fact(1); else @@ -109,6 +110,42 @@ BEGIN_TEST(long long) else c += fact(2048); + /* Testing if, cmoved */ + if (0 != (a & 0x1LL)) + c += 1; + else + c += 2; + + if (0 > (a & 0x1LL)) + c += 4; + else + c += 8; + + if (0 >= (a & 0x1LL) - 1) + c += 16; + else + c += 32; + + if (a-41414141 > 0) + c += 13; + else + c += 31; + + if (a & 0x1LL > 0) + c += 64; + else + c += 128; + + if ((a & 0x1LL) - 1 >= 0) + c += 256; + else + c += 512; + + if (0 == (a & 0x1LL)) + c += 1024; + else + c += 2048; + c += ((a & 0x1LL) == (b & 0x1LL)); c += (a >= b); c += (a > b); -- cgit From 8caa5a2e1f825b6e3d6b87e294c1a53c65d62612 Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Thu, 5 Sep 2019 14:29:19 +0200 Subject: Test for compd.geu --- test/mppa/instr/i64.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/i64.c b/test/mppa/instr/i64.c index b1fce564..e869d93c 100644 --- a/test/mppa/instr/i64.c +++ b/test/mppa/instr/i64.c @@ -90,6 +90,12 @@ BEGIN_TEST(long long) else c += fact(32); + if ((unsigned long long)(a & 0x1LL) >= 1) + c += fact(18); + else + c += fact(31); + + if (a-41414141 > 0) c += fact(13); else -- cgit From 305b3a354a4ba61ebb80677ee73379fed4200dad Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Mon, 27 Jan 2020 16:23:13 +0100 Subject: New directive hardtest and hardcheck to run on hardware test/mppa/instr --- test/mppa/instr/Makefile | 66 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 11 deletions(-) (limited to 'test/mppa/instr') diff --git a/test/mppa/instr/Makefile b/test/mppa/instr/Makefile index 69446796..37f7d0ab 100644 --- a/test/mppa/instr/Makefile +++ b/test/mppa/instr/Makefile @@ -5,10 +5,11 @@ CC ?= gcc CCOMP ?= ccomp OPTIM ?= -O2 CFLAGS ?= $(OPTIM) -CCOMPFLAGS ?= $(CFLAGS) -faddx +CCOMPFLAGS ?= $(CFLAGS) SIMU ?= k1-mppa TIMEOUT ?= --signal=SIGTERM 120s DIFF ?= python2.7 floatcmp.py -reltol .00001 +HARDRUN ?= k1-jtag-runner DIR=./ SRCDIR=$(DIR) @@ -30,10 +31,11 @@ SIMUPATH=$(shell which $(SIMU)) TESTNAMES?=$(notdir $(subst .c,,$(wildcard $(DIR)/*.c))) X86_GCC_OUT=$(addprefix $(OUTDIR)/,$(addsuffix .x86-gcc.out,$(TESTNAMES))) -GCC_OUT=$(addprefix $(OUTDIR)/,$(addsuffix .gcc.out,$(TESTNAMES))) -CCOMP_OUT=$(addprefix $(OUTDIR)/,$(addsuffix .ccomp.out,$(TESTNAMES))) +GCC_SIMUOUT=$(addprefix $(OUTDIR)/,$(addsuffix .gcc.simu.out,$(TESTNAMES))) +CCOMP_SIMUOUT=$(addprefix $(OUTDIR)/,$(addsuffix .ccomp.simu.out,$(TESTNAMES))) +GCC_HARDOUT=$(addprefix $(OUTDIR)/,$(addsuffix .gcc.hard.out,$(TESTNAMES))) +CCOMP_HARDOUT=$(addprefix $(OUTDIR)/,$(addsuffix .ccomp.hard.out,$(TESTNAMES))) -OUT=$(X86_GCC_OUT) $(GCC_OUT) $(CCOMP_OUT) BIN=$(addprefix $(BINDIR)/,$(addsuffix .x86-gcc.bin,$(TESTNAMES)))\ $(addprefix $(BINDIR)/,$(addsuffix .gcc.bin,$(TESTNAMES)))\ $(addprefix $(BINDIR)/,$(addsuffix .ccomp.bin,$(TESTNAMES))) @@ -49,12 +51,18 @@ RED=\033[0;31m YELLOW=\033[0;33m NC=\033[0m +.PHONY: +test: simutest + +.PHONY: +check: simucheck + .PHONY: -test: $(X86_GCC_OUT) $(GCC_OUT) +simutest: $(X86_GCC_OUT) $(GCC_SIMUOUT) @echo "Comparing x86 gcc output to k1 gcc.." for test in $(TESTNAMES); do\ x86out=$(OUTDIR)/$$test.x86-gcc.out;\ - gccout=$(OUTDIR)/$$test.gcc.out;\ + gccout=$(OUTDIR)/$$test.gcc.simu.out;\ if grep "__K1C__" -q $$test.c; then\ printf "$(YELLOW)UNTESTED: $$test.c contains an \`#ifdef __K1C__\`\n";\ elif $(DIFF) $$x86out $$gccout > /dev/null; test $${PIPESTATUS[0]} -ne 0; then\ @@ -65,11 +73,39 @@ test: $(X86_GCC_OUT) $(GCC_OUT) done .PHONY: -check: $(GCC_OUT) $(CCOMP_OUT) +simucheck: $(GCC_SIMUOUT) $(CCOMP_SIMUOUT) @echo "Comparing k1 gcc output to ccomp.." @for test in $(TESTNAMES); do\ - gccout=$(OUTDIR)/$$test.gcc.out;\ - ccompout=$(OUTDIR)/$$test.ccomp.out;\ + gccout=$(OUTDIR)/$$test.gcc.simu.out;\ + ccompout=$(OUTDIR)/$$test.ccomp.simu.out;\ + if $(DIFF) $$ccompout $$gccout > /dev/null; test $${PIPESTATUS[0]} -ne 0; then\ + >&2 printf "$(RED)ERROR: $$ccompout and $$gccout differ$(NC)\n";\ + else\ + printf "$(GREEN)GOOD: $$ccompout and $$gccout concur$(NC)\n";\ + fi;\ + done + +.PHONY: +hardtest: $(X86_GCC_OUT) $(GCC_HARDOUT) + @echo "Comparing x86 gcc output to k1 gcc.." + for test in $(TESTNAMES); do\ + x86out=$(OUTDIR)/$$test.x86-gcc.out;\ + gccout=$(OUTDIR)/$$test.gcc.hard.out;\ + if grep "__K1C__" -q $$test.c; then\ + printf "$(YELLOW)UNTESTED: $$test.c contains an \`#ifdef __K1C__\`\n";\ + elif $(DIFF) $$x86out $$gccout > /dev/null; test $${PIPESTATUS[0]} -ne 0; then\ + >&2 printf "$(RED)ERROR: $$x86out and $$gccout differ$(NC)\n";\ + else\ + printf "$(GREEN)GOOD: $$x86out and $$gccout concur$(NC)\n";\ + fi;\ + done + +.PHONY: +hardcheck: $(GCC_HARDOUT) $(CCOMP_HARDOUT) + @echo "Comparing k1 gcc output to ccomp.." + @for test in $(TESTNAMES); do\ + gccout=$(OUTDIR)/$$test.gcc.hard.out;\ + ccompout=$(OUTDIR)/$$test.ccomp.hard.out;\ if $(DIFF) $$ccompout $$gccout > /dev/null; test $${PIPESTATUS[0]} -ne 0; then\ >&2 printf "$(RED)ERROR: $$ccompout and $$gccout differ$(NC)\n";\ else\ @@ -95,14 +131,22 @@ $(OUTDIR)/%.x86-gcc.out: $(BINDIR)/%.x86-gcc.bin @mkdir -p $(@D) ret=0; timeout $(TIMEOUT) ./$< > $@ || { ret=$$?; }; echo $$ret >> $@ -$(OUTDIR)/%.gcc.out: $(BINDIR)/%.gcc.bin $(SIMUPATH) +$(OUTDIR)/%.gcc.simu.out: $(BINDIR)/%.gcc.bin $(SIMUPATH) @mkdir -p $(@D) ret=0; timeout $(TIMEOUT) $(SIMU) -- $< > $@ || { ret=$$?; }; echo $$ret >> $@ -$(OUTDIR)/%.ccomp.out: $(BINDIR)/%.ccomp.bin $(SIMUPATH) +$(OUTDIR)/%.ccomp.simu.out: $(BINDIR)/%.ccomp.bin $(SIMUPATH) @mkdir -p $(@D) ret=0; timeout $(TIMEOUT) $(SIMU) -- $< > $@ || { ret=$$?; }; echo $$ret >> $@ +$(OUTDIR)/%.gcc.hard.out: $(BINDIR)/%.gcc.bin $(SIMUPATH) + @mkdir -p $(@D) + ret=0; timeout $(TIMEOUT) $(HARDRUN) --exec-file=Cluster0:$< > $@ || { ret=$$?; }; echo $$ret >> $@ + +$(OUTDIR)/%.ccomp.hard.out: $(BINDIR)/%.ccomp.bin $(SIMUPATH) + @mkdir -p $(@D) + ret=0; timeout $(TIMEOUT) $(HARDRUN) --exec-file=Cluster0:$< > $@ || { ret=$$?; }; echo $$ret >> $@ + # Assembly to binary $(BINDIR)/%.x86-gcc.bin: $(ASMDIR)/%.x86-gcc.s $(LIB) $(CCPATH) -- cgit