[libre-riscv-dev] [isa-dev] 3D Matrix-style operations / primitives
lkcl
luke.leighton at gmail.com
Wed Sep 18 08:20:50 BST 2019
On Wednesday, September 18, 2019 at 8:00:56 AM UTC+1, lkcl wrote:
> No I don't think it does. The assumption is that the element indices are
> always XLEN wide and it is the data to which elwidth applies in the src.
>
> Have to fix that by adding a fmt field to MV.X let me just update the page]
>
The idea here is to allow 8-bit indices to be stored inside XLEN-sized
registers, such that rather than doing this:
.. parsed-literal::
ldimm x8, 1
ldimm x9, 3
ldimm x10, 2
ldimm x11, 0
{SVP.VL=4} MV.X x3, x8, elwidth=default
The alternative is this:
.. parsed-literal::
ldimm x8, 0x00020301
{SVP.VL=4} MV.X x3, x8, elwidth=8
Thus compacting four indices into the one register. x3 and x8's element
width are *independent* of the MV.X elwidth, thus allowing both source
and element element widths of the *elements* to be moved to be over-ridden,
whilst *at the same time* allowing the *indices* to be compacted, as well.
what do you think?
l.
More information about the libre-riscv-dev
mailing list