On Tue, Jan 12, 2021 at 1:57 AM <frank.ch...@sifive.com> wrote: > > From: Frank Chang <frank.ch...@sifive.com> > > Replace ETYPE from signed int to unsigned int to prevent index overflow > issue, which would lead to wrong index address. > > Signed-off-by: Frank Chang <frank.ch...@sifive.com> > Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > target/riscv/vector_helper.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c > index 368259f75a0..9349a36b41b 100644 > --- a/target/riscv/vector_helper.c > +++ b/target/riscv/vector_helper.c > @@ -361,10 +361,10 @@ static target_ulong NAME(target_ulong base, \ > return (base + *((ETYPE *)vs2 + H(idx))); \ > } > > -GEN_VEXT_GET_INDEX_ADDR(idx_b, int8_t, H1) > -GEN_VEXT_GET_INDEX_ADDR(idx_h, int16_t, H2) > -GEN_VEXT_GET_INDEX_ADDR(idx_w, int32_t, H4) > -GEN_VEXT_GET_INDEX_ADDR(idx_d, int64_t, H8) > +GEN_VEXT_GET_INDEX_ADDR(idx_b, uint8_t, H1) > +GEN_VEXT_GET_INDEX_ADDR(idx_h, uint16_t, H2) > +GEN_VEXT_GET_INDEX_ADDR(idx_w, uint32_t, H4) > +GEN_VEXT_GET_INDEX_ADDR(idx_d, uint64_t, H8) > > static inline void > vext_ldst_index(void *vd, void *v0, target_ulong base, > -- > 2.17.1 > >