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.