------- 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