From ae672834f8bff2378668e3f5673b043ebbaf79c4 Mon Sep 17 00:00:00 2001 From: lkcl Date: Fri, 19 Aug 2022 00:43:37 +0100 Subject: [PATCH] --- openpower/sv/remap.mdwn | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/openpower/sv/remap.mdwn b/openpower/sv/remap.mdwn index 485a27046..45e5f9c44 100644 --- a/openpower/sv/remap.mdwn +++ b/openpower/sv/remap.mdwn @@ -229,12 +229,18 @@ all *already* critically depend on overlapping Reads/Writes: Matrix uses overlapping registers as accumulators. Thus the Register Hazard Management needed by Indexed REMAP *has* to be in place anyway. +The cost compared to Matrix and other REMAPs (and Pack/Unpack) is +clearly that of the additional reading of the GPRs to be used as Indices, +plus the setup cost associated with creating those same Infices. +If any Deterministic REMAP can cover the required task, clearly it +is adviseable to use it instead. + *Programmer's note: some algorithms may require skipping of Indices exceeding VL-1, not MAXVL-1. This may be achieved programmatically by performing -a `sv.cmp *RA,RB` where RA is the same GPRs used in the Indexed REMAP, +an `sv.cmp *BF,*RA,RB` where RA is the same GPRs used in the Indexed REMAP, and RB contains the value of VL returned from `setvl`. The resultant CR Fields may then be used as Predicate Masks to exclude those operations -with an Index exceeding VL-1* +with an Index exceeding VL-1.* # REMAP area of SVSTATE -- 2.30.2