(no commit message)
authorlkcl <lkcl@web>
Sat, 4 Jun 2022 17:50:06 +0000 (18:50 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 4 Jun 2022 17:50:06 +0000 (18:50 +0100)
openpower/sv/shape_table_format.mdwn

index 9def0fc8a41195372c78b2a0900324123f1068e5..364dcb5ed357549da468b393139756f4ee9d7185 100644 (file)
@@ -5,7 +5,7 @@ disabled: the register's elements are a linear (1D) vector.
 | ------ | ------ | ------ | ------ | ------- | ------- | ------- | ------- |
 | 0b00   | skip   | offset | invxyz | permute | zdimsz  | ydimsz  | xdimsz  |
 | 0b01   | submode| offset | invxyz | submode2| rsvd    | rsvd    | xdimsz  |
-| 0b00   | elwidth| offset | invxyz |0b110/0b111| SVGPR | ydimsz  | xdimsz  |
+| 0b00   | elwidth| offset |skip/invxy|0b110/0b111|SVGPR| ydimsz  | xdimsz  |
 
 mode sets different behaviours (straight matrix multiply, FFT, DCT).
 
@@ -106,13 +106,17 @@ described below*
 ## Indexed Mode
 
 Indexed Mode activates reading of the element indices from the GPR.
-In its simplest form (without elwidth overrides):
+In its simplest form (without elwidth overrides or other modes):
 
 ```
 def index_remap(i):
-    return GPR(SVSHAPE.SVGPR+i)
+    return GPR((SVSHAPE.SVGPR<<1)+i)
 
 for i in 0..VL-1:
     GPR(RT + indexed_remap(i) + SVSHAPE.offset) = ....
 ```
 
+Matrix-style reordering still applies to the indices, except limited
+to up to 2 Dimensions (X,Y). Ordering is therefore limited to (X,Y) or
+(Y,X). Only one dimension may optionally be skipped. Inversion of either
+X or Y or both is possible.