diff options
-rw-r--r-- | Makefile.in | 8 | ||||
-rw-r--r-- | benchmarks/mm/bmark.mk | 4 | ||||
-rwxr-xr-x | configure | 50 | ||||
-rw-r--r-- | configure.ac | 15 | ||||
-rw-r--r-- | isa/Makefile | 18 | ||||
-rw-r--r-- | isa/rv32mi/Makefrag | 2 | ||||
-rw-r--r-- | isa/rv32ua/Makefrag | 15 | ||||
-rw-r--r-- | isa/rv32ua/amoadd_w.S (renamed from isa/rv32ui/amoadd_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/amoand_w.S (renamed from isa/rv32ui/amoand_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/amomax_w.S (renamed from isa/rv32ui/amomax_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/amomaxu_w.S (renamed from isa/rv32ui/amomaxu_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/amomin_w.S (renamed from isa/rv32ui/amomin_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/amominu_w.S (renamed from isa/rv32ui/amominu_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/amoor_w.S (renamed from isa/rv32ui/amoor_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/amoswap_w.S (renamed from isa/rv32ui/amoswap_w.S) | 0 | ||||
-rw-r--r-- | isa/rv32ua/lrsc.S (renamed from isa/rv32ui/lrsc.S) | 0 | ||||
-rw-r--r-- | isa/rv32ui/Makefrag | 10 | ||||
-rw-r--r-- | isa/rv32um/Makefrag | 14 | ||||
-rw-r--r-- | isa/rv32um/div.S (renamed from isa/rv32ui/div.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/divu.S (renamed from isa/rv32ui/divu.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/divuw.S (renamed from isa/rv32ui/divuw.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/divw.S (renamed from isa/rv32ui/divw.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/mul.S (renamed from isa/rv32ui/mul.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/mulh.S (renamed from isa/rv32ui/mulh.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/mulhsu.S (renamed from isa/rv32ui/mulhsu.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/mulhu.S (renamed from isa/rv32ui/mulhu.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/mulw.S (renamed from isa/rv32ui/mulw.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/rem.S (renamed from isa/rv32ui/rem.S) | 0 | ||||
-rw-r--r-- | isa/rv32um/remu.S (renamed from isa/rv32ui/remu.S) | 0 | ||||
-rw-r--r-- | isa/rv64mi/Makefrag | 2 | ||||
-rw-r--r-- | isa/rv64ua/Makefrag | 17 | ||||
-rw-r--r-- | isa/rv64ua/amoadd_d.S (renamed from isa/rv64ui/amoadd_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoadd_w.S (renamed from isa/rv64ui/amoadd_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoand_d.S (renamed from isa/rv64ui/amoand_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoand_w.S (renamed from isa/rv64ui/amoand_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amomax_d.S (renamed from isa/rv64ui/amomax_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amomax_w.S (renamed from isa/rv64ui/amomax_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amomaxu_d.S (renamed from isa/rv64ui/amomaxu_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amomaxu_w.S (renamed from isa/rv64ui/amomaxu_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amomin_d.S (renamed from isa/rv64ui/amomin_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amomin_w.S (renamed from isa/rv64ui/amomin_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amominu_d.S (renamed from isa/rv64ui/amominu_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amominu_w.S (renamed from isa/rv64ui/amominu_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoor_d.S (renamed from isa/rv64ui/amoor_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoor_w.S (renamed from isa/rv64ui/amoor_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoswap_d.S (renamed from isa/rv64ui/amoswap_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoswap_w.S (renamed from isa/rv64ui/amoswap_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoxor_d.S (renamed from isa/rv64ui/amoxor_d.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/amoxor_w.S (renamed from isa/rv64ui/amoxor_w.S) | 0 | ||||
-rw-r--r-- | isa/rv64ua/lrsc.S (renamed from isa/rv64ui/lrsc.S) | 0 | ||||
-rw-r--r-- | isa/rv64ui/Makefrag | 11 | ||||
-rw-r--r-- | isa/rv64um/Makefrag | 14 | ||||
-rw-r--r-- | isa/rv64um/div.S (renamed from isa/rv64ui/div.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/divu.S (renamed from isa/rv64ui/divu.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/divuw.S (renamed from isa/rv64ui/divuw.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/divw.S (renamed from isa/rv64ui/divw.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/mul.S (renamed from isa/rv64ui/mul.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/mulh.S (renamed from isa/rv64ui/mulh.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/mulhsu.S (renamed from isa/rv64ui/mulhsu.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/mulhu.S (renamed from isa/rv64ui/mulhu.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/mulw.S (renamed from isa/rv64ui/mulw.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/rem.S (renamed from isa/rv64ui/rem.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/remu.S (renamed from isa/rv64ui/remu.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/remuw.S (renamed from isa/rv64ui/remuw.S) | 0 | ||||
-rw-r--r-- | isa/rv64um/remw.S (renamed from isa/rv64ui/remw.S) | 0 |
65 files changed, 159 insertions, 21 deletions
diff --git a/Makefile.in b/Makefile.in index 541263b..26f2534 100644 --- a/Makefile.in +++ b/Makefile.in @@ -4,6 +4,10 @@ instbasedir := $(DESTDIR)$(prefix) bmarkdir := $(abs_top_src_dir)/benchmarks isa_src_dir := $(abs_top_src_dir)/isa +TEST_ENABLE_M :=@enable_M@ +TEST_ENABLE_A :=@enable_A@ +TEST_ENABLE_F :=@enable_F@ + all: benchmarks isa install: all @@ -14,11 +18,11 @@ install: all benchmarks: mkdir -p benchmarks - $(MAKE) -C benchmarks -f $(bmarkdir)/Makefile bmarkdir=$(bmarkdir) + $(MAKE) -C benchmarks -f $(bmarkdir)/Makefile bmarkdir=$(bmarkdir) TEST_ENABLE_F=$(TEST_ENABLE_F) isa: mkdir -p isa - $(MAKE) -C isa -f $(isa_src_dir)/Makefile isa_src_dir=$(isa_src_dir) + $(MAKE) -C isa -f $(isa_src_dir)/Makefile isa_src_dir=$(isa_src_dir) TEST_ENABLE_M=$(TEST_ENABLE_M) TEST_ENABLE_A=$(TEST_ENABLE_A) TEST_ENABLE_F=$(TEST_ENABLE_F) clean: $(MAKE) -f $(isa_src_dir)/Makefile isa_src_dir=$(isa_src_dir) clean diff --git a/benchmarks/mm/bmark.mk b/benchmarks/mm/bmark.mk index ec8fd16..c7ead35 100644 --- a/benchmarks/mm/bmark.mk +++ b/benchmarks/mm/bmark.mk @@ -23,6 +23,10 @@ mm_host_bin = mm.host $(mm_host_bin) : $(mm_c_src) $(HOST_COMP) $^ -o $(mm_host_bin) +ifeq ($(TEST_ENABLE_F),no) +RISCV_LINK_OPTS += -lm +endif + mm_riscv_bin = mm.riscv $(mm_riscv_bin) : $(mm_c_objs) $(mm_riscv_objs) $(RISCV_LINK) $(mm_c_objs) $(mm_riscv_objs) -o $(mm_riscv_bin) $(RISCV_LINK_OPTS) @@ -583,6 +583,9 @@ PACKAGE_URL='' ac_subst_vars='LTLIBOBJS LIBOBJS +enable_F +enable_A +enable_M OBJEXT EXEEXT ac_ct_CC @@ -631,6 +634,9 @@ SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking +enable_M +enable_A +enable_F ' ac_precious_vars='build_alias host_alias @@ -1245,6 +1251,14 @@ if test -n "$ac_init_help"; then esac cat <<\_ACEOF +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-M Do no build M tests + --disable-A Do no build A tests + --disable-F Do not build F tests + Some influential environment variables: CC C compiler command CFLAGS C compiler flags @@ -2515,6 +2529,42 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Check whether --enable-M was given. +if test "${enable_M+set}" = set; then : + enableval=$enable_M; +fi + +if test "x$enable_M" != "xno"; then : + + enable_M=yes + + +fi + +# Check whether --enable-A was given. +if test "${enable_A+set}" = set; then : + enableval=$enable_A; +fi + +if test "x$enable_A" != "xno"; then : + + enable_A=yes + + +fi + +# Check whether --enable-F was given. +if test "${enable_F+set}" = set; then : + enableval=$enable_F; +fi + +if test "x$enable_F" != "xno"; then : + + enable_F=yes + + +fi + ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF diff --git a/configure.ac b/configure.ac index d85ddd6..a8f3d2b 100644 --- a/configure.ac +++ b/configure.ac @@ -3,6 +3,21 @@ AC_INIT(riscv-tests, 1.0) cross_compiling=yes AC_PROG_CC +AC_ARG_ENABLE([M], AS_HELP_STRING([--disable-M], [Do no build M tests])) +AS_IF([test "x$enable_M" != "xno"], [ + AC_SUBST(enable_M,yes) +]) + +AC_ARG_ENABLE([A], AS_HELP_STRING([--disable-A], [Do no build A tests])) +AS_IF([test "x$enable_A" != "xno"], [ + AC_SUBST(enable_A,yes) +]) + +AC_ARG_ENABLE([F], AS_HELP_STRING([--disable-F], [Do not build F tests])) +AS_IF([test "x$enable_F" != "xno"], [ + AC_SUBST(enable_F,yes) +]) + AC_OUTPUT( Makefile ) diff --git a/isa/Makefile b/isa/Makefile index 415778e..7ffe93e 100644 --- a/isa/Makefile +++ b/isa/Makefile @@ -5,10 +5,14 @@ isa_src_dir := . include $(isa_src_dir)/rv64ui/Makefrag +include $(isa_src_dir)/rv64um/Makefrag +include $(isa_src_dir)/rv64ua/Makefrag include $(isa_src_dir)/rv64uf/Makefrag include $(isa_src_dir)/rv64si/Makefrag include $(isa_src_dir)/rv64mi/Makefrag include $(isa_src_dir)/rv32ui/Makefrag +include $(isa_src_dir)/rv32um/Makefrag +include $(isa_src_dir)/rv32ua/Makefrag include $(isa_src_dir)/rv32si/Makefrag include $(isa_src_dir)/rv32mi/Makefrag @@ -73,11 +77,25 @@ tests += $$($(1)_tests) endef $(eval $(call compile_template,rv32ui,-m32)) +ifeq ($(TEST_ENABLE_M),yes) +$(eval $(call compile_template,rv32um,-m32)) +endif +ifeq ($(TEST_ENABLE_A),yes) +$(eval $(call compile_template,rv32ua,-m32)) +endif $(eval $(call compile_template,rv32si,-m32)) $(eval $(call compile_template,rv32mi,-m32)) ifeq ($(XLEN),64) $(eval $(call compile_template,rv64ui)) +ifeq ($(TEST_ENABLE_M),yes) +$(eval $(call compile_template,rv64um)) +endif +ifeq ($(TEST_ENABLE_A),yes) +$(eval $(call compile_template,rv64ua)) +endif +ifeq ($(TEST_ENABLE_F),yes) $(eval $(call compile_template,rv64uf)) +endif $(eval $(call compile_template,rv64si)) $(eval $(call compile_template,rv64mi)) endif diff --git a/isa/rv32mi/Makefrag b/isa/rv32mi/Makefrag index 7560dbc..3f6ecb4 100644 --- a/isa/rv32mi/Makefrag +++ b/isa/rv32mi/Makefrag @@ -15,6 +15,8 @@ rv32mi_mc_tests = \ ipi \ rv32mi_p_tests = $(addprefix rv32mi-p-, $(rv32mi_sc_tests)) +ifdef $(TEST_ENABLE_A) rv32mi_pm_tests = $(addprefix rv32mi-pm-, $(rv32mi_mc_tests)) +endif spike32_tests += $(rv32mi_p_tests) $(rv32mi_pm_tests) diff --git a/isa/rv32ua/Makefrag b/isa/rv32ua/Makefrag new file mode 100644 index 0000000..1846506 --- /dev/null +++ b/isa/rv32ua/Makefrag @@ -0,0 +1,15 @@ +#======================================================================= +# Makefrag for rv32ua tests +#----------------------------------------------------------------------- + +rv32ua_sc_tests = \ + amoadd_w amoand_w amomax_w amomaxu_w amomin_w amominu_w amoor_w amoswap_w \ + +rv32ua_mc_tests = \ + lrsc + +rv32ua_p_tests = $(addprefix rv32ua-p-, $(rv32ua_sc_tests)) +rv32ua_pt_tests = $(addprefix rv32ua-pt-, $(rv32ua_sc_tests)) +rv32ua_pm_tests = $(addprefix rv32ua-pm-, $(rv32ua_mc_tests)) + +spike_tests += $(rv32ua_p_tests) $(rv32ua_pt_tests) $(rv32ua_pm_tests) diff --git a/isa/rv32ui/amoadd_w.S b/isa/rv32ua/amoadd_w.S index 975ae1d..975ae1d 100644 --- a/isa/rv32ui/amoadd_w.S +++ b/isa/rv32ua/amoadd_w.S diff --git a/isa/rv32ui/amoand_w.S b/isa/rv32ua/amoand_w.S index 7c989c2..7c989c2 100644 --- a/isa/rv32ui/amoand_w.S +++ b/isa/rv32ua/amoand_w.S diff --git a/isa/rv32ui/amomax_w.S b/isa/rv32ua/amomax_w.S index 698cf26..698cf26 100644 --- a/isa/rv32ui/amomax_w.S +++ b/isa/rv32ua/amomax_w.S diff --git a/isa/rv32ui/amomaxu_w.S b/isa/rv32ua/amomaxu_w.S index 27c4ddf..27c4ddf 100644 --- a/isa/rv32ui/amomaxu_w.S +++ b/isa/rv32ua/amomaxu_w.S diff --git a/isa/rv32ui/amomin_w.S b/isa/rv32ua/amomin_w.S index a6a0947..a6a0947 100644 --- a/isa/rv32ui/amomin_w.S +++ b/isa/rv32ua/amomin_w.S diff --git a/isa/rv32ui/amominu_w.S b/isa/rv32ua/amominu_w.S index ce06e1c..ce06e1c 100644 --- a/isa/rv32ui/amominu_w.S +++ b/isa/rv32ua/amominu_w.S diff --git a/isa/rv32ui/amoor_w.S b/isa/rv32ua/amoor_w.S index 0988c66..0988c66 100644 --- a/isa/rv32ui/amoor_w.S +++ b/isa/rv32ua/amoor_w.S diff --git a/isa/rv32ui/amoswap_w.S b/isa/rv32ua/amoswap_w.S index a32ae74..a32ae74 100644 --- a/isa/rv32ui/amoswap_w.S +++ b/isa/rv32ua/amoswap_w.S diff --git a/isa/rv32ui/lrsc.S b/isa/rv32ua/lrsc.S index 2aee818..2aee818 100644 --- a/isa/rv32ui/lrsc.S +++ b/isa/rv32ua/lrsc.S diff --git a/isa/rv32ui/Makefrag b/isa/rv32ui/Makefrag index 9d90b92..9cb0852 100644 --- a/isa/rv32ui/Makefrag +++ b/isa/rv32ui/Makefrag @@ -5,18 +5,14 @@ rv32ui_sc_tests = \ simple \ add addi \ - amoadd_w amoand_w amomax_w amomaxu_w amomin_w amominu_w amoor_w amoswap_w \ and andi \ auipc \ beq bge bgeu blt bltu bne \ - div divu \ fence_i \ j jal jalr \ lb lbu lh lhu lw \ lui \ - mul mulh mulhu mulhsu \ or ori \ - rem remu \ sb sh sw \ sll slli \ slt slti \ @@ -25,11 +21,7 @@ rv32ui_sc_tests = \ sub \ xor xori \ -rv32ui_mc_tests = \ - lrsc - rv32ui_p_tests = $(addprefix rv32ui-p-, $(rv32ui_sc_tests)) rv32ui_pt_tests = $(addprefix rv32ui-pt-, $(rv32ui_sc_tests)) -rv32ui_pm_tests = $(addprefix rv32ui-pm-, $(rv32ui_mc_tests)) -spike_tests += $(rv32ui_p_tests) $(rv32ui_pt_tests) $(rv32ui_pm_tests) +spike_tests += $(rv32ui_p_tests) $(rv32ui_pt_tests) diff --git a/isa/rv32um/Makefrag b/isa/rv32um/Makefrag new file mode 100644 index 0000000..2094ccf --- /dev/null +++ b/isa/rv32um/Makefrag @@ -0,0 +1,14 @@ +#======================================================================= +# Makefrag for rv32um tests +#----------------------------------------------------------------------- + +rv32um_sc_tests = \ + div divu \ + mul mulh mulhu mulhsu \ + rem remu \ + +rv32um_p_tests = $(addprefix rv32um-p-, $(rv32um_sc_tests)) +rv32um_pt_tests = $(addprefix rv32um-pt-, $(rv32um_sc_tests)) +rv32um_pm_tests = $(addprefix rv32um-pm-, $(rv32um_mc_tests)) + +spike_tests += $(rv32um_p_tests) $(rv32um_pt_tests) $(rv32um_pm_tests) diff --git a/isa/rv32ui/div.S b/isa/rv32um/div.S index a4504a7..a4504a7 100644 --- a/isa/rv32ui/div.S +++ b/isa/rv32um/div.S diff --git a/isa/rv32ui/divu.S b/isa/rv32um/divu.S index cd348c9..cd348c9 100644 --- a/isa/rv32ui/divu.S +++ b/isa/rv32um/divu.S diff --git a/isa/rv32ui/divuw.S b/isa/rv32um/divuw.S index 0868eeb..0868eeb 100644 --- a/isa/rv32ui/divuw.S +++ b/isa/rv32um/divuw.S diff --git a/isa/rv32ui/divw.S b/isa/rv32um/divw.S index 4d91749..4d91749 100644 --- a/isa/rv32ui/divw.S +++ b/isa/rv32um/divw.S diff --git a/isa/rv32ui/mul.S b/isa/rv32um/mul.S index 0368629..0368629 100644 --- a/isa/rv32ui/mul.S +++ b/isa/rv32um/mul.S diff --git a/isa/rv32ui/mulh.S b/isa/rv32um/mulh.S index e583f5f..e583f5f 100644 --- a/isa/rv32ui/mulh.S +++ b/isa/rv32um/mulh.S diff --git a/isa/rv32ui/mulhsu.S b/isa/rv32um/mulhsu.S index 28b3690..28b3690 100644 --- a/isa/rv32ui/mulhsu.S +++ b/isa/rv32um/mulhsu.S diff --git a/isa/rv32ui/mulhu.S b/isa/rv32um/mulhu.S index 601dcff..601dcff 100644 --- a/isa/rv32ui/mulhu.S +++ b/isa/rv32um/mulhu.S diff --git a/isa/rv32ui/mulw.S b/isa/rv32um/mulw.S index 577c93e..577c93e 100644 --- a/isa/rv32ui/mulw.S +++ b/isa/rv32um/mulw.S diff --git a/isa/rv32ui/rem.S b/isa/rv32um/rem.S index c318e2c..c318e2c 100644 --- a/isa/rv32ui/rem.S +++ b/isa/rv32um/rem.S diff --git a/isa/rv32ui/remu.S b/isa/rv32um/remu.S index 38d641d..38d641d 100644 --- a/isa/rv32ui/remu.S +++ b/isa/rv32um/remu.S diff --git a/isa/rv64mi/Makefrag b/isa/rv64mi/Makefrag index b8b1da0..fed0d35 100644 --- a/isa/rv64mi/Makefrag +++ b/isa/rv64mi/Makefrag @@ -18,6 +18,8 @@ rv64mi_mc_tests = \ ipi \ rv64mi_p_tests = $(addprefix rv64mi-p-, $(rv64mi_sc_tests)) +ifdef $(TEST_ENABLE_A) rv64mi_pm_tests = $(addprefix rv64mi-pm-, $(rv64mi_mc_tests)) +endif spike_tests += $(rv64mi_p_tests) $(rv64mi_pm_tests) diff --git a/isa/rv64ua/Makefrag b/isa/rv64ua/Makefrag new file mode 100644 index 0000000..7acf644 --- /dev/null +++ b/isa/rv64ua/Makefrag @@ -0,0 +1,17 @@ +#======================================================================= +# Makefrag for rv64ua tests +#----------------------------------------------------------------------- + +rv64ua_sc_tests = \ + amoadd_d amoand_d amomax_d amomaxu_d amomin_d amominu_d amoor_d amoxor_d amoswap_d \ + amoadd_w amoand_w amomax_w amomaxu_w amomin_w amominu_w amoor_w amoxor_w amoswap_w \ + +rv64ua_mc_tests = \ + lrsc + +rv64ua_p_tests = $(addprefix rv64ua-p-, $(rv64ua_sc_tests)) +rv64ua_pt_tests = $(addprefix rv64ua-pt-, $(rv64ua_sc_tests)) +rv64ua_pm_tests = $(addprefix rv64ua-pm-, $(rv64ua_mc_tests)) +rv64ua_v_tests = $(addprefix rv64ua-v-, $(rv64ua_sc_tests)) + +spike_tests += $(rv64ua_p_tests) $(rv64ua_pm_tests) $(rv64ua_pt_tests) $(rv64ua_v_tests) diff --git a/isa/rv64ui/amoadd_d.S b/isa/rv64ua/amoadd_d.S index c356bed..c356bed 100644 --- a/isa/rv64ui/amoadd_d.S +++ b/isa/rv64ua/amoadd_d.S diff --git a/isa/rv64ui/amoadd_w.S b/isa/rv64ua/amoadd_w.S index b3d1953..b3d1953 100644 --- a/isa/rv64ui/amoadd_w.S +++ b/isa/rv64ua/amoadd_w.S diff --git a/isa/rv64ui/amoand_d.S b/isa/rv64ua/amoand_d.S index 13019ae..13019ae 100644 --- a/isa/rv64ui/amoand_d.S +++ b/isa/rv64ua/amoand_d.S diff --git a/isa/rv64ui/amoand_w.S b/isa/rv64ua/amoand_w.S index a843888..a843888 100644 --- a/isa/rv64ui/amoand_w.S +++ b/isa/rv64ua/amoand_w.S diff --git a/isa/rv64ui/amomax_d.S b/isa/rv64ua/amomax_d.S index ea7e2d3..ea7e2d3 100644 --- a/isa/rv64ui/amomax_d.S +++ b/isa/rv64ua/amomax_d.S diff --git a/isa/rv64ui/amomax_w.S b/isa/rv64ua/amomax_w.S index b3adbf0..b3adbf0 100644 --- a/isa/rv64ui/amomax_w.S +++ b/isa/rv64ua/amomax_w.S diff --git a/isa/rv64ui/amomaxu_d.S b/isa/rv64ua/amomaxu_d.S index b340873..b340873 100644 --- a/isa/rv64ui/amomaxu_d.S +++ b/isa/rv64ua/amomaxu_d.S diff --git a/isa/rv64ui/amomaxu_w.S b/isa/rv64ua/amomaxu_w.S index 41346d1..41346d1 100644 --- a/isa/rv64ui/amomaxu_w.S +++ b/isa/rv64ua/amomaxu_w.S diff --git a/isa/rv64ui/amomin_d.S b/isa/rv64ua/amomin_d.S index e6febbb..e6febbb 100644 --- a/isa/rv64ui/amomin_d.S +++ b/isa/rv64ua/amomin_d.S diff --git a/isa/rv64ui/amomin_w.S b/isa/rv64ua/amomin_w.S index 96b547b..96b547b 100644 --- a/isa/rv64ui/amomin_w.S +++ b/isa/rv64ua/amomin_w.S diff --git a/isa/rv64ui/amominu_d.S b/isa/rv64ua/amominu_d.S index a1013f3..a1013f3 100644 --- a/isa/rv64ui/amominu_d.S +++ b/isa/rv64ua/amominu_d.S diff --git a/isa/rv64ui/amominu_w.S b/isa/rv64ua/amominu_w.S index 0a9e265..0a9e265 100644 --- a/isa/rv64ui/amominu_w.S +++ b/isa/rv64ua/amominu_w.S diff --git a/isa/rv64ui/amoor_d.S b/isa/rv64ua/amoor_d.S index 507e877..507e877 100644 --- a/isa/rv64ui/amoor_d.S +++ b/isa/rv64ua/amoor_d.S diff --git a/isa/rv64ui/amoor_w.S b/isa/rv64ua/amoor_w.S index 47978ba..47978ba 100644 --- a/isa/rv64ui/amoor_w.S +++ b/isa/rv64ua/amoor_w.S diff --git a/isa/rv64ui/amoswap_d.S b/isa/rv64ua/amoswap_d.S index 628f537..628f537 100644 --- a/isa/rv64ui/amoswap_d.S +++ b/isa/rv64ua/amoswap_d.S diff --git a/isa/rv64ui/amoswap_w.S b/isa/rv64ua/amoswap_w.S index c09b866..c09b866 100644 --- a/isa/rv64ui/amoswap_w.S +++ b/isa/rv64ua/amoswap_w.S diff --git a/isa/rv64ui/amoxor_d.S b/isa/rv64ua/amoxor_d.S index f446121..f446121 100644 --- a/isa/rv64ui/amoxor_d.S +++ b/isa/rv64ua/amoxor_d.S diff --git a/isa/rv64ui/amoxor_w.S b/isa/rv64ua/amoxor_w.S index 2b92323..2b92323 100644 --- a/isa/rv64ui/amoxor_w.S +++ b/isa/rv64ua/amoxor_w.S diff --git a/isa/rv64ui/lrsc.S b/isa/rv64ua/lrsc.S index 6c4904e..6c4904e 100644 --- a/isa/rv64ui/lrsc.S +++ b/isa/rv64ua/lrsc.S diff --git a/isa/rv64ui/Makefrag b/isa/rv64ui/Makefrag index d8d21af..e0de257 100644 --- a/isa/rv64ui/Makefrag +++ b/isa/rv64ui/Makefrag @@ -4,20 +4,15 @@ rv64ui_sc_tests = \ add addi addiw addw \ - amoadd_d amoand_d amomax_d amomaxu_d amomin_d amominu_d amoor_d amoxor_d amoswap_d \ - amoadd_w amoand_w amomax_w amomaxu_w amomin_w amominu_w amoor_w amoxor_w amoswap_w \ and andi \ auipc \ beq bge bgeu blt bltu bne \ - div divu divuw divw \ example simple \ fence_i \ j jal jalr \ lb lbu lh lhu lw lwu ld \ lui \ - mul mulh mulhsu mulhu mulw \ or ori \ - rem remu remuw remw \ sb sh sw sd \ sll slli slliw sllw \ slt slti sltiu sltu \ @@ -26,12 +21,8 @@ rv64ui_sc_tests = \ sub subw \ xor xori \ -rv64ui_mc_tests = \ - lrsc - rv64ui_p_tests = $(addprefix rv64ui-p-, $(rv64ui_sc_tests)) rv64ui_pt_tests = $(addprefix rv64ui-pt-, $(rv64ui_sc_tests)) -rv64ui_pm_tests = $(addprefix rv64ui-pm-, $(rv64ui_mc_tests)) rv64ui_v_tests = $(addprefix rv64ui-v-, $(rv64ui_sc_tests)) -spike_tests += $(rv64ui_p_tests) $(rv64ui_pm_tests) $(rv64ui_pt_tests) $(rv64ui_v_tests) +spike_tests += $(rv64ui_p_tests) $(rv64ui_pt_tests) $(rv64ui_v_tests) diff --git a/isa/rv64um/Makefrag b/isa/rv64um/Makefrag new file mode 100644 index 0000000..ba7c9b0 --- /dev/null +++ b/isa/rv64um/Makefrag @@ -0,0 +1,14 @@ +#======================================================================= +# Makefrag for rv64um tests +#----------------------------------------------------------------------- + +rv64um_sc_tests = \ + div divu divuw divw \ + mul mulh mulhsu mulhu mulw \ + rem remu remuw remw \ + +rv64um_p_tests = $(addprefix rv64um-p-, $(rv64um_sc_tests)) +rv64um_pt_tests = $(addprefix rv64um-pt-, $(rv64um_sc_tests)) +rv64um_v_tests = $(addprefix rv64um-v-, $(rv64um_sc_tests)) + +spike_tests += $(rv64um_p_tests) $(rv64um_pt_tests) $(rv64um_v_tests) diff --git a/isa/rv64ui/div.S b/isa/rv64um/div.S index ee21f0c..ee21f0c 100644 --- a/isa/rv64ui/div.S +++ b/isa/rv64um/div.S diff --git a/isa/rv64ui/divu.S b/isa/rv64um/divu.S index e63fd65..e63fd65 100644 --- a/isa/rv64ui/divu.S +++ b/isa/rv64um/divu.S diff --git a/isa/rv64ui/divuw.S b/isa/rv64um/divuw.S index 4c9eee7..4c9eee7 100644 --- a/isa/rv64ui/divuw.S +++ b/isa/rv64um/divuw.S diff --git a/isa/rv64ui/divw.S b/isa/rv64um/divw.S index 4cffa1a..4cffa1a 100644 --- a/isa/rv64ui/divw.S +++ b/isa/rv64um/divw.S diff --git a/isa/rv64ui/mul.S b/isa/rv64um/mul.S index c647e97..c647e97 100644 --- a/isa/rv64ui/mul.S +++ b/isa/rv64um/mul.S diff --git a/isa/rv64ui/mulh.S b/isa/rv64um/mulh.S index 1fd12a1..1fd12a1 100644 --- a/isa/rv64ui/mulh.S +++ b/isa/rv64um/mulh.S diff --git a/isa/rv64ui/mulhsu.S b/isa/rv64um/mulhsu.S index c037db2..c037db2 100644 --- a/isa/rv64ui/mulhsu.S +++ b/isa/rv64um/mulhsu.S diff --git a/isa/rv64ui/mulhu.S b/isa/rv64um/mulhu.S index aa7b762..aa7b762 100644 --- a/isa/rv64ui/mulhu.S +++ b/isa/rv64um/mulhu.S diff --git a/isa/rv64ui/mulw.S b/isa/rv64um/mulw.S index 379c3f2..379c3f2 100644 --- a/isa/rv64ui/mulw.S +++ b/isa/rv64um/mulw.S diff --git a/isa/rv64ui/rem.S b/isa/rv64um/rem.S index e3248ff..e3248ff 100644 --- a/isa/rv64ui/rem.S +++ b/isa/rv64um/rem.S diff --git a/isa/rv64ui/remu.S b/isa/rv64um/remu.S index 6946d0d..6946d0d 100644 --- a/isa/rv64ui/remu.S +++ b/isa/rv64um/remu.S diff --git a/isa/rv64ui/remuw.S b/isa/rv64um/remuw.S index 334b5c5..334b5c5 100644 --- a/isa/rv64ui/remuw.S +++ b/isa/rv64um/remuw.S diff --git a/isa/rv64ui/remw.S b/isa/rv64um/remw.S index 3ae8e3d..3ae8e3d 100644 --- a/isa/rv64ui/remw.S +++ b/isa/rv64um/remw.S |