From 2370824c28044b19214525c4ce541e597083388e Mon Sep 17 00:00:00 2001 From: lkcl Date: Thu, 9 Jun 2022 14:00:35 +0100 Subject: [PATCH] --- openpower/sv/svp64_quirks.mdwn | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/openpower/sv/svp64_quirks.mdwn b/openpower/sv/svp64_quirks.mdwn index e46e3feb3..93da4d218 100644 --- a/openpower/sv/svp64_quirks.mdwn +++ b/openpower/sv/svp64_quirks.mdwn @@ -271,7 +271,7 @@ From a hardware implementation perspective however they will need special handling as far as Hazard Dependencies are concerned, due to nonconformance (bit-level management) -# mv.x +# mv.x (vector permute) [[sv/mv.x]] aka `GPR(RT) = GPR(GPR(RA))` is so horrendous in terms of Register Hazard Management that its addition to any Scalar @@ -281,7 +281,8 @@ problem at all. `sv.mv.x` is also fraught, precisely because it sits on top of a Standard Scalar register paradigm, not a Vector ISA, with separate and distinct Vector registers. -To help partly solve this, `sv.mv.x` has to be made relative: +To help partly solve this, `sv.mv.x` would have had to have +been made relative: ``` for i in range(VL): @@ -292,14 +293,15 @@ The reason for doing so is that MAXVL or VL may be used to limit the number of Register Hazards that need to be raised to a fixed quantity, at Issue time. -`mv.x` itself will still have to be added as a Scalar instruction, -but the behaviour of `sv.mv.x` will have to be different from that +`mv.x` itself would still have to be added as a Scalar instruction, +but the behaviour of `sv.mv.x` would have to be different from that Scalar version. Normally, Scalar Instructions have a good justification for being added as Scalar instructions on their own merit. `mv.x` is the -polar opposite, and as such qualifies for a special mention in -this section. +polar opposite, and in the end, the idea was thrown out, and Indexed +REMAP added in its place. Indexed REMAP comes with its own quirks, +solving the Hazard problem, described in a later section. # Branch-Conditional -- 2.30.2