mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
Do not consider overrun for VMAT_ELEMENTWISE
When we classify an SLP access as VMAT_ELEMENTWISE we still consider overrun - the reset of it is later overwritten. The following fixes this, resolving a few RISC-V FAILs with --param vect-force-slp=1. * tree-vect-stmts.cc (get_group_load_store_type): For VMAT_ELEMENTWISE there's no overrun.
This commit is contained in:
parent
72df175c93
commit
6d85a0bc2e
@ -2093,7 +2093,6 @@ get_group_load_store_type (vec_info *vinfo, stmt_vec_info stmt_info,
|
||||
if (SLP_TREE_LANES (slp_node) == 1)
|
||||
{
|
||||
*memory_access_type = VMAT_ELEMENTWISE;
|
||||
overrun_p = false;
|
||||
if (dump_enabled_p ())
|
||||
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
|
||||
"single-element interleaving not supported "
|
||||
@ -2110,7 +2109,8 @@ get_group_load_store_type (vec_info *vinfo, stmt_vec_info stmt_info,
|
||||
}
|
||||
}
|
||||
|
||||
overrun_p = loop_vinfo && gap != 0;
|
||||
overrun_p = (loop_vinfo && gap != 0
|
||||
&& *memory_access_type != VMAT_ELEMENTWISE);
|
||||
if (overrun_p && vls_type != VLS_LOAD)
|
||||
{
|
||||
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
|
||||
|
Loading…
Reference in New Issue
Block a user