[Libre-soc-dev] WASM flexible-vectors & SimpleV

Jacob Lifshay programmerjake at gmail.com
Fri Apr 9 10:52:40 BST 2021


On Fri, Apr 9, 2021, 02:43 Luke Kenneth Casson Leighton <lkcl at lkcl.net>
wrote:

> On Fri, Apr 9, 2021 at 10:29 AM Jacob Lifshay <programmerjake at gmail.com>
> wrote:
>
> > umm, that's actually not quite right...in RVV there is a runtime constant
> > value MVL
>

by runtime I meant not-known-at-compile-time (unless your using a JIT
compiler), since a binary should not need to be recompiled to run on a
different RISC-V V implementation.

>
> MVL as i understand it is a hard-coded (architectural) constant that
> cannot in any way be changed.  you can *read* it but you certainly
> cannot set it. that's what i understood the spec to state.
>

Yup!

>
> > where if you request a VL <= MVL you will *always* get exactly
> > what you requested
>
> the last time i checked...
>
> > On RVV you might get less than MVL *only* if your requested VL is more
> than
> > MVL (that's for balancing purposes, to ensure you don't have 1 loop with
> > only a few elements and/or for other microarchitectural optimizations).
>
> oh god they didn't.
>
>
> https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc#constraints-on-setting-vl
>
> urrr....
>

:)

I think the VL-choosing constraints they picked for setvl are good enough.

Jacob


More information about the Libre-soc-dev mailing list