-# bog integer multiply
+# big integer multiply
links
RT <- sum[64:127]
RS <- sum[0:63]
-**weirdaddx RT, RA, RB** (RS=RB+VL for SVP64, RS=RB+1 for scalar)
+**addxd RT, RA, RB** (RS=RB+VL for SVP64, RS=RB+1 for scalar)
cat[0:127] = (RS) || (RB)
sum[0:127] = cat + EXTZ(RA)
li r18, 0
sv.maddx r0.v, r16, r17, r20.v
# here, RS=RB+VL, therefore again RS starts at r8.v
- sv.weirdaddx r0.v, r18, r0.v
+ sv.addxd r0.v, r18, r0.v
# big integer division
RT <- sub[64:127]
RS <- sub[0:63]
-**weirdsubx RT, RA, RB** (RS=RB+VL for SVP64, RS=RB+1 for scalar)
+**subxd RT, RA, RB** (RS=RB+VL for SVP64, RS=RB+1 for scalar)
cat[0:127] = (RS) || (RB)
sum[0:127] = cat - EXTS(RA)
li r18, 0
sv.msubx r0.v, r16, r17, r20.v
# here, RS=RB+VL, therefore again RS starts at r8.v
- sv.weirdsubx r0.v, r18, r0.v
+ sv.subxd r0.v, r18, r0.v
As a result, a big-integer subtract and multiply may be carried out
in only 3 instructions, one of which is setting a scalar integer to