re PR tree-optimization/78396 (gcc.dg/vect/bb-slp-cond-1.c FAILs after fix for PR77848)
2016-11-25 Richard Biener <rguenther@suse.de> PR tree-optimization/78396 * tree-vectorizer.c (vectorize_loops): When the if-converted body contains masked loads or stores do not attempt to basic-block-vectorize it. From-SVN: r242865
This commit is contained in:
parent
758dcf83e3
commit
5bcfb22cf6
@ -1,3 +1,10 @@
|
||||
2016-11-25 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/78396
|
||||
* tree-vectorizer.c (vectorize_loops): When the if-converted
|
||||
body contains masked loads or stores do not attempt to
|
||||
basic-block-vectorize it.
|
||||
|
||||
2016-11-25 Richard Sandiford <richard.sandiford@arm.com>
|
||||
Alan Hayward <alan.hayward@arm.com>
|
||||
David Sherwood <david.sherwood@arm.com>
|
||||
|
@ -570,14 +570,23 @@ vectorize_epilogue:
|
||||
&& ! loop->inner)
|
||||
{
|
||||
basic_block bb = loop->header;
|
||||
bool has_mask_load_store = false;
|
||||
for (gimple_stmt_iterator gsi = gsi_start_bb (bb);
|
||||
!gsi_end_p (gsi); gsi_next (&gsi))
|
||||
{
|
||||
gimple *stmt = gsi_stmt (gsi);
|
||||
if (is_gimple_call (stmt)
|
||||
&& gimple_call_internal_p (stmt)
|
||||
&& (gimple_call_internal_fn (stmt) == IFN_MASK_LOAD
|
||||
|| gimple_call_internal_fn (stmt) == IFN_MASK_STORE))
|
||||
{
|
||||
has_mask_load_store = true;
|
||||
break;
|
||||
}
|
||||
gimple_set_uid (stmt, -1);
|
||||
gimple_set_visited (stmt, false);
|
||||
}
|
||||
if (vect_slp_bb (bb))
|
||||
if (! has_mask_load_store && vect_slp_bb (bb))
|
||||
{
|
||||
dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
|
||||
"basic block vectorized\n");
|
||||
|
Loading…
Reference in New Issue
Block a user