add extra partition states for PartitionedSignal assign
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 25 Sep 2021 13:14:16 +0000 (14:14 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 25 Sep 2021 13:14:16 +0000 (14:14 +0100)
3d_gpu/architecture/dynamic_simd/assign.mdwn

index cb41c6f5b7fe34708b08208d74af9337249cbecf..bec2ebdd9587b2af320d5489830158b9fad4cffc 100644 (file)
@@ -32,10 +32,17 @@ then it matters what the partition settings are:
 | 000       | [A7A7A7A7] | [A7A7A7A7] | A7A6A5A4   | A3A2A1A0   |
 | 001       | [A7A7A7A7] | [A7A7]A7A6 | A5A4A3A2   | [A1A1]A1A0 |
 | 010       | [A7A7A7A7] | A7A6A5A4   | [A3A3A3A3] | A3A2A1A0   |
+| 011       | [A7A7A7A7] | A7A6A5A4   | [A3A3]A3A2 | [A1A1]A1A0 |
+| 100       | [A7A7]A7A6 | [A5A5A5A5] | [A5A5]A5A4 | A3A2A1A0   |
+| 101       | [A7A7]A7A6 | [A5A5A5A5] | A5A4A3A2   | [A1A1]A1A0 |
+| 110       | [A7A7]A7A6 | [A5A5]A5A4 | [A3A3A3A3] | A3A2A1A0   |
 | 111       | [A7A7]A7A6 | [A5A5]A5A4 | [A3A3]A3A2 | [A1A1]A1A0 |
 
 where square brackets are zero if A is unsigned, and contains
-the specified bits if signed.
+the specified bits if signed.  Here, each partition copies the
+smaller value (A) into the larger partition (B) then, depending
+on whether A is signed or unsigned, sign-extends or zero-extends
+*on a per-partition basis*.
 
 When the source A is scalar and is equal or larger than
 the destination it requires copying across multiple