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

            Bug ID: 115142
           Summary: [14/15 Regression] Unrecognizable insn in
                    extract_insn, at recog.cc:2812 with -ftree-ter
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: patrick at rivosinc dot com
  Target Milestone: ---

Testcase:
long a;
char b;
void e() {
  char f[8][1];
  b = f[a][a];
}

Backtrace:
> /scratch/tc-testing/tc-apr-4/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc 
> -ftree-ter red.c
red.c: In function 'e':
red.c:6:1: error: unrecognizable insn:
    6 | }
      | ^
(insn 6 5 7 2 (set (reg:DI 138)
        (ashift:DI (mem/c:DI (symbol_ref:DI ("a") [flags 0x6] <var_decl
0x75ae5321cb40 a>) [1 a+0 S8 A64])
            (const_int 1 [0x1]))) "red.c":5:11 -1
     (nil))
during RTL pass: vregs
red.c:6:1: internal compiler error: in extract_insn, at recog.cc:2812
0xa97591 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../../gcc/gcc/rtl-error.cc:108
0xa975b3 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../../gcc/gcc/rtl-error.cc:116
0xa95e87 extract_insn(rtx_insn*)
        ../../../gcc/gcc/recog.cc:2812
0xf5e21e instantiate_virtual_regs_in_insn
        ../../../gcc/gcc/function.cc:1611
0xf5e21e instantiate_virtual_regs
        ../../../gcc/gcc/function.cc:1994
0xf5e21e execute
        ../../../gcc/gcc/function.cc:2041
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.

Godbolt: https://godbolt.org/z/ab7eh3o3E

Affects RISC-V, Loongarch64

Found via fuzzer.

Reply via email to