On 12/22/23 01:07, juzhe.zh...@rivai.ai wrote:
You mean theadvector doesn't want the current RVV1.0 register overlap
magic as follows ?
*
The destination EEW is smaller than the source EEW and the overlap
is in the lowest-numbered part of the source register group (e.g.,
when LMUL=1, |vnsrl.wi v0, v0, 3| is legal, but a destination of
|v1| is not).
*
The destination EEW is greater than the source EEW, the source EMUL
is at least 1, and the overlap is in the highest-numbered part of
the destination register group (e.g., when LMUL=8, |vzext.vf4 v0,
v6| is legal, but a source of |v0|, |v2|, or |v4| is not).
If yes, I suggest disable the overlap constraint using attribute, More
details you can learn from
Yea, if there's alternatives we want to allow for xthead, but not rvv or
vice-versa, I would think the "enabled" attribute would be a reasonable
option. Essentially it allows alternatives to be available or
unavailable based on the subtarget.
It sounds like this may be necessary because of differences in how
overlap is handled across 0.7 vs 1.0.
Jeff