https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88055
Bug ID: 88055
Summary: ICE in extract_insn, at recog.c:2305 on ppc64le
Product: gcc
Version: 9.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: segher at gcc dot gnu.org
Target Milestone: ---
Following is causing ICE:
$ cat ice.i
int a;
void b() {
__builtin_sinh(a);
__builtin_sinhf(a);
__builtin_sinhl(a);
}
$ ppc64le-linux-gnu-gcc -fno-tree-dce -fno-tree-forwprop -Ofast ice.i
ice.i: In function ‘b’:
ice.i:6:1: error: unrecognizable insn:
6 | }
| ^
(insn 11 10 12 2 (set (reg:DI 135)
(unlt:DI (reg:CCFP 134)
(const_int 0 [0]))) -1
(nil))
during RTL pass: vregs
ice.i:6:1: internal compiler error: in extract_insn, at recog.c:2305
0x574aef _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/rtl-error.c:108
0x574b0b _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/rtl-error.c:116
0x573ff8 extract_insn(rtx_insn*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/recog.c:2305
0x7c2e1f instantiate_virtual_regs_in_insn
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/function.c:1605
0x7c2e1f instantiate_virtual_regs
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/function.c:1975
0x7c2e1f execute
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/function.c:2024