From: lkcl Date: Sat, 2 Apr 2022 13:00:56 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~2921 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=226bf31628a6fcad19f35ee6ff12658b5031eed4;p=libreriscv.git --- diff --git a/openpower/sv/branches.mdwn b/openpower/sv/branches.mdwn index e340c9cb2..12327582a 100644 --- a/openpower/sv/branches.mdwn +++ b/openpower/sv/branches.mdwn @@ -493,12 +493,12 @@ if (mode_is_64bit) then M <- 0 else M <- 32 ctr_ok <- BO[2] | ((CTR[M:63] != 0) ^ BO[3]) cond_ok <- BO[0] | ¬(CR[BI+32] ^ BO[1]) -if ¬predicate_bit then cond_ok = ctr_ok = SVRMmode.SNZ -if ¬predicate_bit & ¬SVRMmode.sz & ¬BO[2] & CTRtest & ¬CTI then - CTR = CTR - 1 +if ¬predicate_bit & ¬SVRMmode.sz then + if ¬BO[2] & CTRtest & ¬CTI then + CTR = CTR - 1 stop # instruction finishes here -ctrdec = ¬BO[2] & ¬(CTRtest & (cond_ok ^ CTi)) -if ctrdec then CTR <- CTR - 1 +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 if AA then NIA <-iea EXTS(BD || 0b00) @@ -529,7 +529,7 @@ for srcstep in range(VL): # inverted CTR test skip mode if ¬BO[2] & CTRtest & ¬CTI then CTR = CTR - 1 - continue # skip to next element + continue # skip to next element else testbit = SVRMmode.SNZ # actual element test here