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.
i now need to strip out Pack/Unpack from the normal, ldst and crops pages.
it is progress of a sorts.
More information about the Libre-soc-dev