[Libre-soc-bugs] [Bug 713] PartitionedSignal enhancement to add partition-context-aware lengths

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Oct 14 11:42:58 BST 2021


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

--- Comment #112 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Jacob Lifshay from comment #111)
> (In reply to Luke Kenneth Casson Leighton from comment #109)
> > (In reply to Jacob Lifshay from comment #108)
> >   but when added in "fixed" mode it should add five to the
> >   *whole* length then recompute the Vector Lane widths
> >   using the partition counts.  obviously here if the
> >   programmer fails to take into account the partition
> >   allocation some of the computed Vector Element widths
> >   will not fit (XLEN=64 +3 will be 67 which is not
> >   divisible by 8) but that is their problem to sort out
> 
> I'd argue strongly that we should specifically not do that, what we should
> do instead is mirror how XLEN works in the OpenPower spec pseudo-code, where
> XLEN + 5 means that each per-vector-element instance ends up with types 5
> bits wider, so:
> 
> elwid=8: XLEN + 5 -> element width of 8 + 5 == 13
> elwid=16: XLEN + 5 -> element width of 16 + 5 == 21
> elwid=32: XLEN + 5 -> element width of 32 + 5 == 37
> elwid=64: XLEN + 5 -> element width of 64 + 5 == 69
> 
> The above is the semantics I explicitly rely on in the pseudo-code for
> addg6s (where it creates values with a width of XLEN + 4, because it needs 4
> extra bits to prevent the logic from overflowing), we should not make
> SimdSignal's XLEN behave differently just because you like doing arithmetic
> on the full SIMD width.

After thinking a bit, the actual issue is that element-widths are the thing
arithmetic needs to happen on -- you can come up with whatever algorithm you
like for deciding what full simd width to use, as long as the element widths
take priority.

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


More information about the libre-soc-bugs mailing list