https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70482
--- Comment #2 from Yuri Rumyantsev <ysrumyan at gmail dot com> ---
Richard,
The problem is in pattern matching:
/* Pattern detected. */
if (dump_enabled_p ())
dump_printf_loc (MSG_NOTE, vect_location,
"vect_recog_widen_mult_pattern: detected:\n");
/* Check target support */
vectype = get_vectype_for_scalar_type (half_type0);
vecitype = get_vectype_for_scalar_type (itype);
if (!vectype
|| !vecitype
|| !supportable_widening_operation (WIDEN_MULT_EXPR, last_stmt,
vecitype, vectype,
&dummy_code, &dummy_code,
&dummy_int, &dummy_vec))
return NULL;
We found paatern but it does not supported for 256-bit vectype and need to try
for 128-bit.