From: Luke Kenneth Casson Leighton Date: Thu, 8 Jul 2021 22:07:39 +0000 (+0100) Subject: reset MSR.SVF mode on rollover (end of loop) X-Git-Tag: DRAFT_SVP64_0_1~642 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c5655fbf15de3141a1802b61a02ba0f2364c8da6;p=libreriscv.git reset MSR.SVF mode on rollover (end of loop) --- 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