(no commit message)
[libreriscv.git] / simple_v_extension / shape_table_format.mdwn
index 46afddb95b631d37ee77c5732da989f7dcbe7eca..557ee252328b5a385d422532365bc17e1b546234 100644 (file)
@@ -1,15 +1,21 @@
-Shape is 32-bits When SHAPE is set entirely to zeros, remapping is
+Shape is 32-bits When SHAPE is set entirely to zeros, remapping is
 disabled: the register's elements are a linear (1D) vector.
 
 | 31..30   | 29..24 | 23..21  | 20..18  | 17..12  | 11..6   | 5..0    |
 | -------- | ------ | ------- | ------- | ------- | -------- | ------- |
-| applydim |modulo | invxyz | permute | zdimsz  | ydimsz  | xdimsz  |
+| applydim | offset | invxyz  | permute | zdimsz  | ydimsz  | xdimsz  |
 
-applydim will set to zero the dimensions less than this. applydim=0 applies all three. applydim=1 applies y and z. applydim=2 applys only z. applydim=3 is reserved.
+applydim will set to zero the dimensions less than this. applydim=0
+applies all three. applydim=1 applies y and z. applydim=2 applys only
+z. applydim=3 is reserved.
 
-invxyz will invert the start index of each of x, y or z. If invxyz[0] is zero then x-dimensional counting begins from 0 and increments, otherwise it begins from xdimsz-1 and iterates down to zero. Likewise for y and z.
+invxyz will invert the start index of each of x, y or z. If invxyz[0] is
+zero then x-dimensional counting begins from 0 and increments, otherwise
+it begins from xdimsz-1 and iterates down to zero. Likewise for y and z.
 
-modulo will cause the output to wrap and remain within the range 0 to modulo. The value zero disables modulus application. Note that modulo arithmetic is applied after all other remapping calculations.
+offset will have the effect equivalent to the sequential element loop
+to appear to run for offset (additional) iterations prior to actually
+generating output.
 
 xdimsz, ydimsz and zdimsz are offset by 1, such that a value of 0 indicates
 that the array dimensionality for that dimension is 1.  A value of xdimsz=2