From c5655fbf15de3141a1802b61a02ba0f2364c8da6 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Thu, 8 Jul 2021 23:07:39 +0100 Subject: [PATCH] reset MSR.SVF mode on rollover (end of loop) --- openpower/sv/remapmatrix.py | 4 ++-- openpower/sv/setvl.mdwn | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/openpower/sv/remapmatrix.py b/openpower/sv/remapmatrix.py index f256cc54b..c9c81f214 100644 --- a/openpower/sv/remapmatrix.py +++ b/openpower/sv/remapmatrix.py @@ -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]) diff --git a/openpower/sv/setvl.mdwn b/openpower/sv/setvl.mdwn index 31b23f823..5e55c8341 100644 --- a/openpower/sv/setvl.mdwn +++ b/openpower/sv/setvl.mdwn @@ -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 -- 2.30.2