aco: Add note about v_alignbyte in the ISA README.
We tried to use this instruction for a more optimal sequence, but it turned out that it doesn't exactly work as it was supposed to. This note is to help others who want to use it. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Tony Wasserka <tony.wasserka@gmx.de> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11072>
This commit is contained in:
parent
fe625241f7
commit
228169c87c
|
@ -44,6 +44,18 @@ is written in the GCN3 reference guide:
|
|||
D.u = CountOneBits(S0.u) + S1.u.
|
||||
```
|
||||
|
||||
## `v_alignbyte_b32`
|
||||
|
||||
All versions of the ISA document are vague about it, but after some trial and
|
||||
error we discovered that only 2 bits of the 3rd operand are used.
|
||||
Therefore, this instruction can't shift more than 24 bits.
|
||||
|
||||
The correct description of `v_alignbyte_b32` is probably the following:
|
||||
|
||||
```
|
||||
D.u = ({S0, S1} >> (8 * S2.u[1:0])) & 0xffffffff
|
||||
```
|
||||
|
||||
## SMEM stores
|
||||
|
||||
The Vega ISA references doesn't say this (or doesn't make it clear), but
|
||||
|
|
Loading…
Reference in New Issue