https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87510
Bug ID: 87510 Summary: ICE in gen_reg_rtx, at emit-rtl.c:1155 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: --- Host: x86_64-pc-linux-gnu Target: ppc64le-linux-gnu Following ICEs: $ cat ice.cpp // RUN: %clang_cc1 -verify -fsyntax-only %s float foof(float x); double food(double x); void foo(bool b, float f); void bar() { float c = 1.7; bool b = c; double e = 1.7; b = e; b = foof(4.0); b = foof(c < 1); // expected-warning {{implicit conversion turns floating-point number into bool: 'float' to 'bool'}} b = food(e < 2); // expected-warning {{implicit conversion turns floating-point number into bool: 'double' to 'bool'}} foo(c, b); // expected-warning {{implicit conversion turns floating-point number into bool: 'float' to 'bool'}} foo(c, c); } $ gcc ice.cpp -mno-popcntd -mcpu=power9 -c during RTL pass: split5 ice.cpp: In function ‘void bar()’: ice.cpp:24:1: internal compiler error: in gen_reg_rtx, at emit-rtl.c:1155 24 | } | ^ 0x58d260 gen_reg_rtx(machine_mode) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/emit-rtl.c:1155 0xfc1399 gen_floatdisf2(rtx_def*, rtx_def*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/config/rs6000/rs6000.md:6237 0xfc1ab2 gen_split_168(rtx_insn*, rtx_def**) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/config/rs6000/rs6000.md:5594 0x8645f6 try_split(rtx_def*, rtx_insn*, int) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/emit-rtl.c:3851 0xaa6451 split_insn /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/recog.c:2893 0xaaae87 split_all_insns_noflow() /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/recog.c:3055 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.