------- Comment #11 from bernds at gcc dot gnu dot org  2010-04-22 09:31 -------
Subject: Bug 29274

Author: bernds
Date: Thu Apr 22 09:30:27 2010
New Revision: 158633

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=158633
Log:
gcc/
        PR middle-end/29274
        * optabs.h (expand_widening_mult): Declare.
        * tree-pass.h (pass_optimize_widening_mul): Declare.
        * tree-ssa-math-opts.c (execute_optimize_widening_mul,
        gate_optimize_widening_mul): New static functions.
        (pass_optimize_widening_mul): New.
        * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New
        case.
        <case MULT_EXPR>: Remove support for widening multiplies.
        * tree.def (WIDEN_MULT_EXPR): Tweak comment.
        * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
        simplify_gen_unary rather than directly building extensions.
        * tree-cfg.c (verify_gimple_assign_binary): Add tests for
        WIDEN_MULT_EXPR.
        * expmed.c (expand_widening_mult): New function.
        * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.

gcc/testsuite/
        PR middle-end/29274
        * gcc.target/i386/wmul-1.c: New test.
        * gcc.target/i386/wmul-2.c: New test.
        * gcc.target/bfin/wmul-1.c: New test.
        * gcc.target/bfin/wmul-2.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/bfin/wmul-1.c
    trunk/gcc/testsuite/gcc.target/bfin/wmul-2.c
    trunk/gcc/testsuite/gcc.target/i386/wmul-1.c
    trunk/gcc/testsuite/gcc.target/i386/wmul-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgexpand.c
    trunk/gcc/expmed.c
    trunk/gcc/expr.c
    trunk/gcc/passes.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-cfg.c
    trunk/gcc/tree-pass.h
    trunk/gcc/tree-ssa-math-opts.c


-- 


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

Reply via email to