[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
> 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