https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91469
Bug ID: 91469 Summary: [10 Regression] ICE in extract_insn, at recog.c:2310 since r274481 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: rguenth at gcc dot gnu.org, uros at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu Yet another fallout from the the patch: $ cat ice.i int a, b, e; long long c; int d[6]; void fn1() { int i; unsigned f; c = a; f = i; for (; i < b; i++) if (d[i] > f) f = d[i]; e = f; } $ gcc ice.i -funroll-loops -O2 -fno-gcse -m32 -mavx512vbmi -fno-ivopts ice.i: In function ‘fn1’: ice.i:14:1: error: unrecognizable insn: 14 | } | ^ (insn 72 69 14 3 (set (reg:SI 115) (mem:SI (plus:SI (mult:SI (subreg:V4SI (reg:SI 114) 0) (const_int 4 [0x4])) (symbol_ref:SI ("d") [flags 0x2] <var_decl 0x7f9229914cf0 d>)) [1 d S4 A32])) -1 (nil)) during RTL pass: subreg3 ice.i:14:1: internal compiler error: in extract_insn, at recog.c:2310 0x6bab09 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/rtl-error.c:108 0x6bab25 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/rtl-error.c:116 0x6b8cad extract_insn(rtx_insn*) /home/marxin/Programming/gcc/gcc/recog.c:2310 0x16d1af7 decompose_multiword_subregs /home/marxin/Programming/gcc/gcc/lower-subreg.c:1540 0x16d2c2d execute /home/marxin/Programming/gcc/gcc/lower-subreg.c:1808 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.