[Libre-soc-isa] [Bug 572] elwidth and indirection: two vectors, one width
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Thu Jan 7 17:02:44 GMT 2021
https://bugs.libre-soc.org/show_bug.cgi?id=572
--- Comment #2 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Alexandre Oliva from comment #1)
> I've just realized that the phrase "two vectors" in the subject may be both
> inaccurate and misleading.
>
> so, to try to be abundantly clear, I'm mainly talking about the (potential)
> vector of addresses, and the (potential) vector of objects it/they refer to,
> NOT about the vector register that will hold the loaded values.
you are therefore probably talking about indexed mode.
i removed indexed mode when illustrating the pseudocode for you because you
asked about what is termed "unit stride" mode.
> also, I am mostly sure that in the end only one of the (potential) vectors
> ends up being an actual vector, though subvl>1 might actually turn out to
> make both of them actual vectors.
remember SUBVL is effectively simply a multiplier (num actual elements
VL*SUBVL) and that SV is never actually switched off: scalars are just "when
SUBVL=1 and VL=1"
> it also occurs to me now to wonder now whether there is a any case (or way
> to express) that both are scalars, as in, load this single value from
> memory, and then place it in all elements of the destination vector.
yyyepp. that's standard twin predication VSPLAT behaviour on top of a LDST
"thing".
although i think i see where you're going with this: i will have to check.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list