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

            Bug ID: 123053
           Summary: [Trunk] AArh64: ICE at -O2/O3 during RTL pass: expand
           Product: gcc
           Version: 16.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/WK8onzjP7
Testcase:
#include <stdint.h>
struct
{
    int32_t f3;
    int64_t f4
} g_137, g_138;
struct
{
    int8_t f0
} g_174;
int32_t g_67;
uint32_t g_179[];
uint16_t func_71()
{
    for (; g_174.f0; g_174.f0 -= 1)
    {
        g_137.f3 = 0;
        for (; g_137.f3 <= 4; g_137.f3 += 1)
            for (g_67 = 3; g_67; g_67 -= 1) g_179[g_67] || (g_138.f4 = 0);
    }
}

command:
> aarch64-unknown-linux-musl-gcc -O2 -march=armv9-a a.c

gcc dumps:
during RTL pass: expand
<source>: In function 'func_71':
<source>:13:10: internal compiler error: in expand_fn_using_insn, at
internal-fn.cc:270
   13 | uint16_t func_71()
      |          ^~~~~~~
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.
Compiler returned: 1

Reply via email to