(no commit message)
authorlkcl <lkcl@web>
Fri, 8 Apr 2022 00:29:18 +0000 (01:29 +0100)
committerIkiWiki <ikiwiki.info>
Fri, 8 Apr 2022 00:29:18 +0000 (01:29 +0100)
openpower/sv/branches.mdwn

index 50fca0f3900ed7f0d42bcbd87cbc4315e5146b23..e7ded9b9941f927068e62b0d87290d5dc4ce3992 100644 (file)
@@ -199,7 +199,7 @@ Brief description of fields:
   if VSb is set, VL is truncated if the test succeeds.  If VSb is clear,
   VL is truncated if a test *fails*. Masked-out (skipped)
   bits are not considered
-  part of testing.
+  part of testing when `sz=0`
 * **CTi** CTR inversion. CTR-test Mode normally decrements per element
   tested. CTR inversion decrements if a test *fails*. Only relevant
   in CTR-test Mode.
@@ -575,7 +575,7 @@ Below is the pseudocode for SVP64 Branches, which is a little less
 obvious but identical to the above. The lack of obviousness is down
 to the early-exit opportunities.
 
-Pseudocode for Horizontal-First Mode:
+Effective pseudocode for Horizontal-First Mode:
 
 ```
 if (mode_is_64bit) then M <- 0
@@ -590,10 +590,10 @@ for srcstep in range(VL):
         testbit = CRbits[BI & 0b11]
         # testbit = CR[BI+32+srcstep*4]
     else if not SVRMmode.sz:
-      # inverted CTR test skip mode
-      if ¬BO[2] & CTRtest & ¬CTI then
-        CTR = CTR - 1
-      continue # skip to next element
+        # inverted CTR test skip mode
+        if ¬BO[2] & CTRtest & ¬CTI then
+          CTR = CTR - 1
+        continue # skip to next element
     else
         testbit = SVRMmode.SNZ
     # actual element test here