From 58eb560a84ea2d6a392f7e75bba649a0c5946617 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Fri, 20 Nov 2020 19:22:53 -0800 Subject: Only attempt to build tests supported by compiler Resolves #303 --- isa/Makefile | 8 ++++++-- isa/rv32mi/Makefrag | 2 -- isa/rv32si/Makefrag | 2 -- isa/rv32ua/Makefrag | 2 -- isa/rv32uc/Makefrag | 2 -- isa/rv32ud/Makefrag | 2 -- isa/rv32uf/Makefrag | 2 -- isa/rv32ui/Makefrag | 2 -- isa/rv32um/Makefrag | 2 -- isa/rv32uzfh/Makefrag | 2 -- isa/rv64mi/Makefrag | 2 -- isa/rv64si/Makefrag | 2 -- isa/rv64ua/Makefrag | 2 -- isa/rv64uc/Makefrag | 2 -- isa/rv64ud/Makefrag | 2 -- isa/rv64uf/Makefrag | 2 -- isa/rv64ui/Makefrag | 2 -- isa/rv64um/Makefrag | 2 -- isa/rv64uzfh/Makefrag | 2 -- 19 files changed, 6 insertions(+), 38 deletions(-) (limited to 'isa') 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) -- cgit v1.1