convert test_caller_svp64.py to new vector numbering convention
[openpower-isa.git] / openpower / isa / simplev.mdwn
index a933fcd9dfb9d6c10da1b88bae6852197a6ae2c2..f407851ee817ac8807cd55ad4130f19f81e0de17 100644 (file)
@@ -32,18 +32,16 @@ Pseudo-code:
            GPR(_RT) <- [0]*57 || step
     else
         VLimm <- SVi + 1
-        if vs = 0 then
-            VL <- SVSTATE[7:13]
-        else if _RA != 0 then
-            VL <- (RA)[57:63]
-        else if _RT != 0 then
-            VL <- CTR
-        else
-            VL <- VLimm[0:6]
-        if ms = 1 then
-            MVL <- VLimm[0:6]
-        else
-            MVL <- SVSTATE[0:6]
+        # 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 VL <- (RA)[57:63]
+        else if _RT = 0          then VL <- VLimm[0:6]
+        else if CTR >u 0b1111111 then VL <- 0b1111111
+        else                          VL <- CTR[57:63]
+        # limit VL to within MVL
         if VL >u MVL then
             VL <- MVL
         SVSTATE[0:6] <- MVL