https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125818
--- Comment #5 from Alex Coplan <acoplan at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #3)
> completely_unused is new, gsi_replace seems to not expect aggregate return
> values.
>
> We replace
>
> *tp = svset2_f32 (*tuple, 0, _1);
>
> with
>
> *tp = *tuple;
>
> It probably ICEd differently before?
Yes, this is the backtrace I see from GCC 15:
during GIMPLE pass: lower
<source>: In function 'f':
<source>:2:6: internal compiler error: in gsi_replace, at
gimple-iterator.cc:438
2 | void f(svfloat32x2_t *tp, const svfloat32x2_t *tuple, const svfloat32_t
*vp) {
| ^
0x259a670 internal_error(char const*, ...)
$SRC/gcc/diagnostic-global-context.cc:517
0x2583334 fancy_abort(char const*, int, char const*)
$SRC/gcc/diagnostic.cc:1749
0xc66ef1 gsi_replace(gimple_stmt_iterator*, gimple*, bool)
$SRC/gcc/gimple-iterator.cc:438
0x15ccaba aarch64_gimple_fold_builtin
$SRC/gcc/config/aarch64/aarch64.cc:16216
0xc8a33c gimple_fold_call
$SRC/gcc/gimple-fold.cc:5929
0xc8caa9 fold_stmt_1
$SRC/gcc/gimple-fold.cc:6730
0xc8cc10 fold_stmt(gimple_stmt_iterator*, bitmap_head*)
$SRC/gcc/gimple-fold.cc:6813
0x22252bf lower_stmt
$SRC/gcc/gimple-low.cc:874
0x22252bf lower_sequence
$SRC/gcc/gimple-low.cc:266
0x2226107 lower_gimple_bind
$SRC/gcc/gimple-low.cc:963
0x2226355 lower_function_body
$SRC/gcc/gimple-low.cc:147
0x2226355 execute
$SRC/gcc/gimple-low.cc:243
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Compiler returned: 1