From: Luke Kenneth Casson Leighton Date: Fri, 24 Jun 2022 14:51:02 +0000 (+0100) Subject: invert mode-bits in bmask bm field X-Git-Tag: sv_maxu_works-initial~346 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=22a631b2a0bd17e87e72c9bd94b7d4dfe25e747c;p=openpower-isa.git invert mode-bits in bmask bm field --- diff --git a/openpower/isa/av.mdwn b/openpower/isa/av.mdwn index 862c26ec..e0b2fb6b 100644 --- a/openpower/isa/av.mdwn +++ b/openpower/isa/av.mdwn @@ -180,9 +180,10 @@ Pseudo-code: if _RB = 0 then mask <- [1] * XLEN else mask <- (RB) - a1 <- (RA) & mask - if bm[0] then a1 <- ¬ra - mode2 <- bm[1:2] + ra <- (RA) & mask + a1 <- ra + if bm[4] = 0 then a1 <- ¬ra + mode2 <- bm[2:3] if mode2 = 0 then a2 <- (¬ra)+1 if mode2 = 1 then a2 <- ra-1 if mode2 = 2 then a2 <- ra+1 @@ -190,7 +191,7 @@ Pseudo-code: a1 <- a1 & mask a2 <- a2 & mask # select operator - mode3 <- bm[3:4] + mode3 <- bm[0:1] if mode3 = 0 then result <- a1 | a2 if mode3 = 1 then result <- a1 & a2 if mode3 = 2 then result <- a1 ^ a2