new revision of dsld
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 28 Sep 2022 20:00:10 +0000 (21:00 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 28 Sep 2022 20:00:10 +0000 (21:00 +0100)
openpower/isa/svfixedarith.mdwn

index b44c4dba715ac65133d1966fb3283657c227c104..c74c7c46abd6cfc45e456034dd9fc315c96c632a 100644 (file)
@@ -56,14 +56,12 @@ Z23-Form
 Pseudo-code:
 
     sh <- (RB)
-    src <- (RA) || (RT)
-    n <- sh[XLEN-7:XLEN-1]
-    r <- ROTL128(src, n)
-    if sh[XLEN-8] = 0 then
-         m <- MASK(0, XLEN*-1-n, XLEN*2)
-    else m <- [0]*XLEN*2
-    r <- r & m
-    RA <- r[XLEN:XLEN*2-1]
+    hi <- (RT)
+    lo <- (RA)
+    n <- sh[58:63]
+    mask[0:63] <- MASK(0, 63 - n)
+    v[0:63] <- (hi & mask) | (lo & ¬mask)
+    RT <- ROTL64(v, n)
 
 Special Registers Altered: