• jyan's avatar
    S390: [builtins] Introduce proper Float64Log1p, Float64Atan and Float64Atan2 operators. · b78b0bf9
    jyan authored
    Port 7ceed92a
    Port 89d8c57b
    
    Original commit message:
    
        Import base::ieee754::atan() and base::ieee754::atan2() from fdlibm and
        introduce Float64Atan and Float64Atan2 TurboFan operators based on those,
        similar to what we already did for Float64Log and Float64Log1p. Rewrite
        Math.atan() and Math.atan2() as TurboFan builtin and use the operators
        to also inline Math.atan() and Math.atan2() into optimized TurboFan functions.
    
        Import base::ieee754::log1p() from fdlibm and introduce a Float64Log1p
        TurboFan operator based on that, similar to what we do for Float64Log.
        Rewrite Math.log1p() as TurboFan builtin and use that operator to also
        inline Math.log1p() into optimized TurboFan functions.
    
        Also unify the handling of the special IEEE 754 functions somewhat in
        the TurboFan backends. At some point we can hopefully express this
        completely in the InstructionSelector (once we have an idea what to do
        with the ST(0) return issue on IA-32/X87).
    
        Drive-by-fix: Add some more test coverage for the log function.
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com
    BUG=
    
    Review-Url: https://codereview.chromium.org/2064783002
    Cr-Commit-Position: refs/heads/master@{#36946}
    b78b0bf9
code-generator-s390.cc 81.5 KB