[Libre-soc-isa] [Bug 937] instructions for bigint shift and prefix-code encode

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Oct 28 19:08:06 BST 2022


https://bugs.libre-soc.org/show_bug.cgi?id=937

--- Comment #25 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #24)
> (In reply to Jacob Lifshay from comment #23)
> > for bigint shift, (as well as other useful stuff that needs dynamic
> > shifting), we will want the equivalent of RVV's vslideup/vslidedown -- they
> > shift a vector by a variable number of whole elements (dsld/dsrd handles
> > shifts within elements).
> 
> svoffset. leave it in-place.  vslide* may be synthesised by applying
> svoffset to a mv instruction.

iirc svoffset isn't big enough. also iirc there is no easy way to set svoffset
dynamically, you have to construct the spr state manually.
> 
> alternatively using twin-predication the front (or back) of a predicate
> can be set to zeros.

that will work, but needs several additional instructions...also we'd probably
have to have the hardware special-case detect shifting masks, since fully
general twin-predication is likely to be nearly as slow as svindex.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Libre-SOC-ISA mailing list