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

Reply via email to