reset MSR.SVF mode on rollover (end of loop)
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 8 Jul 2021 22:07:39 +0000 (23:07 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 8 Jul 2021 22:09:59 +0000 (23:09 +0100)
openpower/sv/remapmatrix.py
openpower/sv/setvl.mdwn

index f256cc54be735c15c3ce125c67c83d809d153484..c9c81f21451ea61c5dac65efeb2b8254471883bb 100644 (file)
@@ -46,8 +46,8 @@ def matrix_demo():
         [4,5,9,1,2]]
 
     # pick one of the above (crude, non-automated, but it works, hey)
-    X = X2
-    Y = Y2
+    X = X1
+    Y = Y1
 
     # get the dimensions of the 2 matrices
     xdim1 = len(X[0])
index 31b23f8236989180b1e81dcdfd70bd846ee053e8..5e55c83419fda971820938e91ce33eaefb5bd9a2 100644 (file)
@@ -122,8 +122,10 @@ the same instruction.  That would require two instructions.
         dststep++
         rollover = (srcstep == VL or dststep == VL)
         if rollover:
+            // Reset srcstep, dststep, and also exit "Vertical First" mode
             srcstep = 0
             dststep = 0
+            MSR[6] = 0
         SPR[SV].srcstep = srcstep
         SPR[SV].dststep = dststep