https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125245
--- Comment #6 from XChy <xxs_chy at outlook dot com> ---
(In reply to H.J. Lu from comment #5)
> (In reply to XChy from comment #4)
> > It seems that the fix only prevents the reduced case from crashing.
> >
> > gcc version 17.0.0 20260510 (experimental) (GCC)
> >
> > This case also crashed GCC at -O3:
> > #include <stdint.h>
> > typedef int16_t v2i16 __attribute__((vector_size(4)));
> > int16_t g5;
> > _Bool g26;
> > void f15(v2i16, int16_t, void *);
> > void f3()
> > {
> > int16_t v1;
> > v2i16 vec6;
> > lbl_br7:
> > vec6[0] = 1;
> > v1 = vec6[0];
> > lbl_br10:
> > g5 = vec6[0];
> > vec6[1] = g5;
> > if (g26)
> > {
> > f15(vec6, 0, 0);
> > goto lbl_br7;
> > }
> > vec6[1] = v1;
> > g26 = g5 = vec6[1];
> > vec6[0] = g5;
> > goto lbl_br10;
> > }
>
> Please try
>
> commit ab10e6697f941d4c6a70242dcf1db1db84484113
> Author: H.J. Lu <[email protected]>
> AuthorDate: Sat May 9 20:58:11 2026 +0800
> Commit: H.J. Lu <[email protected]>
> CommitDate: Sun May 10 16:54:23 2026 +0800
>
> x86_cse: Convert vector load to constant integer load
Thanks. It works now.