1 #=======================================================================
2 # Makefile for riscv-tests
3 #-----------------------------------------------------------------------
7 #--------------------------------------------------------------------
9 #--------------------------------------------------------------------
17 rv64si_sc_vec_tests
= \
19 #--------------------------------------------------------------------
21 #--------------------------------------------------------------------
24 RISCV_GCC_OPTS
= -nostdlib
-nostartfiles
25 RISCV_OBJDUMP
= riscv-objdump
--disassemble-all
--disassemble-zeroes
--section
=.text
--section
=.data
--section
=.bss
26 RISCV_SIM
= riscv-isa-run
28 #------------------------------------------------------------
29 # Build assembly tests
32 elf2hex
16 16384 $< > $@
35 $(RISCV_OBJDUMP
) $< > $@
40 rv64si_p_tests_bin
= $(addprefix rv64si-p-
, $(rv64si_sc_tests
))
41 rv64si_p_tests_dump
= $(addsuffix .dump
, $(rv64si_p_tests_bin
))
42 rv64si_p_tests_hex
= $(addsuffix .hex
, $(rv64si_p_tests_bin
))
43 rv64si_p_tests_out
= $(addsuffix .out
, $(rv64si_p_tests_bin
))
45 $(rv64si_p_tests_bin
): rv64si-p-
%: %.S
46 $(RISCV_GCC
) $(RISCV_GCC_OPTS
) -I..
/..
/env
/p
-I..
/macros
/scalar
-T..
/..
/env
/p
/link.
ld $< -o
$@
48 rv64si_pm_tests_bin
= $(addprefix rv64si-pm-
, $(rv64si_mc_tests
))
49 rv64si_pm_tests_dump
= $(addsuffix .dump
, $(rv64si_pm_tests_bin
))
50 rv64si_pm_tests_hex
= $(addsuffix .hex
, $(rv64si_pm_tests_bin
))
51 rv64si_pm_tests_out
= $(addsuffix .out
, $(rv64si_pm_tests_bin
))
53 $(rv64si_pm_tests_bin
): rv64si-pm-
%: %.S
54 $(RISCV_GCC
) $(RISCV_GCC_OPTS
) -I..
/..
/env
/pm
-I..
/macros
/scalar
-T..
/..
/env
/pm
/link.
ld $< -o
$@
56 rv64si_p_vec_tests_bin
= $(addprefix rv64si-p-vec-
, $(rv64si_sc_vec_tests
))
57 rv64si_p_vec_tests_dump
= $(addsuffix .dump
, $(rv64si_p_vec_tests_bin
))
58 rv64si_p_vec_tests_hex
= $(addsuffix .hex
, $(rv64si_p_vec_tests_bin
))
59 rv64si_p_vec_tests_out
= $(addsuffix .out
, $(rv64si_p_vec_tests_bin
))
61 $(rv64si_p_vec_tests_bin
): rv64si-p-vec-
%: %.S
62 $(RISCV_GCC
) $(RISCV_GCC_OPTS
) -I..
/..
/env
/p
-I..
/macros
/vector
-T..
/..
/env
/p
/link.
ld $< -o
$@
64 rv64si_pt_vec_tests_bin
= $(addprefix rv64si-pt-vec-
, $(rv64si_sc_vec_tests
))
65 rv64si_pt_vec_tests_dump
= $(addsuffix .dump
, $(rv64si_pt_vec_tests_bin
))
66 rv64si_pt_vec_tests_hex
= $(addsuffix .hex
, $(rv64si_pt_vec_tests_bin
))
67 rv64si_pt_vec_tests_out
= $(addsuffix .out
, $(rv64si_pt_vec_tests_bin
))
69 $(rv64si_pt_vec_tests_bin
): rv64si-pt-vec-
%: %.S
70 $(RISCV_GCC
) $(RISCV_GCC_OPTS
) -I..
/..
/env
/pt
-I..
/macros
/vector
-T..
/..
/env
/pt
/link.
ld $< -o
$@
73 $(rv64si_p_tests_dump
) $(rv64si_p_tests_hex
) \
74 $(rv64si_pm_tests_dump
) $(rv64si_pm_tests_hex
) \
75 $(rv64si_p_vec_tests_dump
) $(rv64si_p_vec_tests_hex
) \
76 $(rv64si_pt_vec_tests_dump
) $(rv64si_pt_vec_tests_hex
) \
78 out
= $(rv64si_p_tests_out
) $(rv64si_pm_tests_out
) $(rv64si_p_vec_tests_out
)
81 echo
; perl
-ne
'print " [$$1] $$ARGV \t$$2\n" if /\*{3}(.{8})\*{3}(.*)/' \
85 $(rv64si_p_tests_bin
) $(rv64si_p_tests_dump
) $(rv64si_p_tests_hex
) $(rv64si_p_tests_out
) \
86 $(rv64si_pm_tests_bin
) $(rv64si_pm_tests_dump
) $(rv64si_pm_tests_hex
) $(rv64si_pm_tests_out
) \
87 $(rv64si_p_vec_tests_bin
) $(rv64si_p_vec_tests_dump
) $(rv64si_p_vec_tests_hex
) $(rv64si_p_vec_tests_out
) \
88 $(rv64si_pt_vec_tests_bin
) $(rv64si_pt_vec_tests_dump
) $(rv64si_pt_vec_tests_hex
) $(rv64si_pt_vec_tests_out
) \
90 #------------------------------------------------------------
95 #------------------------------------------------------------