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

--- Comment #21 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Richard Biener
<rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:009a8566d8ac5cc6ab1604716ba43d3c0bd99b64

commit r9-9537-g009a8566d8ac5cc6ab1604716ba43d3c0bd99b64
Author: Richard Biener <rguent...@suse.de>
Date:   Tue Aug 4 14:10:45 2020 +0200

    tree-optimization/88240 - stopgap for floating point code-hoisting issues

    This adds a stopgap measure to avoid performing code-hoisting
    on mixed type loads when the load we'd insert in the hoisting
    position would be a floating point one.  This is because certain
    targets (hello x87) cannot perform floating point loads without
    possibly altering the bit representation and thus cannot be used
    in place of integral loads.

    2020-08-04  Richard Biener  <rguent...@suse.de>

            PR tree-optimization/88240
            * tree-ssa-sccvn.h (vn_reference_s::punned): New flag.
            * tree-ssa-sccvn.c (vn_reference_insert): Initialize punned.
            (vn_reference_insert_pieces): Likewise.
            (visit_reference_op_call): Likewise.
            (visit_reference_op_load): Track whether a ref was punned.
            * tree-ssa-pre.c (do_hoist_insertion): Refuse to perform hoist
            insertion on punned floating point loads.

            * gcc.target/i386/pr88240.c: New testcase.

Reply via email to