https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125245
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
(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