[Libre-soc-dev] pack/unpack

lkcl luke.leighton at gmail.com
Thu Sep 8 03:53:47 BST 2022


finally only just now i appear to have worked out what has been
bothering me about Pack/Unpack.

bear in mind that its implementation is simply to invert the order
of inner and outer loops (VL, SUBVL) swaps to (SUBVL, VL)
which with a little thought shows that this is a 2D transpose.

also bear in mind that Vertical-First Mode has the "svstep"
instruction to control what the next iteration round loops is
*amd that includes pack/unpack*

so if P/U is a "Mode" in the SVP64 RM bits, how the hell does
svstep know what to do in VF Mode?

answer: it doesn't.

two things are therefore required:

1) Pack/Unpack needs to be in SVSTATE
2) an sv.setvl is needed to set the bits because setvl is
     out of space.

argh.

completely nuts.

i now need to strip out Pack/Unpack from the normal, ldst and crops pages.

it is progress of a sorts.

l.


More information about the Libre-soc-dev mailing list