remove setmvlhi, the interaction between the hint and the looping is suspect
authorlkcl <lkcl@web>
Tue, 3 May 2022 16:42:34 +0000 (17:42 +0100)
committerIkiWiki <ikiwiki.info>
Tue, 3 May 2022 16:42:34 +0000 (17:42 +0100)
openpower/sv/setvl.mdwn

index 8a9077127758e2707d647583a162675c883c992a..0fd0589afdfd920c11b00c50da65ee3f67a76689 100644 (file)
@@ -119,49 +119,6 @@ Note that whilst it is possible to set both MVL and VL from the same
 immediate, it is not possible to set them to different immediates in
 the same instruction.  That would require two instructions.
 
-# setmvlhi
-
-In Vertical-First Mode the minimum expectation is that one scalar
-element may be executed by each instruction. There are however
-circumstances where it may be possible to execute more than one
-element per instruction (srcstep elements 0-3 for example)
-but leaving it up to hardware to
-determine a "safe minimum amount" where memory corruption does
-not occur may not be practical (or is simply very costly).
-
-Therefore, setmvlhi may specify, as determined by the compiler,
-exactly what that quantity is.  Unlike VL, which is an amount
-that, when requested, **must** be executed, VFhint may be set
-by the hardware to an amount that the hardware is capable of.
-In other words: setmvlhi requests a hint size, bur hardware chooses
-the actual hint.
-
-The reason for this cooperative negotiation between hardware and
-software is that whilst the compiler may have information about
-memory hazards that must be avoided which hardware cannot
-know about, the hardware knows the maximum batch size
-it can execute in parallel but the compiler is unaware of
-the variance in that batch size on different implementations.
-Thus, hardware sets VLHint to the minimum of the requested
-amount and the hardware limit. Simple implementations always
-set VLHint to 1.
-
-Critical to note are two things:
-
-1. VFhint must not be set by hardware to an amount that
-exceeds either MVL or the requested amount, and must set
-VFhint to at least 1 element.
-2. svstep will increment srcstep and dststep by VFhint,
-therefore when hardware says it can perform N element
-operations, hardware **MUST** perform N operations
-for every single instruction. 
-
-Form: SVL-Form (see [[isatables/fields.text]])
-
-| 0.5|6.10|11.15|16..21|22 | 23...25  | 26.30 |31|  name    |
-| -- | -- | --- | ---- |---| -------- | ----- |--| -------- |
-|OPCD| RT | MVL | SVi  |MVL| ms vs vf | 10110 |Rc| setmvlhi  |
-
 # Vertical First Mode
 
 Vertical First is effectively like an implicit single bit predicate