https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84844
Bug ID: 84844 Summary: [8 Regression] ICE in extract_constrain_insn_cached, at recog.c:2217 (error: insn does not satisfy its constraints) 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-pc-linux-gnu-gcc gcc-8.0.0-alpha20180311 snapshot (r258438) ICEs when compiling the following snippet w/ -march=bdver1 (=bdver2) -O1 (-O2, -O3, -Ofast, -Og, -Os) -fschedule-insns -fselective-scheduling: double vl (int *hm, int ue, int jy) { *hm = ue; return jy; } % x86_64-pc-linux-gnu-gcc-8.0.0-alpha20180311 -march=bdver1 -O1 -fschedule-insns -fselective-scheduling -c iy3oz1yv.c iy3oz1yv.c: In function 'vl': iy3oz1yv.c:6:1: error: insn does not satisfy its constraints: } ^ (insn 19 0 0 (set (reg:DF 91) (float:DF (reg:SI 1 dx [ jy ]))) 205 {*floatsidf2_mixed} (expr_list:REG_DEAD (reg/v:SI 90 [ jy ]) (nil))) during RTL pass: sched1 iy3oz1yv.c:6:1: internal compiler error: in extract_constrain_insn_cached, at recog.c:2217 0x64a621 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/rtl-error.c:108 0x64a647 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/rtl-error.c:118 0x648bc4 extract_constrain_insn_cached(rtx_insn*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/recog.c:2217 0x118653d get_attr_type(rtx_insn*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/config/i386/i386.md:2241 0x11b6f86 internal_dfa_insn_code_bdver1(rtx_insn*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/config/i386/i386.md:15271 0x11a29a8 dfa_insn_code /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/build/gcc/insn-automata.c:150079 0x11a29a8 state_transition(void*, rtx_def*) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/build/gcc/insn-automata.c:150094 0xc5f1fd estimate_insn_cost /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:4291 0xc6b0ab get_expr_cost /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:4322 0xc6b0ab choose_best_insn /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:4351 0xc6b0ab find_best_expr /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:4401 0xc6b0ab fill_insns /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:5544 0xc6b0ab schedule_on_fences /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:7361 0xc6b0ab sel_sched_region_2 /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:7499 0xc6d227 sel_sched_region_1 /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:7541 0xc6d227 sel_sched_region(int) /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:7642 0xc6e288 run_selective_scheduling() /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sel-sched.c:7718 0xc4ddfd rest_of_handle_sched /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sched-rgn.c:3715 0xc4ddfd execute /var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180311/work/gcc-8-20180311/gcc/sched-rgn.c:3825