[Bug target/126450] New: [16/17 Regression] wrong code at -O2 -mavx2

xxs_chy at outlook dot com via Gcc-bugs <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126450

            Bug ID: 126450
           Summary: [16/17 Regression] wrong code at -O2 -mavx2
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xxs_chy at outlook dot com
  Target Milestone: ---

Reproducer: https://godbolt.org/z/e4jjoYTEa
Reduced case:
#include <stdint.h>
typedef int32_t v4i32 __attribute__((vector_size(16)));
int64_t g0, g25, g21, g5, g4;
int16_t g1;
__attribute__((__vector_size__(8 * sizeof(int)))) int g12;
v4i32 g27;
_Bool f18_c9;
void f18(v4i32 a0)
{
    _Bool c2 = 0, c4;
    int16_t v12 = 0;
lbl_sw3:
    g25 = v12;
    a0 = g27;
    v12 = g21 % 4;
    f18_c9 = g1 = g4 % 6;
    g4 = a0[c2];
    g12 = g12 > g12;
    if (g5) goto lbl_cont82;
lbl_br55:
    c2 = v12;
    if (c2) goto lbl_sw3;
    g0 = v12;
lbl_cont82:
    if (g4) goto lbl_br55;
}
int main() { f18(g27); }

This case terminates correctly at -O0, and triggers SIGSEGV at -O2 -mavx2.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.