From: Luke Kenneth Casson Leighton Date: Fri, 28 Oct 2022 22:09:22 +0000 (+0100) Subject: dsld: MASK(0, 63-n) works just as well as MASK(64, 63-n). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5adf8a5e42a03012a568484c2565951648e0415f;p=openpower-isa.git dsld: MASK(0, 63-n) works just as well as MASK(64, 63-n). also fix "overflow" pseudocode --- diff --git a/openpower/isa/svfixedarith.mdwn b/openpower/isa/svfixedarith.mdwn index 6d82b896..4c624a3a 100644 --- a/openpower/isa/svfixedarith.mdwn +++ b/openpower/isa/svfixedarith.mdwn @@ -57,12 +57,12 @@ Pseudo-code: n <- (RB)[58:63] v <- ROTL64((RA), n) - mask <- MASK(64, 63-n) + mask <- MASK(0, 63-n) RT <- (v[0:63] & mask) | ((RC) & ¬mask) RS <- v[0:63] & ¬mask - overflow = 0 - if RS != [0]*64: - overflow = 1 + overflow <- 0 + if RS != [0]*64 then + overflow <- 1 Special Registers Altered: @@ -82,9 +82,9 @@ Pseudo-code: mask <- MASK(n, 63) RT <- (v[0:63] & mask) | ((RC) & ¬mask) RS <- v[0:63] & ¬mask - overflow = 0 - if RS != [0]*64: - overflow = 1 + overflow <- 0 + if RS != [0]*64 then + overflow <- 1 Special Registers Altered: