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.