[libre-riscv-dev] [Bug 139] Add LD.X and ST.X? Strided
bugzilla-daemon at libre-riscv.org
bugzilla-daemon at libre-riscv.org
Thu Oct 3 10:08:36 BST 2019
http://bugs.libre-riscv.org/show_bug.cgi?id=139
Jacob Lifshay <programmerjake at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |programmerjake at gmail.com
--- Comment #1 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #0)
> We have MV.X / MV.swizzle and the vector overloads on LD and ST particularly
> on the address base gives an indirect LD/ST however we are missing
> stride-multiplied, and swizzled LD/ST.
>
> Should they be added?
strided LD/ST is definitely needed for reading/writing shader inputs/outputs.
swizzled LD/ST with an immediate swizzle is likely to not be necessary since we
can just macro-op fuse a swizzle op with the memory op, but Vulkan does require
support for dynamically selected swizzled images, so we will need a dynamic
swizzle op of some sort (would be nice to not require it be only in memory ops,
macro op fusion can take care of opcode proliferation). Because a swizzle only
changes the order of subvector elements which are all nearby, we should not
fall back to gather/scatter since gather/scatter is likely to be slower.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list