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

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Sep 8 13:00:17 BST 2022


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

Luke Kenneth Casson Leighton <lkcl at lkcl.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lkcl at lkcl.net

--- Comment #2 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #1)
> technically there's also x86's maxss operations, they implement the C
> function:
> float f(float a, float b) {
>     return a < b ? a : b;
> }

as best i can tell that's fsel - p168 v3.0B 4.6.9

fsel  FRT,FRA,FRC,FRB (Rc=0)
fsel. FRT,FRA,FRC,FRB (Rc=1)

if (FRA) >= 0.0 then FRT <- (FRC)
else FRT <- (FRB)

The floating-point operand in register FRA is compared
to the value zero. If the operand is greater than or equal
to zero, register FRT is set to the contents of register
FRC. If the operand is less than zero or is a NaN, regis-
ter FRT is set to the contents of register FRB. The com-
parison ignores the sign of zero (i.e., regards +0 as
equal to -0).

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


More information about the Libre-SOC-ISA mailing list