On 2020/2/28 13:46, Richard Henderson wrote:
On 2/25/20 6:43 PM, LIU Zhiwei wrote:
Signed-off-by: LIU Zhiwei <zhiwei_liu@xxxxxxxxx>
---
target/riscv/helper.h | 395 +++++++
target/riscv/insn32.decode | 127 +++
target/riscv/insn_trans/trans_rvv.inc.c | 671 +++++++++++-
target/riscv/vector_helper.c | 1308 ++++++++++++++++++++++-
4 files changed, 2462 insertions(+), 39 deletions(-)
This patch is too large and needs splitting.
OK.
-static bool vext_check_overlap_mask(DisasContext *s, uint32_t vd, bool vm)
+static bool vext_check_overlap_mask(DisasContext *s, uint32_t vd, bool vm,
+ bool widen)
{
- return !(s->lmul > 1 && vm == 0 && vd == 0);
+ return (vm != 0 || vd != 0) ? true : (!widen && (s->lmul == 0));
}
Best to move the addition of widen back to the patch that introduced this function.
The "? true :" is a funny way to write ||.
Oh yes. I did not notice it.
r~