https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115597

--- Comment #3 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
> 
> Can you check whether that fixes the issue?
> 
> diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
> index 9465d94de1a..212d5f97f7d 100644
> --- a/gcc/tree-vect-slp.cc
> +++ b/gcc/tree-vect-slp.cc
> @@ -6085,7 +6085,6 @@ static void
>  vect_cse_slp_nodes (scalar_stmts_to_slp_tree_map_t *bst_map, slp_tree& node)
>  {
>    if (SLP_TREE_DEF_TYPE (node) == vect_internal_def
> -      && SLP_TREE_CODE (node) != VEC_PERM_EXPR
>        /* Besides some VEC_PERM_EXPR, two-operator nodes also
>          lack scalar stmts and thus CSE doesn't work via bst_map.  Ideally
>          we'd have sth that works for all internal and external nodes.  */

Yeah that seems to do it, can compile SPECFP again.

Reply via email to