Commit 2b5bb7da by Jakub Jelinek Committed by Jakub Jelinek

tree-vect-stmts.c (vectorizable_operation): Check both VEC_WIDEN_MULT_LO_EXPR…

tree-vect-stmts.c (vectorizable_operation): Check both VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.

	* tree-vect-stmts.c (vectorizable_operation): Check both
	VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.
	Verify that operand[0]'s mode is TYPE_MODE (wide_vectype).

From-SVN: r189064
parent 90686faa
2012-06-29 Jakub Jelinek <jakub@redhat.com>
* tree-vect-stmts.c (vectorizable_operation): Check both
VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.
Verify that operand[0]'s mode is TYPE_MODE (wide_vectype).
2012-06-28 Richard Henderson <rth@redhat.com>
* doc/generic.texi (MULT_HIGHPART_EXPR): Document it.
......
......@@ -3504,14 +3504,19 @@ vectorizable_operation (gimple stmt, gimple_stmt_iterator *gsi,
{
decl1 = NULL_TREE;
decl2 = NULL_TREE;
optab = optab_for_tree_code (VEC_WIDEN_MULT_HI_EXPR,
optab = optab_for_tree_code (VEC_WIDEN_MULT_LO_EXPR,
vectype, optab_default);
optab2 = optab_for_tree_code (VEC_WIDEN_MULT_HI_EXPR,
vectype, optab_default);
if (optab != NULL
&& optab2 != NULL
&& optab_handler (optab, vec_mode) != CODE_FOR_nothing
&& optab_handler (optab2, vec_mode) != CODE_FOR_nothing)
&& optab_handler (optab2, vec_mode) != CODE_FOR_nothing
&& insn_data[optab_handler (optab, vec_mode)].operand[0].mode
== TYPE_MODE (wide_vectype)
&& insn_data[optab_handler (optab2,
vec_mode)].operand[0].mode
== TYPE_MODE (wide_vectype))
{
for (i = 0; i < nunits_in; i++)
sel[i] = !BYTES_BIG_ENDIAN + 2 * i;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment