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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
             Status|REOPENED                    |ASSIGNED
          Component|c                           |tree-optimization
      Known to work|                            |4.8.2
   Target Milestone|---                         |4.9.3
            Summary|memcpy generates incorrect  |[4.9/5 Regression] memcpy
                   |code with floating point    |generates incorrect code
                   |numbers and -O1             |with floating point numbers
                   |                            |and -O1

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
The

          if (FLOAT_TYPE_P (TREE_TYPE (lhsop)))
            /* If the operation produces a floating point result then
               assume the value is not produced to transfer a pointer.  */
            ;

case is new in 4.9 (4.8 didn't have it - doing this improves points-to
results for scientific benchmarks which have both pointers and FP values
in aggregates).  Changed by r197158:

2013-03-27  Richard Biener  <rguent...@suse.de>

       PR tree-optimization/37021
       * tree-vect-data-refs.c (vect_check_strided_load): Allow
       REALPART/IMAGPART_EXPRs around the supported refs.
       * tree-ssa-structalias.c (find_func_aliases): Assume that
       floating-point values are not used to transfer pointers.

Reply via email to