diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-08-21 17:23:10 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2015-08-21 17:23:10 +0000 |
commit | 9f9df386620278dc236883096a1c53c5b2120105 (patch) | |
tree | 48205e4dfefd1ab26f456d3fbd7f172bbab3cf5b /gcc/tree-vect-stmts.c | |
parent | ec31eff73c93b94bc7008cd75d5f5aa7c0ddd59d (diff) |
gcc/
* gencodes.c (gencodes): Print the comma for the preceding
enum value rather than the current one. Use aliased enum values
rather than #defines for compiled-out patterns.
(main): Update accordingly. Replace LAST_INSN_CODE with
NUM_INSN_CODES.
* lra.c (insn_code_data): Update accordingly.
(finish_insn_code_data_once, get_static_insn_data): Likewise.
* recog.h (target_recog): Likewise.
(preprocess_insn_constraints): Change parameter to unsigned int.
* recog.c (preprocess_insn_constraints): Likewise.
(recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
* tree-vect-stmts.c (vectorizable_operation): Simplify.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@227076 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r-- | gcc/tree-vect-stmts.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 2ddd4343a2a..f87c0664e5b 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -4719,7 +4719,7 @@ vectorizable_operation (gimple stmt, gimple_stmt_iterator *gsi, tree new_temp; int op_type; optab optab; - int icode; + bool target_support_p; tree def; gimple def_stmt; enum vect_def_type dt[3] @@ -4870,12 +4870,7 @@ vectorizable_operation (gimple stmt, gimple_stmt_iterator *gsi, vec_mode = TYPE_MODE (vectype); if (code == MULT_HIGHPART_EXPR) - { - if (can_mult_highpart_p (vec_mode, TYPE_UNSIGNED (vectype))) - icode = LAST_INSN_CODE; - else - icode = CODE_FOR_nothing; - } + target_support_p = can_mult_highpart_p (vec_mode, TYPE_UNSIGNED (vectype)); else { optab = optab_for_tree_code (code, vectype, optab_default); @@ -4886,10 +4881,11 @@ vectorizable_operation (gimple stmt, gimple_stmt_iterator *gsi, "no optab.\n"); return false; } - icode = (int) optab_handler (optab, vec_mode); + target_support_p = (optab_handler (optab, vec_mode) + != CODE_FOR_nothing); } - if (icode == CODE_FOR_nothing) + if (!target_support_p) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, |