projects
/
riscv-tests.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
af5e6bd
)
additional sv flw elwidth tests
author
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Fri, 2 Nov 2018 08:34:41 +0000
(08:34 +0000)
committer
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Fri, 2 Nov 2018 08:34:41 +0000
(08:34 +0000)
isa/rv64uf/sv_fld_elwidth.S
patch
|
blob
|
history
diff --git
a/isa/rv64uf/sv_fld_elwidth.S
b/isa/rv64uf/sv_fld_elwidth.S
index 20cbeeba4739beb67cba125ac6d1b4d069053040..4a12a5920f505436094a5e59dc50dad02cda7c92 100644
(file)
--- a/
isa/rv64uf/sv_fld_elwidth.S
+++ b/
isa/rv64uf/sv_fld_elwidth.S
@@
-14,24
+14,27
@@
RVTEST_RV64UF # Define TVM used by program.
la x17, (testdata+elwidth*5); \
\
li x1, 0xa5a5a5a5a5a5a5a5; \
la x17, (testdata+elwidth*5); \
\
li x1, 0xa5a5a5a5a5a5a5a5; \
+ fmv.d.x f25, x1; \
+ fmv.d.x f26, x1; \
+ fmv.d.x f27, x1; \
fmv.d.x f28, x1; \
fmv.d.x f29, x1; \
fmv.d.x f30, x1; \
\
SET_SV_MVL( vl); \
SET_SV_2CSRS( SV_REG_CSR( 1, 12, wid1, 12, 1), \
fmv.d.x f28, x1; \
fmv.d.x f29, x1; \
fmv.d.x f30, x1; \
\
SET_SV_MVL( vl); \
SET_SV_2CSRS( SV_REG_CSR( 1, 12, wid1, 12, 1), \
- SV_REG_CSR( 0, 2
8, wid2, 28
, 1)); \
+ SV_REG_CSR( 0, 2
5, wid2, 25
, 1)); \
SET_SV_VL( vl ); \
\
SET_SV_VL( vl ); \
\
- inst f2
8
, 0(x12); \
+ inst f2
5
, 0(x12); \
\
CLR_SV_CSRS(); \
SET_SV_VL( 1); \
SET_SV_MVL( 1); \
\
\
CLR_SV_CSRS(); \
SET_SV_VL( 1); \
SET_SV_MVL( 1); \
\
- TEST_SV_FW(0, f2
8
, ans, 0); \
- TEST_SV_FW(0, f2
9
, ans, 4); \
- TEST_SV_FW(0, f
30
, ans, 8);
+ TEST_SV_FW(0, f2
5
, ans, 0); \
+ TEST_SV_FW(0, f2
6
, ans, 4); \
+ TEST_SV_FW(0, f
27
, ans, 8);
#define SV_ELWIDTH_TEST( inst, vl, elwidth, wid1, wid2, \
testdata, ans ) \
#define SV_ELWIDTH_TEST( inst, vl, elwidth, wid1, wid2, \
testdata, ans ) \
@@
-77,17
+80,15
@@
RVTEST_CODE_BEGIN # Start of test code.
SV_ELWIDTH_TEST( fld , 5, 8, SV_W_16BIT, SV_W_32BIT, testdata3, answer4)
SV_ELWIDTH_TEST( fld , 6, 8, SV_W_32BIT, SV_W_16BIT, testdata4, answer5)
SV_ELWIDTH_TEST( fld , 5, 8, SV_W_16BIT, SV_W_32BIT, testdata3, answer4)
SV_ELWIDTH_TEST( fld , 6, 8, SV_W_32BIT, SV_W_16BIT, testdata4, answer5)
+
SV_ELWIDTH_TESTW(flw , 3, 4, SV_W_DFLT, SV_W_DFLT, testdata1, answer1 )
SV_ELWIDTH_TESTW(flw , 3, 4, SV_W_16BIT, SV_W_DFLT, testdata3, answer8)
SV_ELWIDTH_TESTW(flw , 4, 4, SV_W_16BIT, SV_W_32BIT, testdata3, answer4)
SV_ELWIDTH_TESTW(flw , 3, 4, SV_W_DFLT, SV_W_DFLT, testdata1, answer1 )
SV_ELWIDTH_TESTW(flw , 3, 4, SV_W_16BIT, SV_W_DFLT, testdata3, answer8)
SV_ELWIDTH_TESTW(flw , 4, 4, SV_W_16BIT, SV_W_32BIT, testdata3, answer4)
-/*
- XXX: causes unexpected results, possibly memory corruption?
- SV_ELWIDTH_TESTW(flw , 5, 4, SV_W_16BIT, SV_W_32BIT, testdata3, answer4)
-*/
-/*
- SV_ELWIDTH_TESTW(flw , 2, 4, SV_W_32BIT, SV_W_16BIT, testdata4, answer5)
+ SV_ELWIDTH_TESTW(flw , 6, 4, SV_W_16BIT, SV_W_32BIT, testdata3, answer4)
+
+ SV_ELWIDTH_TESTW(flw , 6, 4, SV_W_32BIT, SV_W_16BIT, testdata4, answer5)
SV_ELWIDTH_TESTW(flw , 6, 4, SV_W_DFLT, SV_W_16BIT, testdata6, answer5)
SV_ELWIDTH_TESTW(flw , 6, 4, SV_W_DFLT, SV_W_16BIT, testdata6, answer5)
-*/
+
RVTEST_PASS # Signal success.
fail:
RVTEST_FAIL
RVTEST_PASS # Signal success.
fail:
RVTEST_FAIL