https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83969
Bug ID: 83969
Summary: [8 Regression] ICE in final_scan_insn, at final.c:2997
(error: could not split insn) for powerpc targets
Product: gcc
Version: 8.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-8.0.0-alpha20180121 snapshot (r256935) ICEs when compiling the following
snippet w/ -mcpu=G5 (7400, 7450, 970, G4, cell, e6500) -O1 (-O2, -O3, -Ofast)
-ftree-loop-vectorize -fno-split-wide-types:
long long int
n7 (int po, long long int r4)
{
while (po < 1)
{
r4 |= 1;
++po;
}
return r4;
}
% powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180121 -mcpu=G5 -O1
-ftree-loop-vectorize -fno-split-wide-types -c rpzs7fm3.c
rpzs7fm3.c: In function 'n7':
rpzs7fm3.c:11:1: error: could not split insn
}
^
(insn 29 28 99 (set (reg:TI 8 8 [orig:128 vect_r4_6.4 ] [128])
(mem/c:TI (plus:SI (reg/f:SI 1 1)
(reg:SI 3 3 [154])) [0 S16 A128])) "rpzs7fm3.c":6 614
{*movti_string}
(nil))
during RTL pass: final
rpzs7fm3.c:11:1: internal compiler error: in final_scan_insn, at final.c:2997
0x54cbf8 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180121/work/gcc-8-20180121/gcc/rtl-error.c:108
0x88b8fe final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180121/work/gcc-8-20180121/gcc/final.c:2997
0x88bcb7 final(rtx_insn*, _IO_FILE*, int)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180121/work/gcc-8-20180121/gcc/final.c:1999
0x88c26a rest_of_handle_final
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180121/work/gcc-8-20180121/gcc/final.c:4485
0x88c26a execute
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180121/work/gcc-8-20180121/gcc/final.c:4559