From: lkcl Date: Sun, 12 Jun 2022 06:44:39 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~1838 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c719ac359d0a6249a2461a560ed7880858335e49;p=libreriscv.git --- diff --git a/openpower/sv/mv.swizzle.mdwn b/openpower/sv/mv.swizzle.mdwn index 40d0758f3..8a5305870 100644 --- a/openpower/sv/mv.swizzle.mdwn +++ b/openpower/sv/mv.swizzle.mdwn @@ -65,19 +65,17 @@ quantities as the default is lifted on `sv.mv.swiz`. |PO | RTp| RSp |imm | 0011| mv.swiz | |PO | RTp| RSp |imm | 1011| fmv.swiz | -this gives a 12 bit immediate across bits 16 to 25 and 29-30. +this gives a 12 bit immediate across bits 16 to 27. +Each swizzle mnemonic (XYZW), commonly known from 3D GPU programming, +has an associated index. 3 bits of the immediate are allocated +to each: -* 3 bits X -* 3 bits Y -* 3 bits Z -* 3 bits W - -| bits | 0.2 |3.5 |6.8|9.11| -|------|-----|----|---|----| +| imm |0.2 |3.5 |6.8|9.11| +|-------|----|----|---|----| |swizzle|X | Y | Z | W | |index |0 | 1 | 2 | 3 | -the options are: +the options for each Swizzle are: * 0b000 to indicate "skip". this is equivalent to predicate masking * 0b001 is not needed (reserved)