[Libre-soc-bugs] [Bug 899] implement additional Transcendentals in simulator

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sun Sep 4 09:17:18 BST 2022


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

--- Comment #12 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Jacob Lifshay from comment #8)
> (In reply to Jacob Lifshay from comment #7)
> > found an empty spot with enough space, once fdmadds is moved.
> 
> ffadds can share the space with fptrans, once it's converted to X-FORM.

I moved ffadds (converted to X-FORM) and fdmadds:

https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=6507ee86c014b70fac45578500fc87612403d664

I found and updated the hack to detect if an instruction is SVP64 FFT or not,
converting it to:

# main PowerDecoder2 determines if different SVP64 modes enabled
# detect if SVP64 FFT mode enabled (really bad hack),
# exclude fcfids and others
# XXX this is a REALLY bad hack, REALLY has to be done better.
# likely with a sub-decoder.
major = Signal(6)
comb += major.eq(self.dec.opcode_in[26:32])
xo = Signal(10)
comb += xo.eq(self.dec.opcode_in[1:11])
comb += self.use_svp64_fft.eq((major == 59) & xo.matches(
    '-----00100',  # ffmsubs
    '-----00101',  # ffmadds
    '-----00110',  # ffnmsubs
    '-----00111',  # ffnmadds
    '1000001100',  # ffadds
    '-----11011',  # fdmadds
))

All tests in openpower-isa.git pass (though I had to do a git diff on the
output logs to find that hack, `setarch -R` makes it easier since addresses
don't change as much).

TODO(lkcl or whoever): fix that annoying hack!

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


More information about the libre-soc-bugs mailing list