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

            Bug ID: 123833
           Summary: [16 Regression] mips64el: ICE at -O1 during RTL pass:
                    ce1
           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: ---

Testcase:
#include <stdint.h>
#define BS_VEC(type, num) type __attribute__((vector_size(num * sizeof(type))))
BS_VEC(int8_t, 2) backsmith_pure_0(int64_t);
uint64_t backsmith_pure_4(int16_t BS_ARG_0)
{
    BS_VEC(int16_t, 16)
    BS_VAR_0 = __builtin_convertvector(
        __builtin_shufflevector(backsmith_pure_0(0), backsmith_pure_0(0), 0, 2,
                                2, 3, 2, 1, 2, 3, 0, 2, 0, 0, 2, 2, 0, 1),
        BS_VEC(int16_t, 16));
    for (;;)
    {
        if (__builtin_ctzg((uint8_t)BS_VAR_0[3], BS_ARG_0))
            for (;;);
        return 0;
    }
}

Command:
> mips64el-unknown-linux-musl-gcc -O1 test.c
Dump:
during RTL pass: ce1
a.c: In function 'backsmith_pure_4':
a.c:17:1: internal compiler error: in mips_load_store_insns, at
config/mips/mips.cc:31
51
   17 | }
      | ^
0x71170e829d8f __libc_start_call_main
        ../sysdeps/nptl/libc_start_call_main.h:58
0x71170e829e3f __libc_start_main_impl
        ../csu/libc-start.c:392
/opt/mips64/bin/../libexec/gcc/mips64el-unknown-linux-musl/16.0.1/cc1 -quiet
-iprefix 
/opt/mips64/bin/../lib/gcc/mips64el-unknown-linux-musl/16.0.1/ -isysroot
/opt/mips64/b
in/../mips64el-unknown-linux-musl/sysroot a.c -mel -quiet -dumpbase a.c
-dumpbase-ext 
.c -mabi=64 -mhard-float -mllsc -mno-shared -O1 -o /tmp/ccZwKqMB.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to