[Libre-soc-isa] [Bug 213] SimpleV Standard writeup needed

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Nov 18 16:54:53 GMT 2020


--- Comment #100 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to cand from comment #99)
> If you mean 24 > 16, 

yes, because src1, src2, dest requires 3x8 which is greater than 16.
however... you just highlighted something important below...

> then the example was confusing - if you meant to
> illustrate dst can't have a swizzle in a 3-component instr, then it
> shouldn't have had one.

yes, agreed.

> However that is a very common pattern in shaders. "foo = bar.xxyy +
> baz.zzzz" - the dst vec very often has no swizzle.


> This would need
> measuring, perhaps using the shaderdb from mesa, but my gut feeling is that
> the extra move for when dest swizzle is needed would not be needed often. A
> more compact encoding may be worth it.

and if the compiler can track the positions of x y z and w as they swap
"lanes" - across vec4[0/1/2/3] - then you can pre-arrange them all so that they
*end up* in the right (final) destination positions, with that being (by
convention, for convenience, always 0/1/2/3.

this is probably why there is no swizzle, ever, on dest.

good catch, lauri.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the Libre-SOC-ISA mailing list