From 2bd95b1e65a672ced891ca8fe5f2903756df981a Mon Sep 17 00:00:00 2001 From: lkcl Date: Mon, 15 Aug 2022 16:06:04 +0100 Subject: [PATCH] --- openpower/sv/setvl.mdwn | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/openpower/sv/setvl.mdwn b/openpower/sv/setvl.mdwn index 79dfbe34f..afe311f56 100644 --- a/openpower/sv/setvl.mdwn +++ b/openpower/sv/setvl.mdwn @@ -231,3 +231,19 @@ loop: end: blr +## Load/Store-Multi (selective) + +Up to 64 FPRs will be loaded, here. `r3` is set one per bit +for each FP register required to be loaded. The block of memory +from which the registers are loaded is contiguous (no gaps): +any FP register which has a corresponding zero bit in `r3` +is *unaltered*. In essence this is a selective LD-multi with +"Scatter" capability. + + setvli r0, MVL=64, VL=64 + sv.fld/dm=r3 *r0, 0(r30) # selective load 64 FP registers + +Up to 64 FPRs will be saved, here. Again, `r3` + + setvli r0, MVL=64, VL=64 + sv.stfd/sm=r3 *fp0, 0(r30) # selective store 64 FP registers -- 2.30.2