https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102464

--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>:

https://gcc.gnu.org/g:a1f7ead09cd41d32e2feffff902eb32e587c36e7

commit r12-4985-ga1f7ead09cd41d32e2feffff902eb32e587c36e7
Author: liuhongt <hongtao....@intel.com>
Date:   Mon Nov 8 09:32:17 2021 +0800

    Add !HONOR_SNANS to simplifcation: (trunc)copysign((extend)a, (extend)b) to
copysign (a, b).

    > Note that this is not safe with -fsignaling-nans, so needs to be disabled
    > for that option (if there isn't already logic somewhere with that
effect),
    > because the extend will convert a signaling NaN to quiet (raising
    > "invalid"), but copysign won't, so this transformation could result in a
    > signaling NaN being wrongly returned when the original code would never
    > have returned a signaling NaN.
    >
    > --
    > Joseph S. Myers
    > jos...@codesourcery.com

    gcc/ChangeLog

            PR target/102464
            * match.pd (Simplifcation (trunc)copysign((extend)a, (extend)b)
            to .COPYSIGN (a, b)): Add !HONOR_SNANS.

Reply via email to