[Libre-soc-isa] [Bug 923] New: we missed some important fp ops

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Sep 8 08:50:21 BST 2022


            Bug ID: 923
           Summary: we missed some important fp ops
           Product: Libre-SOC's first SoC
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: CONFIRMED
          Severity: major
          Priority: ---
         Component: Specification
          Assignee: programmerjake at gmail.com
          Reporter: programmerjake at gmail.com
                CC: libre-soc-isa at lists.libre-soc.org
            Blocks: 899
   NLnet milestone: ---

reading through the opencl list of ops, I realized we forgot to add some fp

out of those, imho we need fmin/fmax (all of the several variants), it would be
quite nice to have fmod/remainder and minmag/maxmag (all of the several

we also forgot erf/erfc/lgamma but they are uncommon enough that they should
just be left to software implementations.

the min/max/minmag/maxmag variants:
* the minNum/maxNum functions from ieee 754-2008 match the behavior of the VSX
xsmindp operation and avx512 vragess (maybe removed?) and armv8.2 fminnm. They
are used in risc-v fmin.s for <= v2.1 of the f extension. They are unspecified
for comparing signed zeros, we will want to treat +0 as greater than -0 to
match a lot of other implementations.

* the minimumNumber/maximumNumber functions from ieee 754-2019 match the
behavior of java and the VMX vminfp operation. They are used in risc-v fmin.s
for >= v2.2 of the f extension.

* the minimum/maximum functions from ieee 754-2019 are basically the
recommended default going forward, but a lot of programming languages don't use
them yet for backward compatibility reasons.

An explanation of why ieee 754 replaced minNum/maxNum with

Referenced Bugs:

[Bug 899] implement additional Transcendentals in simulator
You are receiving this mail because:
You are on the CC list for the bug.

More information about the Libre-SOC-ISA mailing list