[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