From: Daniel Benusovich Date: Sat, 17 Nov 2018 20:56:09 +0000 (-0800) Subject: Updating test macro to take load instruction parameter X-Git-Url: https://git.libre-soc.org/?p=riscv-tests.git;a=commitdiff_plain;h=008d062e4d7991ac68dba9c4e552e6cb1a043580 Updating test macro to take load instruction parameter --- diff --git a/isa/macros/simplev/sv_test_macros.h b/isa/macros/simplev/sv_test_macros.h index 1c7977c..3d99af5 100644 --- a/isa/macros/simplev/sv_test_macros.h +++ b/isa/macros/simplev/sv_test_macros.h @@ -109,15 +109,15 @@ fmv.x.s x2, freg; \ bne x2, x1, fail; -#define SV_ELWIDTH_TEST(code, testdata, vl, wid1, wid2, wid3, isvec1, isvec2, isvec3, \ +#define SV_ELWIDTH_TEST(code, load_instruction, testdata, vl, wid1, wid2, wid3, isvec1, isvec2, isvec3, \ expect1, expect2, expect3 ) \ \ - SV_LDD_DATA( x12, testdata , 0); \ - SV_LDD_DATA( x13, testdata+8 , 0); \ - SV_LDD_DATA( x14, testdata+16, 0); \ - SV_LDD_DATA( x15, testdata+24, 0); \ - SV_LDD_DATA( x16, testdata+32, 0); \ - SV_LDD_DATA( x17, testdata+40, 0); \ + load_instruction( x12, testdata , 0); \ + load_instruction( x13, testdata+8 , 0); \ + load_instruction( x14, testdata+16, 0); \ + load_instruction( x15, testdata+24, 0); \ + load_instruction( x16, testdata+32, 0); \ + load_instruction( x17, testdata+40, 0); \ \ li x28, 0xa5a5a5a5a5a5a5a5; \ li x29, 0xa5a5a5a5a5a5a5a5; \ diff --git a/isa/rv64ui/sv_addw_elwidth.S b/isa/rv64ui/sv_addw_elwidth.S index 7047ff0..b6ff85e 100644 --- a/isa/rv64ui/sv_addw_elwidth.S +++ b/isa/rv64ui/sv_addw_elwidth.S @@ -13,37 +13,37 @@ RVTEST_RV64U # Define TVM used by program. RVTEST_CODE_BEGIN # Start of test code. # TODO: add "addw" argument, add testdata argument - SV_ELWIDTH_TEST( addw, testdata, 3, 0, 0, 0, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 0, 0, 0, 1, 1, 1, 0xffffffff8b6bab8b, 0xffffffff88684828, 0x0000000000000000 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 0, 0, 3, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 0, 0, 3, 1, 1, 1, 0x886848288b6bab8b, 0xa5a5a5a500000000, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 1, 1, 0, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 0, 1, 1, 1, 0xffffffffffffff8b, 0xffffffffffffffab, 0x000000000000006b ) - SV_ELWIDTH_TEST( addw, testdata, 3, 1, 1, 3, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 3, 1, 1, 1, 0xffffffabffffff8b, 0xa5a5a5a50000006b, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 1, 1, 2, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 2, 1, 1, 1, 0xa5a5006bffabff8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 1, 1, 1, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 1, 1, 1, 1, 0xa5a5a5a5a56bab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) # these test a scalar destination, for sign-extension on different # widths of source/dest. - SV_ELWIDTH_TEST( addw, testdata, 3, 0, 0, 0, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 0, 0, 0, 1, 1, 0, 0xffffffff8b6bab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 3, 3, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 3, 3, 3, 1, 1, 0, 0xffffffff8b6bab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 2, 2, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 2, 2, 3, 1, 1, 0, 0xffffffffffffab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 3, 2, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 3, 2, 3, 1, 1, 0, 0x000000004232ab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 2, 3, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 2, 3, 3, 1, 1, 0, 0x000000004939ab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) # these test scalar sources, for sign-extension on different # widths of source/dest. - SV_ELWIDTH_TEST( addw, testdata, 3, 0, 0, 0, 0, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 0, 0, 0, 0, 1, 1, 0xffffffff8b6bab8b, 0xffffffff89694929, 0x0000000042322212 ) - SV_ELWIDTH_TEST( addw, testdata, 3, 0, 0, 3, 0, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 0, 0, 3, 0, 1, 1, 0x896949298b6bab8b, 0xa5a5a5a542322212, 0xa5a5a5a5a5a5a5a5 )