[Libre-soc-bugs] [Bug 1155] O(n^2) multiplication REMAP mode(s)

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Jan 5 08:37:04 GMT 2024


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

--- Comment #54 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Jacob Lifshay from comment #52)
> ok, I'll work on trying to fit them into the bigint mul and powmod
> algorithms soon, probably tomorrow.

I started getting ready to work on them, but ran into a bug that looks like it
blocks most work due to making SVSHAPE unusable for simulations afaict:

random test case that fails (I expect there to be lots):
pytest -v
src/openpower/decoder/isa/test_caller_svp64_dct.py::DCTTestCase::test_sv_remap_fpmadds_idct_outer_8

src/openpower/decoder/isa/svshape.py:147: in skip
    if self.is_indexed() or self.is_triangle():
src/openpower/decoder/isa/svshape.py:54: in is_triangle
    return self.mode == 0b11 and self.skip in [0b00, 0b01]
src/openpower/decoder/isa/svshape.py:147: in skip
    if self.is_indexed() or self.is_triangle():
E   RecursionError: maximum recursion depth exceeded while calling a Python
object
!!! Recursion detected (same locals & position)

it isn't obvious if is_triangle should be accessing:
return self.fsi['skip'].asint(msb0=True)
or:
inv = self.fsi['invxyz'].asint(msb0=True)
return (inv & 0b100) >> 2

so I'm leaving it up to you to fix. I'll work on the algorithms next time I get
a chance (probably not friday as I've been waking up too late so may not have
time before sunset, so maybe on sunday?)

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


More information about the libre-soc-bugs mailing list