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

Richard Sandiford <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |rsandifo at gcc dot 
gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #5 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #4)
> So, if that part is right, I think we want to use VECTOR_CST_ELT instead of
> VECTOR_CST_ENCODED_ELT, like:
> --- gcc/config/aarch64/aarch64-sve-builtins.cc.jj     2024-01-12
> 13:47:20.815429012 +0100
> +++ gcc/config/aarch64/aarch64-sve-builtins.cc        2024-01-24 
> 20:58:33.720677634
> +0100
> @@ -3474,7 +3474,7 @@ vector_cst_all_same (tree v, unsigned in
>    unsigned int nelts = lcm * VECTOR_CST_NELTS_PER_PATTERN (v);
>    tree first_el = VECTOR_CST_ENCODED_ELT (v, 0);
>    for (unsigned int i = 0; i < nelts; i += step)
> -    if (!operand_equal_p (VECTOR_CST_ENCODED_ELT (v, i), first_el, 0))
> +    if (!operand_equal_p (VECTOR_CST_ELT (v, i), first_el, 0))
>        return false;
>  
>    return true;
> which fixes the ICE.
Yeah, that's the correct fix.  Sorry for missing it.

Reply via email to