fixedshift: switch srwX to XLEN
authorDmitry Selyutin <dmitry.selyutin@3mdeb.com>
Tue, 31 Aug 2021 20:25:04 +0000 (20:25 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 1 Sep 2021 19:18:57 +0000 (20:18 +0100)
openpower/isa/fixedshift.mdwn

index ab94e9a4e8ad1a4a2d42bfc3355a933ad484e295..456962359ea71ed8090f386ac2c7c2d267fb39a5 100644 (file)
@@ -210,11 +210,11 @@ X-Form
 
 Pseudo-code:
 
-    n <- (RB)[59:63]
-    r <- ROTL32((RS)[32:63], 64-n)
-    if (RB)[58] = 0 then
-        m <- MASK32(n, 31)
-    else m <- [0]*64
+    n <- (RB)[XLEN-5:XLEN-1]
+    r <- ROTL32((RS)[XLEN/2:XLEN-1], XLEN-n)
+    if (RB)[XLEN-6] = 0 then
+        m <- MASK32(n, ((XLEN/2)-1))
+    else m <- [0]*XLEN
     RA <- r & m
 
 Special Registers Altered: