diff options
author | Chih-Min Chao <chihmin.chao@sifive.com> | 2020-04-27 11:11:46 -0700 |
---|---|---|
committer | Chih-Min Chao <chihmin.chao@sifive.com> | 2020-04-27 11:12:13 -0700 |
commit | 9cff83b2072bb1b6ad65fac4484bfd3d2deb62c6 (patch) | |
tree | cbd9adcac5467cd5a40e036e8ad34bf9b32b3dbc /riscv/decode.h | |
parent | 8f5e8712b637198bff7a58aa3bb74470417809c9 (diff) | |
download | spike-9cff83b2072bb1b6ad65fac4484bfd3d2deb62c6.zip spike-9cff83b2072bb1b6ad65fac4484bfd3d2deb62c6.tar.gz spike-9cff83b2072bb1b6ad65fac4484bfd3d2deb62c6.tar.bz2 |
rvv: commitlog: fix comparision dst information
Comparison only writes one vector register
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
Diffstat (limited to 'riscv/decode.h')
-rw-r--r-- | riscv/decode.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/riscv/decode.h b/riscv/decode.h index 91ce537..bf0d143 100644 --- a/riscv/decode.h +++ b/riscv/decode.h @@ -668,6 +668,9 @@ static inline bool is_overlapped(const int astart, const int asize, type_usew_t<x>::type rs1 = (type_usew_t<x>::type)RS1; \ type_usew_t<x>::type vs2 = P.VU.elt<type_usew_t<x>::type>(rs2_num, i); +#define VI_UCMP_PARAMS(x) \ + type_usew_t<x>::type vs2 = P.VU.elt<type_usew_t<x>::type>(rs2_num, i); + #define VV_CMP_PARAMS(x) \ type_sew_t<x>::type vs1 = P.VU.elt<type_sew_t<x>::type>(rs1_num, i); \ type_sew_t<x>::type vs2 = P.VU.elt<type_sew_t<x>::type>(rs2_num, i); @@ -827,16 +830,16 @@ static inline bool is_overlapped(const int astart, const int asize, VI_CHECK_MSS(false); \ VI_LOOP_CMP_BASE \ if (sew == e8){ \ - VI_U_PARAMS(e8); \ + VI_UCMP_PARAMS(e8); \ BODY; \ }else if(sew == e16){ \ - VI_U_PARAMS(e16); \ + VI_UCMP_PARAMS(e16); \ BODY; \ }else if(sew == e32){ \ - VI_U_PARAMS(e32); \ + VI_UCMP_PARAMS(e32); \ BODY; \ }else if(sew == e64){ \ - VI_U_PARAMS(e64); \ + VI_UCMP_PARAMS(e64); \ BODY; \ } \ VI_LOOP_CMP_END |