http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58679
Bug ID: 58679 Summary: [4.9 regression] ICE in create_pre_exit, at mode-switching.c:421 with -mavx after r202915 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: izamyatin at gmail dot com CC: yvan.roux at linaro dot org Host: x86 Target: x86 Happens with gcc.c-torture/execute/pr30185.c with just "-O2 -mavx" options. Removing all REG_DEAD and REG_UNUSED notes as said in r202915 affected work of single_set_2 for if (GET_CODE (pat) == PARALLEL) and hence in mode-switching.c single_set now returns NULL for return_copy_pat = single_set (return_copy); Not sure who is exactly wrong here - create_pre_exit code doesn't look very clear :(