(no commit message)
authorlkcl <lkcl@web>
Sat, 2 Apr 2022 00:44:03 +0000 (01:44 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 2 Apr 2022 00:44:03 +0000 (01:44 +0100)
openpower/sv/cr_int_predication.mdwn

index e51f2c6ad4f369e6f0436814aa23f4962d653f8f..fd9a580d19bd109faec8b01a44d45530fc5282a7 100644 (file)
@@ -14,7 +14,7 @@ See:
 
 Rationale:
 
-Condition Registers are conceptually perfect for use as predicate masks, the only problem being that typical Vector ISAs have quite comprehensive mask-based instructions: set-before-first, popcount and much more.  In fact many Vector ISAs can use Vectors *as* masks, consequently the entire Vector ISA is available for use in creating masks.  This is not practical for SV given the strategy of leveraging Scalar instructions in a minimalist way.
+Condition Registers are conceptually perfect for use as predicate masks, the only problem being that typical Vector ISAs have quite comprehensive mask-based instructions: set-before-first, popcount and much more.  In fact many Vector ISAs can use Vectors *as* masks, consequently the entire Vector ISA is available for use in creating masks.  This is not practical for SV given the strategy of leveraging pre-existing Scalar instructions in a minimalist way.
 
 With the scalar OpenPOWER v3.0B ISA having already popcnt, cntlz and others normally seen in Vector Mask operations it makes sense to allow *both* scalar integers *and* CR-Vectors to be predicate masks.  That in turn means that much more comprehensive interaction between CRs and scalar Integers is required, because with the CR Predication Modes designating CR *Fields*
 (not CR bits) as Predicate Elements, fast transfers between CR *Fields* and