[Bug target/126529] New: [17 Regression] wrong code at -O3 -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=126529

            Bug ID: 126529
           Summary: [17 Regression] wrong code at -O3 -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/5ha8EEr7x
Reduced case:
#include <stdint.h>
#define BITCAST(DST_TYPE, SRC_TYPE, VALUE)                                    
\
    (union {                                                                  
\
        SRC_TYPE src;                                                         
\
        DST_TYPE dst                                                          
\
    }){ VALUE }                                                               
\
        .dst
typedef int8_t v2i8 __attribute__((vector_size(2)));
typedef int16_t v8i16 __attribute__((vector_size(16)));
int32_t g27, g20, g15, g10;
v8i16 g6;
__attribute__((__vector_size__(8 * sizeof(int)))) int g13;
_Bool f27_c14;
void *__attribute__((noinline)) f27(int64_t a0, _Bool a1, int32_t a4, v8i16 a5)
{
    v2i8 bc12 = {};
    int16_t v17 = bc12[a4];
    g13 = 0 % g13;
    a5 = g6;
    g10 = a5[f27_c14];
    bc12 = BITCAST(v2i8, int16_t, v17);
    g20 = 3 / a0;
    bc12 = __builtin_shufflevector(bc12, bc12, 3, 2);
lbl_cont15:
    g15 = bc12[0];
    if (a1) return 0;
    a1 = 1;
    bc12 = ~bc12;
    goto lbl_cont15;
}
int main() { f27(3355934481768670720, 0, g27, g6); }

This case triggers SIGSEGV at -O3 -mavx2, and terminates normally at -O0.
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.