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

Reply via email to