[Libre-soc-isa] [Bug 535] setvl/setvli encoding & future reg file expansion
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Tue Dec 1 19:23:18 GMT 2020
https://bugs.libre-soc.org/show_bug.cgi?id=535
--- Comment #12 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #11)
> > > For setvli, since the value VL is set to is a constant, having a destination
> > > register is much less important.
> your talking about setvl, not setvli. setvli sets both VL and MVL to a known
> constant for use with fixed-length vectors, no need to loop.
ohh yepyep got it.
ok, i know what happened. the instruction as designed (and pseudocode) is a
hybrid all-in-one, where setvli effectively becomes a pseudo-op not a real op.
so i misunderstood, with setvl being synonymous with setvli.
my feeling is, it's not worth having separate setvl and setvli instructions,
such that setvli not having a dest reg is moot.
in *compressed*, do we want a separate setvli? mmm... maayyybeee... although i
don't think there's space.
(In reply to Jacob Lifshay from comment #11)
> > > We can even include setting CR0 (if Rc = 1) to allow jumps on VL == 0
> > > immediately after setvl.
> >
> > awesome, isn't it? :) i love CRs. see comment #4 i put Rc support in. i
> > mean, it's part of XO-form so why not.
>
> yup, that's what I was referencing.
ok,ok, this is hilarious: if we allow setvl to be an SV-P48 prefixable
instruction, it *might* be possible (stress: might) to get CR0 retargetted at
an alternative CR.
one downside of Rc=1 is you can't doecify an alternative CR, end result you
have to move it to another CR then the bc can use that alternative target.
but... if SV-P48 can set the alternative to CR0 the extra instruction is saved.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list