diff options
author | Richard Henderson <rth@redhat.com> | 2012-06-27 14:30:51 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2012-06-27 14:30:51 -0700 |
commit | 98449720f700d3460a6756f48c4870f3e9a3a6fd (patch) | |
tree | 0ff9298f4b499b29ab5996ba2f0360c7401e22d1 /gcc/tree.c | |
parent | ff4d1662c887e1c43fde5d14c7835210d3a37063 (diff) | |
download | gcc-98449720f700d3460a6756f48c4870f3e9a3a6fd.zip gcc-98449720f700d3460a6756f48c4870f3e9a3a6fd.tar.gz gcc-98449720f700d3460a6756f48c4870f3e9a3a6fd.tar.bz2 |
Add MULT_HIGHPART_EXPR
* tree.def (MULT_HIGHPART_EXPR): New.
* cfgexpand.c (expand_debug_expr): Ignore it.
* expr.c (expand_expr_real_2): Handle it.
* fold-const.c (int_const_binop_1): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
(op_code_prio, op_symbol_code): Likewise.
* tree.c (commutative_tree_code): Likewise. Also handle
WIDEN_MULT_EXPR, VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR.
From-SVN: r189027
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -6899,6 +6899,7 @@ commutative_tree_code (enum tree_code code) { case PLUS_EXPR: case MULT_EXPR: + case MULT_HIGHPART_EXPR: case MIN_EXPR: case MAX_EXPR: case BIT_IOR_EXPR: @@ -6913,6 +6914,9 @@ commutative_tree_code (enum tree_code code) case TRUTH_AND_EXPR: case TRUTH_XOR_EXPR: case TRUTH_OR_EXPR: + case WIDEN_MULT_EXPR: + case VEC_WIDEN_MULT_HI_EXPR: + case VEC_WIDEN_MULT_LO_EXPR: return true; default: |