https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88070
Bug ID: 88070 Summary: [8/9 Regression] ICE in create_pre_exit, at mode-switching.c:438 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: x86_64-unknown-linux-gnu gcc-9.0.0-alpha20181111 snapshot (r266019) ICEs when compiling the following snippet extracted from gcc/testsuite/gcc.dg/pr63594-2.c at any optimization level except -Os and w/ -mavx -fexpensive-optimizations -fnon-call-exceptions -fschedule-insns -fno-dce -fno-dse: typedef float vfloat2 __attribute__ ((__vector_size__ (2 * sizeof (float)))); __attribute__((noinline, noclone)) vfloat2 test1float2 (float c) { vfloat2 v = { c, c }; return v; } % x86_64-unknown-linux-gnu-gcc-9.0.0-alpha20181111 -mavx -O1 -fexpensive-optimizations -fnon-call-exceptions -fschedule-insns -fno-dce -fno-dse -c jsud8y1a.c during RTL pass: vzeroupper jsud8y1a.c: In function 'test1float2': jsud8y1a.c:8:1: internal compiler error: in create_pre_exit, at mode-switching.c:438 8 | } | ^ 0x757f43 create_pre_exit /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181111/work/gcc-9-20181111/gcc/mode-switching.c:438 0x757f43 optimize_mode_switching /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181111/work/gcc-9-20181111/gcc/mode-switching.c:534 0x757f43 execute /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181111/work/gcc-9-20181111/gcc/mode-switching.c:892 0xff0b94 rest_of_handle_insert_vzeroupper /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181111/work/gcc-9-20181111/gcc/config/i386/i386.c:891 0xff0b94 execute /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181111/work/gcc-9-20181111/gcc/config/i386/i386.c:2511