On Wed, Aug 28, 2024 at 3:21 PM Robin Dapp <rdapp....@gmail.com> wrote:
>
> > Hmm - but how can you call this ambiguous?  VLEN and LMUL is a runtime
> > property(?), so unknown to the compiler(?) - as you do below the only
> > way to code generate would be a agnostic way such as with a slide-down.
> > But can't you always to this, for all subregs of this sort (even with 
> > offset)?
>
> LMUL (register group size) is a compile-time constant while VLEN is not.

Hmm, but LMUL is not reflected in the assembly?  Or at least it doesn't
affect register allocation?

> Once we have VLS modes that span more than the minimum runtime size of
> a vector it's ambiguous whether the mode occupies two minimum-size vectors
> or one dynamically larger one.

But V4DF with LMUL == 2 has to always span two registers?  Or is the HW
free to use a single VLA register for it?  What's the use of LMUL then?

> Did you mean the agnostic way should just be the default expansion for
> each such subreg?

Yes, as far as I can see LMUL becomes part of the unknown VLEN,
so you have to operate on VLS modes like on VLA modes iff LMUL != 1

Richard.


>
> Regards
>  Robin

Reply via email to