https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93073
Bug ID: 93073 Summary: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-*-linux-gnu gcc-10.0.0-alpha20191222 snapshot (r279712), 8.2, 6.3 all ICE when compiling the following testcase w/ -mvsx -O1 -ffinite-math-only -fno-trapping-math: void hi (void); void bv (long double o1, double sl, double ru) { for (;;) { double xx; xx = o1 == 0.0 ? sl : ru; if (xx == 0.0) hi (); } } % powerpc-e300c3-linux-gnu-gcc-10.0.0-alpha20191222 -mvsx -O1 -ffinite-math-only -fno-trapping-math -c six5p5jr.c six5p5jr.c: In function 'bv': six5p5jr.c:15:1: error: unrecognizable insn: 15 | } | ^ (insn 9 8 10 2 (set (reg:TF 123) (minus:TF (reg/v:TF 118 [ o1 ]) (reg:TF 122))) -1 (nil)) during RTL pass: vregs six5p5jr.c:15:1: internal compiler error: in extract_insn, at recog.c:2294 0x66ce5c _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/rtl-error.c:108 0x66ce7c _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/rtl-error.c:116 0x66b09d extract_insn(rtx_insn*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/recog.c:2294 0xad7323 instantiate_virtual_regs_in_insn /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/function.c:1607 0xad7323 instantiate_virtual_regs /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/function.c:1977 0xad7323 execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/function.c:2026