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

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Feb 15 04:39:30 GMT 2024


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

--- Comment #63 from Jacob Lifshay <programmerjake at gmail.com> ---
ok, I started working on the algorithm and quickly ran into the issue that we
need to implement EXTRA2_MODE support in all of the simulator and
assembler/disassembler and insndb...this is because sv.maddedu needs to put RS
in RT + MAXVL, which isn't what happens currently, currently we just hardcode
the simulator to behave as if EXTRA2_MODE = 1 for an arbitrary subset of
instructions.

We can't just change the simulator to hardcode EXTRA2_MODE = 0 for maddedu,
since all the existing sv.maddedu operations in our tests depend on it behaving
like EXTRA2_MODE = 1.

        # use SVSHAPE0 for RA, SVSHAPE1 for RB,
        # SVSHAPE2 for RC/RT, SVSHAPE3 for RS
        "svremap 0o37, 0, 1, 2, 2, 3, 0",
        # RS is scalar by using constant remap
        "sv.maddedu *4, *32, *36, *4",  # FIXME: need to set EXTRA2_MODE to 0

https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/test/bigint/mul_remap.py;hb=9d45047d7e7bc8678cd3ea30e1e883249f1fa344

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


More information about the libre-soc-bugs mailing list