(no commit message)
authorlkcl <lkcl@web>
Tue, 26 Apr 2022 20:38:15 +0000 (21:38 +0100)
committerIkiWiki <ikiwiki.info>
Tue, 26 Apr 2022 20:38:15 +0000 (21:38 +0100)
openpower/sv/biginteger/analysis.mdwn

index 7c1f423e226ce573d6997b3261dafb1b3af05083..e380386723b7b740d560cf01a9fd465fe525b2b9 100644 (file)
@@ -414,9 +414,9 @@ Just as with `divdeu` on which this instruction is based an overflow
 detection is required.  When the divisor is too small compared to
 the dividend then the result may not fit into 64 bit.  Knuth's
 original algorithm detects overflow and manually places 0xffffffff
-(all ones) into `qhat`. It makes sense for `divrem2du` to do
-this, and also to return an overflow indicator: this can be done
-by always setting Rc=1 as a way to save opcode space
+(all ones) into `qhat`. With there being so many operands already
+in  `divrem2du`  a  `cmpl` instruction can be used instead to detect
+the overflow. This saves having to add an Rc=1 or OE.
 
 Looking closely at the loop however we can see that overflow 
 will not occur. The initial value k is zero, and on subsequent iterations