aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-08-21 17:23:10 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2015-08-21 17:23:10 +0000
commit9f9df386620278dc236883096a1c53c5b2120105 (patch)
tree48205e4dfefd1ab26f456d3fbd7f172bbab3cf5b /gcc/tree-vect-stmts.c
parentec31eff73c93b94bc7008cd75d5f5aa7c0ddd59d (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.c14
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,