https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127106

            Bug ID: 127106
           Summary: [17 Regression] ICE at -O2 during GIMPLE pass:
                    adjust_alignment
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xxs_chy at outlook dot com
  Target Milestone: ---

Reproducer: https://godbolt.org/z/8cWzePTYW
Reduced case:
#include <stdint.h>
typedef uint16_t v4u16 __attribute__((vector_size(8)));
struct s0
{
    v4u16 f0;
    void *f1
};
uint16_t g2;
v4u16 g4;
static void f4(struct s0 a1, uint32_t a2)
{
    uint32_t v11;
    a1.f0[1] = 6;
    switch (v11)
    case 60428:
    case 2039730824:
    case 10418: g4 = a1.f0; a1.f0[a2] = g2;
}
void f3() { f4((struct s0){}, 9); }

Dump at -O2:
during GIMPLE pass: adjust_alignment
<source>: In function 'f3':
<source>:19:6: internal compiler error: in execute_todo, at passes.cc:2147
   19 | void f3() { f4((struct s0){}, 9); }
      |      ^~
0x2843d18 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
__va_list_tag (*) [1], diagnostics::kind)
        ???:0
0x283895b internal_error(char const*, ...)
        ???:0
0xa432e4 fancy_abort(char const*, int, char const*)
        ???:0
/cefs/77/7768132f2528d652a89841af_gcc-trunk-20260826/bin/../libexec/gcc/x86_64-linux-gnu/17.0.0/cc1
-quiet -imultiarch x86_64-linux-gnu -iprefix
/cefs/77/7768132f2528d652a89841af_gcc-trunk-20260826/bin/../lib/gcc/x86_64-linux-gnu/17.0.0/
<source> -quiet -dumpdir /app/ -dumpbase output.c -dumpbase-ext .c -masm=intel
-mtune=generic -march=x86-64 -g -O2 -w -fdiagnostics-color=always
-fno-verbose-asm -o /app/output.s

Reply via email to