(no commit message)
authorlkcl <lkcl@web>
Sat, 8 Apr 2023 09:47:16 +0000 (10:47 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 8 Apr 2023 09:47:16 +0000 (10:47 +0100)
openpower/sv/rfc/ls012.mdwn

index 25deae8bd7f8970a1bd678cabce851fb53a82aea..b467a89fbb0c295af4265198c840a06d33b68a2b 100644 (file)
@@ -106,6 +106,21 @@ for example one multiply but in-place subtracting that product from one operand
 adding it to the other.  The *in-place* aspect is strategically extremely important
 for significant reductions in Vectorised register usage, particularly for DCT.
 
+## CR Weird group
+
+Outlined in [[sv/cr_int_predication]] these instructions massively save on CR-Field
+instruction count.  Multi-bit to single-bit and vice-versa normally requiring several
+CR-ops (crand, crxor) are done in one single instruction.  The reason for their
+addition is down to SVP64 overloading CR Fields as Vector Predicate Masks.
+Reducing instruction count in hot-loops is considered high priority.
+
+An additional need is to do popcount on CR Field bit vectors but adding such instructions
+to the *Condition Register* side was deemed to be far too much. Therefore, priority
+was giiven instead to transferring several CR Field bits into GPRs, whereupon
+the full set of tandard Scalar GPR Logical Operations may be used. This strategy
+has the side-effect of keeping the CRweird group down to only five instructions.
+
+
 [[!inline pages="openpower/sv/rfc/ls012/areas.mdwn" raw=yes ]]
 
 [[!tag opf_rfc]]