(no commit message)
authorlkcl <lkcl@web>
Mon, 8 May 2023 11:13:18 +0000 (12:13 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 8 May 2023 11:13:18 +0000 (12:13 +0100)
openpower/sv/ldst.mdwn

index 53c4ce0ec6109a259e47897f54b1fc9d465c0b79..7c05649ce6fa0cb5a7b42850719a145fd28c3a8e 100644 (file)
@@ -494,16 +494,22 @@ copy of the Effective Address.  Hardware implementations with Out-of-Order
 Micro-Architectures should use speculative Shadow-Hold and Cancellation
 (or other Transactional Rollback mechanism) when the test fails.
 
+* **Load, VLi=0**: perform the Memory Load, do not put the result into the regfile yet (or EA into RA). Test the Loaded data: if fail do not store the Load in the register file (or EA into RA). Otherwise proceed with updating regfiles. VL is truncated to "only elements that passed the test"
+* **Store, VLi=0**: even before the Store takes place, perform the test on the data to *be* stored.  If fail do not proceed with the Store at all. VL is truncated to "only elements that passed the test"
+
 **Load/Store Data-Dependent Fail-First, VLi=1**
 
 By contrast if VLi=1 and the test fails, the Store may proceed *and then*
 looping terminates.  In this way, when Inclusive the Vector of Truncated results
 contains the first-failed data (including RA on Updates)
 
+* **Load, VLi=1**: perform the Memory Load, complete it in full (including EA into RA). Test the Loaded data: if fail then VL is truncated to "elements tested".
+* **Store, VLi=0**: same as Load. Perform the Store in full and after-the-fact carry out the test of the original data requested to be stored. If fail then VL is truncated to "elements tested".
+
 Below is an example of loading the starting addresses of Linked-List
 nodes.  If VLi=1 it will load the NULL pointer into the Vector of results.
 If however VLi=0 it will *exclude* the NULL pointer by truncating VL to
-one Element earlier.
+one Element earlier (only loading non-NULL data into registers).
 
 *Programmer's Note: by also setting the RC1 qualifier as well as setting
 VLi=1 it is possible to establish a Predicate Mask such that the first