aboutsummaryrefslogtreecommitdiff
path: root/isa
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2020-11-20 19:22:53 -0800
committerAndrew Waterman <andrew@sifive.com>2020-11-20 19:22:53 -0800
commit58eb560a84ea2d6a392f7e75bba649a0c5946617 (patch)
tree266bb1c5a66bc03b5c7e70c32679c5235bc0d8a3 /isa
parent5f8a4918c6482e65c67a2b7decd5c2af3e3fe0e5 (diff)
downloadriscv-tests-58eb560a84ea2d6a392f7e75bba649a0c5946617.zip
riscv-tests-58eb560a84ea2d6a392f7e75bba649a0c5946617.tar.gz
riscv-tests-58eb560a84ea2d6a392f7e75bba649a0c5946617.tar.bz2
Only attempt to build tests supported by compiler
Resolves #303
Diffstat (limited to 'isa')
-rw-r--r--isa/Makefile8
-rw-r--r--isa/rv32mi/Makefrag2
-rw-r--r--isa/rv32si/Makefrag2
-rw-r--r--isa/rv32ua/Makefrag2
-rw-r--r--isa/rv32uc/Makefrag2
-rw-r--r--isa/rv32ud/Makefrag2
-rw-r--r--isa/rv32uf/Makefrag2
-rw-r--r--isa/rv32ui/Makefrag2
-rw-r--r--isa/rv32um/Makefrag2
-rw-r--r--isa/rv32uzfh/Makefrag2
-rw-r--r--isa/rv64mi/Makefrag2
-rw-r--r--isa/rv64si/Makefrag2
-rw-r--r--isa/rv64ua/Makefrag2
-rw-r--r--isa/rv64uc/Makefrag2
-rw-r--r--isa/rv64ud/Makefrag2
-rw-r--r--isa/rv64uf/Makefrag2
-rw-r--r--isa/rv64ui/Makefrag2
-rw-r--r--isa/rv64um/Makefrag2
-rw-r--r--isa/rv64uzfh/Makefrag2
19 files changed, 6 insertions, 38 deletions
diff --git a/isa/Makefile b/isa/Makefile
index ca49960..892ed72 100644
--- a/isa/Makefile
+++ b/isa/Makefile
@@ -69,7 +69,11 @@ $(1): $$($(1)_tests_dump)
.PHONY: $(1)
+COMPILER_SUPPORTS_$(1) := $$(shell $$(RISCV_GCC) $(2) -c -x c /dev/null -o /dev/null 2> /dev/null; echo $$$$?)
+
+ifeq ($$(COMPILER_SUPPORTS_$(1)),0)
tests += $$($(1)_tests)
+endif
endef
@@ -96,8 +100,8 @@ endif
tests_dump = $(addsuffix .dump, $(tests))
tests_hex = $(addsuffix .hex, $(tests))
-tests_out = $(addsuffix .out, $(spike_tests))
-tests32_out = $(addsuffix .out32, $(spike32_tests))
+tests_out = $(addsuffix .out, $(filter rv64%,$(tests)))
+tests32_out = $(addsuffix .out32, $(filter rv32%,$(tests)))
run: $(tests_out) $(tests32_out)
diff --git a/isa/rv32mi/Makefrag b/isa/rv32mi/Makefrag
index 5ee7edc..2142570 100644
--- a/isa/rv32mi/Makefrag
+++ b/isa/rv32mi/Makefrag
@@ -14,5 +14,3 @@ rv32mi_sc_tests = \
shamt \
rv32mi_p_tests = $(addprefix rv32mi-p-, $(rv32mi_sc_tests))
-
-spike32_tests += $(rv32mi_p_tests)
diff --git a/isa/rv32si/Makefrag b/isa/rv32si/Makefrag
index f423788..1392c24 100644
--- a/isa/rv32si/Makefrag
+++ b/isa/rv32si/Makefrag
@@ -11,5 +11,3 @@ rv32si_sc_tests = \
wfi \
rv32si_p_tests = $(addprefix rv32si-p-, $(rv32si_sc_tests))
-
-spike32_tests += $(rv32si_p_tests)
diff --git a/isa/rv32ua/Makefrag b/isa/rv32ua/Makefrag
index 575dc6a..3f35810 100644
--- a/isa/rv32ua/Makefrag
+++ b/isa/rv32ua/Makefrag
@@ -8,5 +8,3 @@ rv32ua_sc_tests = \
rv32ua_p_tests = $(addprefix rv32ua-p-, $(rv32ua_sc_tests))
rv32ua_v_tests = $(addprefix rv32ua-v-, $(rv32ua_sc_tests))
-
-spike32_tests += $(rv32ua_p_tests) $(rv32ua_v_tests)
diff --git a/isa/rv32uc/Makefrag b/isa/rv32uc/Makefrag
index 0586843..674ece8 100644
--- a/isa/rv32uc/Makefrag
+++ b/isa/rv32uc/Makefrag
@@ -7,5 +7,3 @@ rv32uc_sc_tests = \
rv32uc_p_tests = $(addprefix rv32uc-p-, $(rv32uc_sc_tests))
rv32uc_v_tests = $(addprefix rv32uc-v-, $(rv32uc_sc_tests))
-
-spike32_tests += $(rv32uc_p_tests) $(rv32uc_v_tests)
diff --git a/isa/rv32ud/Makefrag b/isa/rv32ud/Makefrag
index 998078d..1a38cec 100644
--- a/isa/rv32ud/Makefrag
+++ b/isa/rv32ud/Makefrag
@@ -11,5 +11,3 @@ rv32ud_sc_tests = \
rv32ud_p_tests = $(addprefix rv32ud-p-, $(rv32ud_sc_tests))
rv32ud_v_tests = $(addprefix rv32ud-v-, $(rv32ud_sc_tests))
-
-spike32_tests += $(rv32ud_p_tests) $(rv32ud_v_tests)
diff --git a/isa/rv32uf/Makefrag b/isa/rv32uf/Makefrag
index 7dde664..e82705f 100644
--- a/isa/rv32uf/Makefrag
+++ b/isa/rv32uf/Makefrag
@@ -8,5 +8,3 @@ rv32uf_sc_tests = \
rv32uf_p_tests = $(addprefix rv32uf-p-, $(rv32uf_sc_tests))
rv32uf_v_tests = $(addprefix rv32uf-v-, $(rv32uf_sc_tests))
-
-spike32_tests += $(rv32uf_p_tests) $(rv32uf_v_tests)
diff --git a/isa/rv32ui/Makefrag b/isa/rv32ui/Makefrag
index 7903b15..48a3a91 100644
--- a/isa/rv32ui/Makefrag
+++ b/isa/rv32ui/Makefrag
@@ -23,5 +23,3 @@ rv32ui_sc_tests = \
rv32ui_p_tests = $(addprefix rv32ui-p-, $(rv32ui_sc_tests))
rv32ui_v_tests = $(addprefix rv32ui-v-, $(rv32ui_sc_tests))
-
-spike32_tests += $(rv32ui_p_tests) $(rv32ui_v_tests)
diff --git a/isa/rv32um/Makefrag b/isa/rv32um/Makefrag
index 1391c6a..688cb5a 100644
--- a/isa/rv32um/Makefrag
+++ b/isa/rv32um/Makefrag
@@ -9,5 +9,3 @@ rv32um_sc_tests = \
rv32um_p_tests = $(addprefix rv32um-p-, $(rv32um_sc_tests))
rv32um_v_tests = $(addprefix rv32um-v-, $(rv32um_sc_tests))
-
-spike32_tests += $(rv32um_p_tests) $(rv32um_v_tests)
diff --git a/isa/rv32uzfh/Makefrag b/isa/rv32uzfh/Makefrag
index 5d9869d..f24cdf2 100644
--- a/isa/rv32uzfh/Makefrag
+++ b/isa/rv32uzfh/Makefrag
@@ -8,5 +8,3 @@ rv32uzfh_sc_tests = \
rv32uzfh_p_tests = $(addprefix rv32uzfh-p-, $(rv32uzfh_sc_tests))
rv32uzfh_v_tests = $(addprefix rv32uzfh-v-, $(rv32uzfh_sc_tests))
-
-spike32_tests += $(rv32uzfh_p_tests) $(rv32uzfh_v_tests)
diff --git a/isa/rv64mi/Makefrag b/isa/rv64mi/Makefrag
index c81c24e..645622b 100644
--- a/isa/rv64mi/Makefrag
+++ b/isa/rv64mi/Makefrag
@@ -14,5 +14,3 @@ rv64mi_sc_tests = \
sbreak \
rv64mi_p_tests = $(addprefix rv64mi-p-, $(rv64mi_sc_tests))
-
-spike_tests += $(rv64mi_p_tests)
diff --git a/isa/rv64si/Makefrag b/isa/rv64si/Makefrag
index f01a332..604005c 100644
--- a/isa/rv64si/Makefrag
+++ b/isa/rv64si/Makefrag
@@ -12,5 +12,3 @@ rv64si_sc_tests = \
sbreak \
rv64si_p_tests = $(addprefix rv64si-p-, $(rv64si_sc_tests))
-
-spike_tests += $(rv64si_p_tests)
diff --git a/isa/rv64ua/Makefrag b/isa/rv64ua/Makefrag
index 3af8856..f0e8ad6 100644
--- a/isa/rv64ua/Makefrag
+++ b/isa/rv64ua/Makefrag
@@ -9,5 +9,3 @@ rv64ua_sc_tests = \
rv64ua_p_tests = $(addprefix rv64ua-p-, $(rv64ua_sc_tests))
rv64ua_v_tests = $(addprefix rv64ua-v-, $(rv64ua_sc_tests))
-
-spike_tests += $(rv64ua_p_tests) $(rv64ua_v_tests)
diff --git a/isa/rv64uc/Makefrag b/isa/rv64uc/Makefrag
index f5e49b7..557ca6c 100644
--- a/isa/rv64uc/Makefrag
+++ b/isa/rv64uc/Makefrag
@@ -7,5 +7,3 @@ rv64uc_sc_tests = \
rv64uc_p_tests = $(addprefix rv64uc-p-, $(rv64uc_sc_tests))
rv64uc_v_tests = $(addprefix rv64uc-v-, $(rv64uc_sc_tests))
-
-spike_tests += $(rv64uc_p_tests) $(rv64uc_v_tests)
diff --git a/isa/rv64ud/Makefrag b/isa/rv64ud/Makefrag
index 9cffb5d..de456cd 100644
--- a/isa/rv64ud/Makefrag
+++ b/isa/rv64ud/Makefrag
@@ -8,5 +8,3 @@ rv64ud_sc_tests = \
rv64ud_p_tests = $(addprefix rv64ud-p-, $(rv64ud_sc_tests))
rv64ud_v_tests = $(addprefix rv64ud-v-, $(rv64ud_sc_tests))
-
-spike_tests += $(rv64ud_p_tests) $(rv64ud_v_tests)
diff --git a/isa/rv64uf/Makefrag b/isa/rv64uf/Makefrag
index 33c11db..2b67905 100644
--- a/isa/rv64uf/Makefrag
+++ b/isa/rv64uf/Makefrag
@@ -8,5 +8,3 @@ rv64uf_sc_tests = \
rv64uf_p_tests = $(addprefix rv64uf-p-, $(rv64uf_sc_tests))
rv64uf_v_tests = $(addprefix rv64uf-v-, $(rv64uf_sc_tests))
-
-spike_tests += $(rv64uf_p_tests) $(rv64uf_v_tests)
diff --git a/isa/rv64ui/Makefrag b/isa/rv64ui/Makefrag
index 1867ea5..b5bf7ba 100644
--- a/isa/rv64ui/Makefrag
+++ b/isa/rv64ui/Makefrag
@@ -23,5 +23,3 @@ rv64ui_sc_tests = \
rv64ui_p_tests = $(addprefix rv64ui-p-, $(rv64ui_sc_tests))
rv64ui_v_tests = $(addprefix rv64ui-v-, $(rv64ui_sc_tests))
-
-spike_tests += $(rv64ui_p_tests) $(rv64ui_v_tests)
diff --git a/isa/rv64um/Makefrag b/isa/rv64um/Makefrag
index 360bd7a..2a9e66d 100644
--- a/isa/rv64um/Makefrag
+++ b/isa/rv64um/Makefrag
@@ -9,5 +9,3 @@ rv64um_sc_tests = \
rv64um_p_tests = $(addprefix rv64um-p-, $(rv64um_sc_tests))
rv64um_v_tests = $(addprefix rv64um-v-, $(rv64um_sc_tests))
-
-spike_tests += $(rv64um_p_tests) $(rv64um_v_tests)
diff --git a/isa/rv64uzfh/Makefrag b/isa/rv64uzfh/Makefrag
index 94e8c31..af247fd 100644
--- a/isa/rv64uzfh/Makefrag
+++ b/isa/rv64uzfh/Makefrag
@@ -8,5 +8,3 @@ rv64uzfh_sc_tests = \
rv64uzfh_p_tests = $(addprefix rv64uzfh-p-, $(rv64uzfh_sc_tests))
rv64uzfh_v_tests = $(addprefix rv64uzfh-v-, $(rv64uzfh_sc_tests))
-
-spike_tests += $(rv64uzfh_p_tests) $(rv64uzfh_v_tests)