(no commit message)
authorlkcl <lkcl@web>
Sat, 2 Apr 2022 13:56:43 +0000 (14:56 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 2 Apr 2022 13:56:43 +0000 (14:56 +0100)
openpower/sv/branches.mdwn

index 12327582a862856180852a361e639ad66a629012..405ee167058a133ec88ce8a799317e7a91b14522 100644 (file)
@@ -491,13 +491,14 @@ in SVP64 when LRu=1).
 ```
 if (mode_is_64bit) then M <- 0
 else M <- 32
+testbit = CR[BI+32]
+if ¬predicate_bit then testbit = SVRMmode.SNZ
 ctr_ok <- BO[2] | ((CTR[M:63] != 0) ^ BO[3])
-cond_ok <- BO[0] | ¬(CR[BI+32] ^ BO[1])
+cond_ok <- BO[0] | ¬(testbit ^ BO[1])
 if ¬predicate_bit & ¬SVRMmode.sz then
-  if ¬BO[2] & CTRtest & ¬CTI then
+  if ¬BO[2] & CTRtest & ¬CTi then
     CTR = CTR - 1
   stop # instruction finishes here
-if ¬predicate_bit then cond_ok = ctr_ok = SVRMmode.SNZ
 if ¬BO[2] & ¬(CTRtest & (cond_ok ^ CTi)) then CTR <- CTR - 1
 lr_ok <- SVRMmode.LRu
 if ctr_ok & cond_ok then