2011-08-19 Andrew Stubbs <ams@codesourcery.com>
commit5a574e8bc02ccbac0d8fb40b989a8a17af6917bc
authorams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Aug 2011 14:12:32 +0000 (19 14:12 +0000)
committerams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Aug 2011 14:12:32 +0000 (19 14:12 +0000)
tree79e47d7fd79f8a22d857e9e104cac40825bc24b0
parent4755ceab65335b7efe910ae66128bdfea947256c
2011-08-19  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* expr.c (expand_expr_real_2): Use widening_optab_handler.
* genopinit.c (optabs): Use set_widening_optab_handler for $N.
(gen_insn): $N now means $a must be wider than $b, not consecutive.
* optabs.c (widened_mode): New function.
(expand_widen_pattern_expr): Use widening_optab_handler.
(expand_binop_directly): Likewise.
(expand_binop): Likewise.
* optabs.h (widening_optab_handlers): New struct.
(optab_d): New member, 'widening'.
(widening_optab_handler): New function.
(set_widening_optab_handler): New function.
* tree-ssa-math-opts.c (convert_mult_to_widen): Use
widening_optab_handler.
(convert_plusminus_to_widen): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177901 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expr.c
gcc/genopinit.c
gcc/optabs.c
gcc/optabs.h
gcc/tree-ssa-math-opts.c