(no commit message)
authorlkcl <lkcl@web>
Fri, 7 Feb 2020 16:41:11 +0000 (16:41 +0000)
committerIkiWiki <ikiwiki.info>
Fri, 7 Feb 2020 16:41:11 +0000 (16:41 +0000)
3d_gpu/architecture/dynamic_simd/shift.mdwn [new file with mode: 0644]

diff --git a/3d_gpu/architecture/dynamic_simd/shift.mdwn b/3d_gpu/architecture/dynamic_simd/shift.mdwn
new file mode 100644 (file)
index 0000000..83ca7d3
--- /dev/null
@@ -0,0 +1,12 @@
+# Dynamic Partitioned Shift
+
+This is almost as complex as multiplication, except there is a trick that can be deployed.  In the partitioned multiplier, it is necessary to compute a full NxN matrix of partial multiplication results, then perform a cascade of adds, using PartitionedAdd to "automatically" break them down into segments.
+
+Partitioned Shifting will also require to have an NxN matrix, however it is slightly different.  first, define the following:
+
+    a0 = a[7..0], a1 = a[15..8], ....
+    b0 = b[7..0], b1 = b[15..8], ....
+
+then, we compute the following matrix:
+
+    a0 << b0    a1 << b0    a2 << b0   a3 << b0