[Libre-soc-bugs] [Bug 1044] SVP64 implementation of pow(x,y,z)

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Mon Oct 16 05:35:30 BST 2023


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

--- Comment #60 from Jacob Lifshay <programmerjake at gmail.com> ---
I got the assembly version of Knuth's algorithm D to work!

Next, I plan on getting the powmod to work, and then optimizing the divmod
somewhat, since it probably has a few redundant instructions. After that, I
think I'll work on the multiply remap, and then, if we still have enough time,
attempt the vertical-first Knuth's Algorithm D (I don't expect to have enough
time to finish it due to lack of budget).

running one divmod using the simulator takes 4.81s (I'd randomly guess 30% is
just for startup e.g. insndb parsing) on my computer when calculating:
n =
0x5b_16ef_a3ca_8698_fa0f_0509_d80d_6a81_0ea7_baf2_fe8d_f34a_de28_f881_e13c_b9d3_7007_2241_a954_4276_d9c1
d = 0x7_c54b_a969_8413_d194_f6a7_154d_2d7d_fe3a_6783_4859_c671_0374
q, r = divmod(n, d)
q == 0xb_b8e2_9e3f_8a67_25bd_c45b_f2a4_2f7a_15b4
r == 0x5_8e2f_6500_9eb0_8011_4645_c75a_e598_dd10_9ee6_3d1f_846f_e831

https://git.libre-soc.org/?p=openpower-isa.git;a=shortlog;h=4dcec3a630e4e082447230445ef31e24245cb6aa

commit 4dcec3a630e4e082447230445ef31e24245cb6aa
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Sun Oct 15 21:17:09 2023 -0700

    add comments telling people to keep the asm and python versions in sync

commit 88e79ac8d5758f225703750b6c2a3bd6130b6673
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Sun Oct 15 21:06:02 2023 -0700

    divmod: asm version of Knuth's algorithm D works!

commit 2f2a215a11d9bbb84671253d3340dcf2654382e2
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Sun Oct 15 20:59:36 2023 -0700

    add labels to DIVMOD REGEX log

commit b3dc024833e16218399b958360243bbedfe4a51e
Author: Jacob Lifshay <programmerjake at gmail.com>
Date:   Sun Oct 15 20:54:12 2023 -0700

    put DIVMOD REGEX under new LogKind: LogKind.OutputMatching

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list