https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84899
Bug ID: 84899 Summary: ICE: in final_scan_insn_1, at final.c:3139 (error: could not split insn) Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-invalid-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, powerpcspe-*-linux-gnu gcc-8.0.0-alpha20180311 snapshot (r258438) ICEs when compiling the following snippet w/ -O1 (-Og) -funroll-all-loops -fno-move-loop-invariants for BE powerpc targets: #include <limits.h> void r7 (int kp) { int ji = 1 / kp, dz = 0; while ((ji + dz + 1) < kp) dz = INT_MAX; } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180311 -O1 -funroll-all-loops -fno-move-loop-invariants -c kixnpbrv.c kixnpbrv.c: In function 'r7': kixnpbrv.c:11:1: error: could not split insn } ^ (insn 119 28 24 (set (reg:SI 5 5 [orig:129 dz ] [129]) (const_int 2147483648 [0x80000000])) "kixnpbrv.c":9 503 {*movsi_internal1} (nil)) during RTL pass: final kixnpbrv.c:11:1: internal compiler error: in final_scan_insn_1, at final.c:3139 0x556070 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/rtl-error.c:108 0x8997ef final_scan_insn_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/final.c:3139 0x899b77 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/final.c:3218 0x899d07 final_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/final.c:2088 0x89ac27 rest_of_handle_final /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/final.c:4671 0x89ac27 execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/final.c:4745