From fa7440ddf6b1fc2f3e1d6003b9f0b7d1cd421fbe Mon Sep 17 00:00:00 2001 From: Daniel Benusovich Date: Sat, 17 Nov 2018 20:35:41 -0800 Subject: [PATCH] Updating SV_ELWIDTH_TEST to account for element with when loading test elements --- isa/macros/simplev/sv_test_macros.h | 12 ++++++------ isa/rv64ui/sv_addw_elwidth.S | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/isa/macros/simplev/sv_test_macros.h b/isa/macros/simplev/sv_test_macros.h index 3d99af5..5459c35 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, load_instruction, testdata, vl, wid1, wid2, wid3, isvec1, isvec2, isvec3, \ +#define SV_ELWIDTH_TEST(code, load_instruction, testdata, elwidth, vl, wid1, wid2, wid3, isvec1, isvec2, isvec3, \ expect1, expect2, expect3 ) \ \ 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); \ + load_instruction( x13, testdata+elwidth , 0); \ + load_instruction( x14, testdata+elwidth*2, 0); \ + load_instruction( x15, testdata+elwidth*3, 0); \ + load_instruction( x16, testdata+elwidth*4, 0); \ + load_instruction( x17, testdata++elwidth*5, 0); \ \ li x28, 0xa5a5a5a5a5a5a5a5; \ li x29, 0xa5a5a5a5a5a5a5a5; \ diff --git a/isa/rv64ui/sv_addw_elwidth.S b/isa/rv64ui/sv_addw_elwidth.S index b6ff85e..19a160c 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, SV_LDD_DATA, testdata, 3, 0, 0, 0, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 0, 0, 0, 1, 1, 1, 0xffffffff8b6bab8b, 0xffffffff88684828, 0x0000000000000000 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 0, 0, 3, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 0, 0, 3, 1, 1, 1, 0x886848288b6bab8b, 0xa5a5a5a500000000, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 0, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 1, 1, 0, 1, 1, 1, 0xffffffffffffff8b, 0xffffffffffffffab, 0x000000000000006b ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 3, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 1, 1, 3, 1, 1, 1, 0xffffffabffffff8b, 0xa5a5a5a50000006b, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 2, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 1, 1, 2, 1, 1, 1, 0xa5a5006bffabff8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 1, 1, 1, 1, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 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, SV_LDD_DATA, testdata, 3, 0, 0, 0, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 0, 0, 0, 1, 1, 0, 0xffffffff8b6bab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 3, 3, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 3, 3, 3, 1, 1, 0, 0xffffffff8b6bab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 2, 2, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 2, 2, 3, 1, 1, 0, 0xffffffffffffab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 3, 2, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 3, 2, 3, 1, 1, 0, 0x000000004232ab8b, 0xa5a5a5a5a5a5a5a5, 0xa5a5a5a5a5a5a5a5 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 2, 3, 3, 1, 1, 0, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 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, SV_LDD_DATA, testdata, 3, 0, 0, 0, 0, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 0, 0, 0, 0, 1, 1, 0xffffffff8b6bab8b, 0xffffffff89694929, 0x0000000042322212 ) - SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 3, 0, 0, 3, 0, 1, 1, + SV_ELWIDTH_TEST( addw, SV_LDD_DATA, testdata, 8, 3, 0, 0, 3, 0, 1, 1, 0x896949298b6bab8b, 0xa5a5a5a542322212, 0xa5a5a5a5a5a5a5a5 ) -- 2.30.2