https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84301
Bug ID: 84301 Summary: ICE in create_pre_exit, at mode-switching.c:451 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-checking Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: x86_64-pc-linux-gnu gcc-8.0.0-alpha20180204 snapshot (r257367), 7.2, 6.3, 5.4 all ICE when compiling the following snippet w/ -march=bdver1 -O1 -fexpensive-optimizations -fschedule-insns -fselective-scheduling -fno-dce -fno-tree-dce --param max-pending-list-length=0 --param selsched-max-lookahead=2 and checking enabled: int lr; long int xl; int v4 (void) { int mp; ++xl; mp = (lr - xl) > 1; } % gcc-8.0.0-alpha20180204 -march=bdver1 -O1 -fexpensive-optimizations -fschedule-insns -fselective-scheduling -fno-dce -fno-tree-dce --param max-pending-list-length=0 --param selsched-max-lookahead=2 -c fmzjfzde.c during RTL pass: vzeroupper fmzjfzde.c: In function 'v4': fmzjfzde.c:11:1: internal compiler error: in create_pre_exit, at mode-switching.c:451 } ^ 0x7312a3 create_pre_exit /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/mode-switching.c:438 0x7312a3 optimize_mode_switching /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/mode-switching.c:534 0x7312a3 execute /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/mode-switching.c:892 0xfa5675 rest_of_handle_insert_vzeroupper /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/config/i386/i386.c:894 0xfa5675 execute /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180204/work/gcc-8-20180204/gcc/config/i386/i386.c:2514