https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80903
Bug ID: 80903 Summary: [8 Regression] ICE: internal consistency failure (error: invalid rtl sharing found in the insn) Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization 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-alpha20170521 snapshot ICEs when compiling the following snippet w/ -mcpu=powerpc -O2 (-O3, -Ofast) -funroll-loops: short int ws; void oe (int rw, short int vr, short int qo) { if (vr != 0) { const short int sp = 37; vr = 0; while (vr < sp) { while (vr < sp) { al: ++vr; } for (vr = 0; vr < sp - 1; ++vr) { } if (qo != 0) { --ws; vr *= ws; } qo = rw; } rw = 0; } goto al; } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20170521 -mcpu=powerpc -O2 -funroll-loops -c avdjh81j.c avdjh81j.c: In function 'oe': avdjh81j.c:32:1: error: invalid rtl sharing found in the insn } ^ (insn 450 449 452 81 (set (subreg:HI (reg:SI 220) 2) (subreg:HI (reg:SI 222) 2)) -1 (nil)) avdjh81j.c:32:1: error: shared rtx (subreg:HI (reg:SI 220) 2) avdjh81j.c:32:1: internal compiler error: internal consistency failure 0x84f5de verify_rtx_sharing /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170521/work/gcc-8-20170521/gcc/emit-rtl.c:2777 0x84f4ef verify_rtx_sharing /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170521/work/gcc-8-20170521/gcc/emit-rtl.c:2792 0x84f9de verify_insn_sharing /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170521/work/gcc-8-20170521/gcc/emit-rtl.c:2863 0x855b77 verify_rtl_sharing() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170521/work/gcc-8-20170521/gcc/emit-rtl.c:2886 0xb465a6 execute_function_todo /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170521/work/gcc-8-20170521/gcc/passes.c:1990 0xb473eb execute_todo /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170521/work/gcc-8-20170521/gcc/passes.c:2023 It's reproducible not only w/ -mcpu=powerpc, but actually w/ any target CPU name from the following list: 401 403 476 476fp 601 604 8540 8548 a2 e300c2 e300c3 e500mc e500mc64 e5500 e6500 power6 power6x powerpc64 rs64 titan.