From d882132bf1cc71ce40c10e752ca378f9645304be Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Wed, 6 Dec 2023 14:55:39 +0000 Subject: [PATCH] add what-is-to-be-achieved preamble to visual steps bug #672 --- openpower/sv/cookbook/pospopcnt.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/openpower/sv/cookbook/pospopcnt.mdwn b/openpower/sv/cookbook/pospopcnt.mdwn index 2d04961d3..0bd79e478 100644 --- a/openpower/sv/cookbook/pospopcnt.mdwn +++ b/openpower/sv/cookbook/pospopcnt.mdwn @@ -77,6 +77,11 @@ bit-position, of an array of input values. Refer to Fig.2 # Visual representation of the pospopcount algorithm In order to perform positional popcount we need to go through series of steps shown below in figures 3, 4, 5 & 6. +The limitation to overcome is that the CPU can only work +on registers (horizontally) but the requirement of pospopcount +is to add *vertically*. Part of the challenge is therefore +to perform an appropriate transpose of the data, in blocks +that suit the processor and the ISA capacity.