[libre-riscv-dev] [Bug 139] Add LD.X and ST.X? Strided

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Sun Oct 6 04:42:02 BST 2019


--- Comment #34 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #33)
> > Ignore, identity, 0, 1, x y z w
> So identity I think is a red herring, it is a "lazy" way of leaving out the
> swizzle specifier, ie by the time it gets to an actual opcode, "identity"
> has to have been removed and replaced with x->x or y->y etc.
> Does that sound about right?


I do think we shouldn't have ignore, because that increases the number of
registers that need to be read for both swizzle and swizzle2 (need to read dest
reg to combine values except in special circumstances) and swizzle2 (2 source
swizzle, not swizzle with destsubvl=2) provides the functionality we need.

additionally, the extra encoding space is needed to allow producing all of 0,
1, int_max (1.0 for snorm), and uint_max (1.0 for unorm) for signed/unsigned
integers and signed/unsigned normalized integers (basically fixed-point with
all non-sign bits after the radix point).

note that normalized integers are required by the Vulkan spec.

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

More information about the libre-riscv-dev mailing list