(no commit message)
authorlkcl <lkcl@web>
Sat, 23 Apr 2022 18:49:41 +0000 (19:49 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 23 Apr 2022 18:49:41 +0000 (19:49 +0100)
openpower/sv/biginteger.mdwn

index a481f5e2141d01f3c354b749f768d5744f98ccd4..06ba3ff94c17d45fa4acbb6bd826b78afce4e7d5 100644 (file)
@@ -34,7 +34,7 @@ Big-Divide.
 Macro-op Fusion and back-end massively-wide SIMD ALUs may be deployed in a
 fashion that is hidden from the user, behind a consistent, stable ISA API.
 
-# Instructions
+# madded
 
 **DRAFT**
 
@@ -74,8 +74,6 @@ When `EXTRA2_MODE` is set to one, the implicit RS register is identical
 to RC extended to SVP64 numbering, including whether RC is set Scalar or
 Vector.
 
-## madded
-
 The pseudocode for `madded RT, RA, RB, RC` is:
 
     prod[0:127] = (RA) * (RB)
@@ -91,3 +89,14 @@ The differences here to `maddhdu` are that `maddhdu` stores the upper
 half in RT, where `madded` stores the upper half in RS. There is no
 equivalent to `maddld` because `maddld` performs sign-extension on RC.
 
+# divqdu RT,EA,RB
+
+Divide Quad-Double Extended Unsigned is an XO-Form instruction
+that is near-identical to `divdeu` except that the lower
+64 bits of the dividend, instead of being zero, contain a second implicit
+register, RS.  RB, the divisor, remains 64 bit.  It is therefore a 128/64
+division, producing a 64 bit result.
+
+Pseudo-code:
+
+    dividend[0:(XLEN*2)-1] <- (RA) || (RS)