(no commit message)
authorlkcl <lkcl@web>
Mon, 16 Aug 2021 10:48:51 +0000 (11:48 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 16 Aug 2021 10:48:51 +0000 (11:48 +0100)
openpower/sv/setvl.mdwn

index 337953a7baa7586f1601ea8f39424bce31d5f353..1391cf8e32e390ed140d91cbf5e590caf34c5d55 100644 (file)
@@ -315,3 +315,21 @@ loop:
       bne cr0, loop
     end:
       blr
+
+## setmvlhi double loop
+
+```
+   setmvlhi  8, 2 # MVL=8, VFHint=2
+loop:
+    setvl  r5, r3 # VL=r5=MAX(MVL, r3)
+loopinner:
+    sv.ld r20.v, r4(0) # load VLhint elements (max 2)
+    sv.addi r20.v, r20.v, 55 # add 55 to 2 elements
+    sv.st r20.v, r4(0) # store VLhint elements
+    svstep.            # srcstep += VLhint
+    bnz loopinner      # repeat until srcstep=VL
+    # now done VL elements, move to next batch
+    add r4, r4, r5 # move r4 pointer forward
+    sub. r3, r3, r5 # decrement total count by VL
+    bnz loop
+```