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

Reply via email to