From 5961e39304815ab586785e931bc4f0ededa61ff5 Mon Sep 17 00:00:00 2001 From: lkcl Date: Sat, 8 Feb 2020 12:57:47 +0000 Subject: [PATCH] --- 3d_gpu/architecture/dynamic_simd/shift.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/3d_gpu/architecture/dynamic_simd/shift.mdwn b/3d_gpu/architecture/dynamic_simd/shift.mdwn index bd97bcbf2..4f8153479 100644 --- a/3d_gpu/architecture/dynamic_simd/shift.mdwn +++ b/3d_gpu/architecture/dynamic_simd/shift.mdwn @@ -32,3 +32,12 @@ input and a 4-way partition: out0 = p00[7..0] out1 = pmask[0] ? p01[7..0] : p00[15..8] +# Static Partitioned Shift + +Static shift is pretty straightforward: the input is the entire number +shifted, however clearly due to partitioning some of the bits need to +be masked out (to zero, or to 1 if it is an arithmetic shift right). +This can therefore use the class currently known as "MultiShiftRMerge" +or similar, which can merge in a 1 into the shifted data. Luckily +the amount to be 0'd/1'd is also statically computable: it is just that +the location *where* is dynamic, based on the partition location(s). -- 2.30.2