[Libre-soc-dev] setvl lost its reserved fields (was: setvl gaining CTR mode)

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Jul 3 09:09:46 BST 2022

On Sun, Jul 3, 2022 at 7:11 AM Jacob Lifshay <programmerjake at gmail.com> wrote:
> On Sat, Jul 2, 2022, 12:01 Luke Kenneth Casson Leighton via Libre-soc-dev <libre-soc-dev at lists.libre-soc.org> wrote:
> > if it wasn't for bc having a CTR-dec mode this would not be worth it.
> > sv.bc has the abiltiy to decrement CTR in various ways, so it was
> > quite important to also make it possible for VL to be set based on
> > CTR.
> >
> > thoughts appreciated
> seems fine to me.
> though I just now noticed that at some point setvl lost the reserved bits

there's up to 24 bits available from adding sv.setvl.

it's a bit late in the game to be doing full redesigns of one of
the major fundamental instructions, when there are 100+ unit
tests affected and we're only weeks away from the OPF ISA WG
being ratified.

> svstep. can be setvl. 0, 0, 1, vf=1 (encoded with SVi = 0)

this is impossible, SVi is encoded off-by-one.  specification:

    Note that in immediate setting mode VL and MVL start from one
    i.e. that an immediate value of zero will result in VL/MVL being
    set to 1. 0b111111 results in VL/MVL being set to 64.
    This is because setting VL/MVL to 1 results in "scalar identity"...


More information about the Libre-soc-dev mailing list