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.