From: Dmitry Selyutin <dmitry.selyutin@3mdeb.com> Date: Sun, 29 Aug 2021 19:34:42 +0000 (+0000) Subject: fixedarith: switch divweuX to XLEN X-Git-Tag: xlen-bcd~51 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fbe6c11c5df21e7fafda7bec2b45f6d9fc355a14;p=openpower-isa.git fixedarith: switch divweuX to XLEN --- diff --git a/openpower/isa/fixedarith.mdwn b/openpower/isa/fixedarith.mdwn index b9501093..365809f3 100644 --- a/openpower/isa/fixedarith.mdwn +++ b/openpower/isa/fixedarith.mdwn @@ -476,20 +476,20 @@ XO-Form Pseudo-code: - dividend[0:63] <- (RA)[32:63] || [0]*32 - divisor[0:63] <- [0]*32 || (RB)[32:63] - if (divisor = [0]*64) then + dividend[0:XLEN-1] <- (RA)[XLEN/2:XLEN-1] || [0]*(XLEN/2) + divisor[0:XLEN-1] <- [0]*(XLEN/2) || (RB)[XLEN/2:XLEN-1] + if (divisor = [0]*XLEN) then overflow <- 1 else result <- dividend / divisor - if RA[32:63] <u RB[32:63] then - RT[32:63] <- result[32:63] - RT[0:31] <- undefined([0]*32) + if RA[XLEN/2:XLEN-1] <u RB[XLEN/2:XLEN-1] then + RT[XLEN/2:XLEN-1] <- result[XLEN/2:XLEN-1] + RT[0:(XLEN/2)-1] <- undefined([0]*(XLEN/2)) overflow <- 0 else overflow <- 1 if overflow = 1 then - RT[0:63] <- undefined([0]*64) + RT[0:XLEN-1] <- undefined([0]*XLEN) Special Registers Altered: