https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95907
Bug ID: 95907
Summary: ICE in unrecognizable insn
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: bergner at gcc dot gnu.org, segher at gcc dot gnu.org,
wschmidt at gcc dot gnu.org
Target Milestone: ---
Host: x86_64-linux-gnu
Target: powerpc64-linux-gnu
I see the following ICE:
$ cat x.cpp
int foobool_argc;
bool foobool() { return foobool_argc; }
$ ppc64-linux-gnu-g++ x.cpp -mpower10
x.cpp: In function ‘bool foobool()’:
x.cpp:2:39: error: unrecognizable insn:
2 | bool foobool() { return foobool_argc; }
| ^
(insn 9 8 10 2 (set (reg:SI 122)
(if_then_else:SI (eq (reg:CC 123)
(const_int 0 [0]))
(const_int 0 [0])
(reg:SI 124))) "x.cpp":2:25 -1
(nil))
during RTL pass: vregs
x.cpp:2:39: internal compiler error: in extract_insn, at recog.c:2294
0x5c7e83 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/rtl-error.c:108
0x5c7e9f _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/rtl-error.c:116
0x5c7340 extract_insn(rtx_insn*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/recog.c:2294
0x95fabf instantiate_virtual_regs_in_insn
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/function.c:1607
0x95fabf instantiate_virtual_regs
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/function.c:1977
0x95fabf execute
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64/build/gcc/function.c:2026
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.