[Libre-soc-dev] sv.mv x: the instruction from hell

lkcl luke.leighton at gmail.com
Wed Jun 8 17:46:53 BST 2022


On Wed, Jun 8, 2022 at 5:38 PM Jacob Lifshay <programmerjake at gmail.com> wrote:
>
> On Sun, Jun 5, 2022, 06:24 lkcl <luke.leighton at gmail.com> wrote:
>>
>>
>> https://libre-soc.org/openpower/sv/shape_table_format/
>
>
> I read through the changes, one thing we will need is for there to be a version of indexed remap where the source register is remapped, not the dest. This is because that's how dynamic swizzle works on basically every other vector architecture -- it allows duplicating elements, unlike dest register remap.

yes, that's how i designed it.  the [new] svindex instruction has a
5-bit mask which says whether the Indexing is to be applied to RA, RB,
RC, RT or RS.

therefore all that needs to be done is to set svindex mask=RT rather
than svindex mask=RA.  as a bitmask you can also do svindex mask=RT,RA
however a different mode of operation is needed if you want
*different* Index Maps to be applied to different Vectors: that
requires two separate svindex instructions, giving different Maps.

this is the full page https://libre-soc.org/openpower/sv/remap/

btw i'm putting REMAP on the "Advanced" Compliancy Level
https://libre-soc.org/openpower/sv/compliancy_levels/

l.



More information about the Libre-soc-dev mailing list