[Libre-soc-bugs] [Bug 1028] implement integer-versions of fft/dct "butterfly" instructions in ISACaller Simulator
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Thu Jul 20 23:36:47 BST 2023
https://bugs.libre-soc.org/show_bug.cgi?id=1028
--- Comment #9 from Jacob Lifshay <programmerjake at gmail.com> ---
while writing unit tests for maddrs, I noticed that it's a 4-in 2-out
instruction (most likely too many) -- it reads RA, RB, RT, and RS and writes RT
and RS.
If you must have that many inputs/outputs, it seems to me that it would be
better to just directly compute the expression you care about, since that's
also 4-in 2-out, rather than needing 2 instructions:
fdct_round_shift(a * c1 +/- b * c2)
basically replace maddrs with:
Multiply Multiply Add Sub Right Shift A-Form
mmaddsubrs RT, RA, RB, SH
prod1 <- MULS((RT), (RA))
prod2 <- MULS((RS), (RB))
RT <- round_shift(prod1 + prod2, SH)
RS <- round_shift(prod1 - prod2, SH)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list