(no commit message)
authorlkcl <lkcl@web>
Mon, 23 Sep 2019 13:09:51 +0000 (14:09 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 23 Sep 2019 13:09:51 +0000 (14:09 +0100)
simple_v_extension/bigint_example.mdwn [new file with mode: 0644]

diff --git a/simple_v_extension/bigint_example.mdwn b/simple_v_extension/bigint_example.mdwn
new file mode 100644 (file)
index 0000000..d2673e3
--- /dev/null
@@ -0,0 +1,23 @@
+    li t1, -1 # 0xfffffff...fff
+    VBLK.pred.t3 = {inv, t0}
+    VBLK.pred.t4 = {t0 }
+    VBLK.reg.a0 = {vec}
+    VBLK.reg.a1 = {vec}
+    VBLK.VL = 8
+    add t4, a0, a1
+    sub t3, x0, a1 # invert a1
+    BLT a0, t3, cont # stores tests in t0
+    ret
+
+    VBLK.pred.t1 = {inv, t0}
+    VBLK.pred.t4 = {t0 }
+    VBLK.reg.a0 = {vec}
+    VBLK.reg.a1 = {vec}
+    cont:
+    slli t0, 1 # shifts up carry by 1
+    addi t4, 1 # predicated on t0
+    BLT t4, t1, cont2 # tests into t0
+    ret
+    cont2:
+    j cont
+