Special Registers Altered:
 
     None
+
+# Twin Multiply and Subtract Doubleword
+
+* msubx RT, RA, RB, RC
+
+Pseudocode:
+
+    <!-- (RS=RT+VL for SVP64, RS=RT+1 for scalar) />
+    prod[0:127] = (RA) * (RB)
+    sub[0:127] = EXTZ(RC) - prod
+    RT <- sub[64:127]
+    RS <- sub[0:63]
+
+Special Registers Altered:
+
+    None
+
+
+weirdaddx RT, RA, RB (RS=RT+VL for SVP64, RS=RT+1 for scalar)
+
+    cat[0:127] = (RB) || (RS)
+    sum[0:127] = cat + EXTZ(RA) + [1]*128
+    rhi[0:63] = sum[0:63]
+    if (RA) <= 1 then rhi = rhi + ([0]*63 || 1)
+    RA = rhi
+    RT = sum[64:127]