aboutsummaryrefslogtreecommitdiff
path: root/isa
diff options
context:
space:
mode:
Diffstat (limited to 'isa')
-rw-r--r--isa/Makefile18
-rw-r--r--isa/rv32mi/Makefrag2
-rw-r--r--isa/rv32ua/Makefrag15
-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/Makefrag10
-rw-r--r--isa/rv32um/Makefrag14
-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/Makefrag2
-rw-r--r--isa/rv64ua/Makefrag17
-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/Makefrag11
-rw-r--r--isa/rv64um/Makefrag14
-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
61 files changed, 84 insertions, 19 deletions
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