From 587e8679a42140a2d4cb2aa093919182339a1234 Mon Sep 17 00:00:00 2001 From: lkcl Date: Tue, 3 May 2022 17:42:34 +0100 Subject: [PATCH] remove setmvlhi, the interaction between the hint and the looping is suspect --- openpower/sv/setvl.mdwn | 43 ----------------------------------------- 1 file changed, 43 deletions(-) diff --git a/openpower/sv/setvl.mdwn b/openpower/sv/setvl.mdwn index 8a9077127..0fd0589af 100644 --- a/openpower/sv/setvl.mdwn +++ b/openpower/sv/setvl.mdwn @@ -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 -- 2.30.2