http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42802

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.6.0

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-12-26 
19:47:12 UTC ---
    vmovsd    .LC0(%rip), %xmm2
    vfmaddsd    %xmm0, %xmm2, %xmm1, %xmm3
    vfnmaddsd    %xmm0, %xmm2, %xmm1, %xmm0
    vmulsd    %xmm0, %xmm3, %xmm0

Fixed by:
r166304 | rguenth | 2010-11-04 03:56:22 -0700 (Thu, 04 Nov 2010) | 38 lines

2010-11-04  Richard Guenther  <rguent...@suse.de>
        Richard Henderson  <r...@redhat.com>

        * tree.def (FMA_EXPR): New tree code.
        * expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
        * gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
        * tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
        * tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
        * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
        * tree-ssa-math-opts.c (convert_mult_to_fma): New function.
        (execute_optimize_widening_mul): Call it.  Reorganize to allow
        dead stmt removal.  Move TODO flags ...
        (pass_optimize_widening_mul): ... here.
        * flag-types.h (enum fp_contract_mode): New enum.
....

Reply via email to