Hi,
vect_gather_scatter_fn_p currently ICEs if offset_vectype is NULL. This is an
oversight in the patches that relax the gather/scatter detection. Catch this.
Bootstrapped and regtested on x86 and power10. Regtested on aarch64 and
riscv64.
Regards
Robin
gcc/ChangeLog:
* tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Bail if
offset_vectype is NULL.
---
gcc/tree-vect-data-refs.cc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc
index 9c87cc1de6d..b880a6f0566 100644
--- a/gcc/tree-vect-data-refs.cc
+++ b/gcc/tree-vect-data-refs.cc
@@ -4631,6 +4631,10 @@ vect_gather_scatter_fn_p (vec_info *vinfo, bool read_p,
bool masked_p,
tree offset_vectype = VECTOR_TYPE_P (offset_type)
? offset_type : get_vectype_for_scalar_type (vinfo, offset_type);
+ /* If there is no related vectype, bail. */
+ if (!offset_vectype)
+ return false;
+
offset_type = TREE_TYPE (offset_vectype);
/* Get all supported configurations for this data vector type. */
--
2.51.0