[Libre-soc-bugs] [Bug 1237] New: change knuth's algo-D divmod assembly to use new SVP64 features from bug #1183

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue Dec 19 03:24:20 GMT 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1237

            Bug ID: 1237
           Summary: change knuth's algo-D divmod assembly to use new SVP64
                    features from bug #1183
           Product: Libre-SOC's first SoC
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: DEFERRED
          Severity: enhancement
          Priority: ---
         Component: Source Code
          Assignee: programmerjake at gmail.com
          Reporter: programmerjake at gmail.com
                CC: libre-soc-bugs at lists.libre-soc.org, lkcl at lkcl.net,
                    programmerjake at gmail.com
        Depends on: 1044, 1183
   NLnet milestone: ---

as described in https://bugs.libre-soc.org/show_bug.cgi?id=1044#c80

Knuth's Algorithm D needs inputs with the most-significant word being non-zero,
so we have to find the number of leading zero words in our fixed-length inputs
so we know how many words to tell Algorithm D is in the dynamically-sized
inputs (basically, we just make Algorithm D ignore all the high-order zero
words and act as if the inputs are really shorter than they are).

so, count-leading-zeros, except we're counting zero words, not bits.
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/test/bigint/powmod.py;h=7fc794685bebb1f3c2451c64da041a0e81143e29;hb=d3c7a0ddc169877e8daf38a347091c366e85624b#l717
and
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/test/bigint/powmod.py;h=7fc794685bebb1f3c2451c64da041a0e81143e29;hb=d3c7a0ddc169877e8daf38a347091c366e85624b#l734

* TODO: replace count-leading-zero-words code with dd-ff.


Referenced Bugs:

https://bugs.libre-soc.org/show_bug.cgi?id=1044
[Bug 1044] SVP64 implementation of pow(x,y,z)
https://bugs.libre-soc.org/show_bug.cgi?id=1183
[Bug 1183] add /mrr mode (reverse mode) to Data-Dependent Fail-First CR_ops and
"single looping" to DDFFirst in general
-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list