target/riscv: rvv: Add tail agnostic for vector load / store instructions
authoreopXD <yueh.ting.chen@gmail.com>
Mon, 6 Jun 2022 06:16:16 +0000 (06:16 +0000)
committerAlistair Francis <alistair.francis@wdc.com>
Thu, 9 Jun 2022 23:31:42 +0000 (09:31 +1000)
commit752614cab8e61bb6ba96cee1ec127eba6c35398e
tree486e8ed3a02e0272a7da9be35d07d5b48761e985
parentf1eed927fb3a1212af8e324cf242cf6f4bd6fd04
target/riscv: rvv: Add tail agnostic for vector load / store instructions

Destination register of unit-stride mask load and store instructions are
always written with a tail-agnostic policy.

A vector segment load / store instruction may contain fractional lmul
with nf * lmul > 1. The rest of the elements in the last register should
be treated as tail elements.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-6@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/insn_trans/trans_rvv.c.inc
target/riscv/translate.c
target/riscv/vector_helper.c