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.