(no commit message)
authorlkcl <lkcl@web>
Sat, 25 Mar 2023 19:31:18 +0000 (19:31 +0000)
committerIkiWiki <ikiwiki.info>
Sat, 25 Mar 2023 19:31:18 +0000 (19:31 +0000)
openpower/sv/rfc/ls008.mdwn

index ee365a9dbc2bb1e2513c6247305cfe1d8f654087..f7f11ddb8284999c2db1aab0f7eff769bd95f06f 100644 (file)
@@ -123,6 +123,55 @@ Special Registers Altered:
 
 \newpage{}
 
+
+# setvl
+
+SVL-Form
+
+* setvl RT,RA,SVi,vf,vs,ms (Rc=0)
+* setvl. RT,RA,SVi,vf,vs,ms (Rc=1)
+
+Pseudo-code:
+
+    overflow <- 0b0
+    VLimm <- SVi + 1
+    # set or get MVL
+    if ms = 1 then MVL <- VLimm[0:6]
+    else           MVL <- SVSTATE[0:6]
+    # set or get VL
+    if vs = 0                then VL <- SVSTATE[7:13]
+    else if _RA != 0         then
+        if (RA) >u 0b1111111 then
+            VL <- 0b1111111
+            overflow <- 0b1
+        else                      VL <- (RA)[57:63]
+    else if _RT = 0          then VL <- VLimm[0:6]
+    else if CTR >u 0b1111111 then
+        VL <- 0b1111111
+        overflow <- 0b1
+    else                          VL <- CTR[57:63]
+    # limit VL to within MVL
+    if VL >u MVL then
+        overflow <- 0b1
+        VL <- MVL
+    SVSTATE[0:6] <- MVL
+    SVSTATE[7:13] <- VL
+    if _RT != 0 then
+       GPR(_RT) <- [0]*57 || VL
+    if ((¬vs) & Â¬(ms)) = 0 then
+        # set requested Vertical-First mode, clear persist
+        SVSTATE[63] <- vf
+        SVSTATE[62] <- 0b0
+
+Special Registers Altered:
+
+    CR0                     (if Rc=1)
+
+-------------
+
+\newpage{}
+
+
 # SVL-Form
 
 Add the following to Book I, 1.6.1, SVL-Form
@@ -141,7 +190,20 @@ Add the following to Book I, 1.6.1, SVL-Form
 Add the following to Book I, 1.6.2
 
 ```
-
+    ms (23)
+        Field used in Simple-V to specify whether MVL (MAXVL in the SVSTATE SPR)
+        is to be set
+        Formats: SVL
+    vf (25)
+        Field used in Simple-V to specify whether "Vertical" Mode is set
+        (VF in the SVSTATE SPR)
+        Formats: SVL
+    vs (24)
+        Field used in Simple-V to specify whether VL (in the SVSTATE SPR) is to be set
+        Formats: SVL
+    SVi (16:22)
+         Simple-V immediate field for setting VL or MVL (VL, MAXVL in the SVSTATE SPR)
+         Formats: SVL
 ```