bug #1183: attempt first ddffirst mapreduce mode
[openpower-isa.git] / openpower / isa / fixedshift.mdwn
index 3bf0c301c7266854bb860f9e50ee9e3d3df130f8..db59a6fa85bb2fea7f1892ab5af44678db6ca031 100644 (file)
@@ -38,7 +38,7 @@ M-Form
 Pseudo-code:
 
     n <- (RB)[XLEN-5:XLEN-1]
-    r <- ROTL32((RS)[32:63], n)
+    r <- ROTL32((RS)[XLEN/2:XLEN-1], n)
     m <- MASK32(MB, ME)
     RA <- r & m
 
@@ -68,8 +68,8 @@ Special Registers Altered:
 
 MD-Form
 
-* rldicl RA,RS,SH,MB (Rc=0)
-* rldicl.  RA,RS,SH,MB (Rc=1)
+* rldicl RA,RS,sh,mb (Rc=0)
+* rldicl.  RA,RS,sh,mb (Rc=1)
 
 Pseudo-code:
 
@@ -87,8 +87,8 @@ Special Registers Altered:
 
 MD-Form
 
-* rldicr RA,RS,SH,ME (Rc=0)
-* rldicr.  RA,RS,SH,ME (Rc=1)
+* rldicr RA,RS,sh,me (Rc=0)
+* rldicr.  RA,RS,sh,me (Rc=1)
 
 Pseudo-code:
 
@@ -106,8 +106,8 @@ Special Registers Altered:
 
 MD-Form
 
-* rldic RA,RS,SH,MB (Rc=0)
-* rldic.  RA,RS,SH,MB (Rc=1)
+* rldic RA,RS,sh,mb (Rc=0)
+* rldic.  RA,RS,sh,mb (Rc=1)
 
 Pseudo-code:
 
@@ -125,8 +125,8 @@ Special Registers Altered:
 
 MDS-Form
 
-* rldcl RA,RS,RB,MB (Rc=0)
-* rldcl.  RA,RS,RB,MB (Rc=1)
+* rldcl RA,RS,RB,mb (Rc=0)
+* rldcl.  RA,RS,RB,mb (Rc=1)
 
 Pseudo-code:
 
@@ -144,8 +144,8 @@ Special Registers Altered:
 
 MDS-Form
 
-* rldcr RA,RS,RB,ME (Rc=0)
-* rldcr.  RA,RS,RB,ME (Rc=1)
+* rldcr RA,RS,RB,me (Rc=0)
+* rldcr.  RA,RS,RB,me (Rc=1)
 
 Pseudo-code:
 
@@ -163,8 +163,8 @@ Special Registers Altered:
 
 MD-Form
 
-* rldimi RA,RS,SH,MB (Rc=0)
-* rldimi.  RA,RS,SH,MB (Rc=1)
+* rldimi RA,RS,sh,mb (Rc=0)
+* rldimi.  RA,RS,sh,mb (Rc=1)
 
 Pseudo-code:
 
@@ -190,11 +190,11 @@ X-Form
 
 Pseudo-code:
 
-    n <- (RB)[59:63]
-    r <- ROTL32((RS)[32:63], n)
-    if (RB)[58] = 0 then
-         m <- MASK32(0, 31-n)
-    else m <- [0]*64
+    n <- (RB)[XLEN-5:XLEN-1]
+    r <- ROTL32((RS)[XLEN/2:XLEN-1], n)
+    if (RB)[XLEN-6] = 0 then
+         m <- MASK32(0, ((XLEN/2)-1-n))
+    else m <- [0]*XLEN
     RA <- r & m
 
 Special Registers Altered:
@@ -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:
@@ -253,14 +253,14 @@ 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
-    s <- (RS)[32]
-    RA <- r&m | ([s]*64)& ¬m
-    carry <-  s & ((r&¬m)[32:63] != 0)
+    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
+    s <- (RS)[XLEN/2]
+    RA <- r&m | ([s]*XLEN)& ¬m
+    carry <-  s & ((r&¬m)[XLEN/2:XLEN-1] != 0)
     CA    <-  carry
     CA32  <-  carry
 
@@ -278,11 +278,11 @@ X-Form
 
 Pseudo-code:
 
-    n <- (RB)[58:63]
+    n <- (RB)[XLEN-6:XLEN-1]
     r <- ROTL64((RS), n)
-    if (RB)[57] = 0 then
-         m <- MASK(0, 63-n)
-    else m <- [0]*64
+    if (RB)[XLEN-7] = 0 then
+         m <- MASK(0, XLEN-1-n)
+    else m <- [0]*XLEN
     RA <- r & m
 
 Special Registers Altered:
@@ -298,11 +298,11 @@ X-Form
 
 Pseudo-code:
 
-    n <- (RB)[58:63]
-    r <- ROTL64((RS), 64-n)
-    if (RB)[57] = 0 then
-        m <-  MASK(n, 63)
-    else m <- [0]*64
+    n <- (RB)[XLEN-6:XLEN-1]
+    r <- ROTL64((RS), XLEN-n)
+    if (RB)[XLEN-7] = 0 then
+        m <-  MASK(n, (XLEN-1))
+    else m <- [0]*XLEN
     RA <- r & m
 
 Special Registers Altered:
@@ -313,8 +313,8 @@ Special Registers Altered:
 
 XS-Form
 
-* sradi RA,RS,SH (Rc=0)
-* sradi.  RA,RS,SH (Rc=1)
+* sradi RA,RS,sh (Rc=0)
+* sradi.  RA,RS,sh (Rc=1)
 
 Pseudo-code:
 
@@ -341,13 +341,13 @@ X-Form
 
 Pseudo-code:
 
-    n <- (RB)[58:63]
-    r <- ROTL64((RS), 64-n)
-    if (RB)[57] = 0 then
-        m <-  MASK(n, 63)
-    else m <- [0]*64
+    n <- (RB)[XLEN-6:XLEN-1]
+    r <- ROTL64((RS), XLEN-n)
+    if (RB)[XLEN-7] = 0 then
+        m <-  MASK(n, (XLEN-1))
+    else m <- [0]*XLEN
     s <- (RS)[0]
-    RA <- r&m | ([s]*64)& ¬m
+    RA <- r&m | ([s]*XLEN)& ¬m
     carry <-  s & ((r&¬m) != 0)
     CA    <-  carry
     CA32  <-  carry
@@ -361,8 +361,8 @@ Special Registers Altered:
 
 XS-Form
 
-* extswsli RA,RS,SH (Rc=0)
-* extswsli.  RA,RS,SH (Rc=1)
+* extswsli RA,RS,sh (Rc=0)
+* extswsli.  RA,RS,sh (Rc=1)
 
 Pseudo-code: