https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115608
Bug ID: 115608 Summary: ICE in extract_insn, at recog.cc:2812 when building with -mv8plus Product: gcc Version: 14.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: glaubitz at physik dot fu-berlin.de CC: ebotcazou at gcc dot gnu.org, jrtc27 at jrtc27 dot com, matorola at gmail dot com, sjames at gcc dot gnu.org Target Milestone: --- Target: sparc-linux-gnu Support for the V8+ API seems to be broken in GCC as even trying to build a simple program with "-mv8plus" fails: (sid_sparc64-dchroot)glaubitz@stadler:~$ cat hello.c #include <stdio.h> int main () { printf("Hello World!"); return 0; } (sid_sparc64-dchroot)glaubitz@stadler:~$ gcc-14 -mv8plus hello.c -o hello hello.c: In function 'main': hello.c:6:1: error: unrecognizable insn: 6 | } | ^ (insn 6 5 7 2 (set (reg:DI 115) (lo_sum:DI (reg:DI 115) (unspec:DI [ (symbol_ref/f:SI ("*.LC0") [flags 0x2] <var_decl 0xfff8000101c305a0 *.LC0>) ] UNSPEC_MOVE_PIC))) "hello.c":4:3 -1 (nil)) during RTL pass: vregs hello.c:6:1: internal compiler error: in extract_insn, at recog.cc:2812 0x4d60a7 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.cc:108 0x4d60d7 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.cc:116 0xb3b21b extract_insn(rtx_insn*) ../../src/gcc/recog.cc:2812 0x9e29eb instantiate_virtual_regs_in_insn ../../src/gcc/function.cc:1612 0x9e29eb instantiate_virtual_regs ../../src/gcc/function.cc:1995 0x9e29eb execute ../../src/gcc/function.cc:2042 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <file:///usr/share/doc/gcc-14/README.Bugs> for instructions. (sid_sparc64-dchroot)glaubitz@stadler:~$