From d4757f213cfbcc2aef5425c753c417d798279347 Mon Sep 17 00:00:00 2001 From: lkcl Date: Wed, 27 Apr 2022 10:30:11 +0100 Subject: [PATCH] --- openpower/sv/biginteger/analysis.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openpower/sv/biginteger/analysis.mdwn b/openpower/sv/biginteger/analysis.mdwn index b731f2bee..9cce6b8ad 100644 --- a/openpower/sv/biginteger/analysis.mdwn +++ b/openpower/sv/biginteger/analysis.mdwn @@ -119,7 +119,8 @@ void biglsh(unsigned s, unsigned vn[], unsigned const v[], int n) The reason why three instructions are needed instead of one in the case of big-add is because multiple bits chain through to the -next element, where for add it is a single bit (carry-in, carry-out). +next element, where for add it is a single bit (carry-in, carry-out), +and this is precisely what `adde` already does. For multiply and divide as shown later it is worthwhile to use one scalar register effectively as a full 64-bit carry/chain but in the case of shift, an OR may glue things together, easily, -- 2.30.2