aboutsummaryrefslogtreecommitdiff
path: root/riscv/decode.h
diff options
context:
space:
mode:
authorChih-Min Chao <chihmin.chao@sifive.com>2020-04-27 11:11:46 -0700
committerChih-Min Chao <chihmin.chao@sifive.com>2020-04-27 11:12:13 -0700
commit9cff83b2072bb1b6ad65fac4484bfd3d2deb62c6 (patch)
treecbd9adcac5467cd5a40e036e8ad34bf9b32b3dbc /riscv/decode.h
parent8f5e8712b637198bff7a58aa3bb74470417809c9 (diff)
downloadspike-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.h11
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