1 #include "riscv_test.h"
2 #include "sv_test_macros.h"
4 RVTEST_RV64U # Define TVM used by program.
6 # SV test: vector-vector add
8 # sets up x3 and x4 with data, sets VL to 2, and carries out
9 # an "add 1 to x3". which actually means "add 1 to x3 *AND* add 1 to x4"
12 RVTEST_CODE_BEGIN # Start of test code.
15 SV_ELWIDTH_TEST( add, SV_LDD_DATA, testdata, 8, 0, 2, 0, 0, 0, 1, 1, 1,
16 0x000000ab8b6b4b2b, 0x000000a888684828, SV_W_DEFAULT_EXPECT)
17 SV_ELWIDTH_TEST( add, SV_LDD_DATA, testdata, 8, 0, 2, 0, 0, 3, 1, 1, 1,
18 0x886848288b6b4b2b, SV_W_DEFAULT_EXPECT, SV_W_DEFAULT_EXPECT)
19 SV_ELWIDTH_TEST( add, SV_LDD_DATA, testdata, 8, 0, 2, 1, 1, 0, 1, 1, 1,
20 0x000000000000002b, 0x000000000000004b, SV_W_DEFAULT_EXPECT)
22 RVTEST_PASS # Signal success.
25 RVTEST_CODE_END # End of test code.
28 # This section is optional, and this data is NOT saved in the output.
32 .dword 0x0000005949392919
33 .dword 0x0000005747372717
34 .dword 0x0000000000000000
35 .dword 0x0000005242322212
36 .dword 0x0000005141312111
37 .dword 0x0000000000000000
39 # Output data section.
40 RVTEST_DATA_BEGIN # Start of test output data region.
46 RVTEST_DATA_END # End of test output data region.