https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99570
Bug ID: 99570 Summary: internal error in extract_constrain_insn Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: arnd at linaro dot org Target Milestone: --- This happens in a couple of files when building the linux kernel with -Os, reduced a test case to: $ cat compaction.i typedef struct { long a } b; enum c { d } e[]; af, ah; f(b *g) { asm("" : "=m"(g->a)); } struct h { _Bool ab } static i(struct h *g, long j) { long k = 0, l = j; for (; j;) { enum c ad = m(); n(); f(&e[ad]); k += o(); if (g && g->ab) ++j; p(); } q(l, k); } r() { for (;;) i(af, ah); } $ x86_64-linux-gnu-gcc-11 -Os -c compaction.i compaction.i: In function ‘r’: compaction.i:25:1: error: unrecognizable insn: 25 | } | ^ (insn 22 20 23 4 (parallel [ (set (mem:DI (plus:DI (mult:DI (reg:DI 3 bx [orig:99 _9 ] [99]) (const_int 4 [0x4])) (symbol_ref:DI ("e") [flags 0x2] <var_decl 0x7f5b20afcb40 e>)) [2 MEM[(struct b *)_11].a+0 S8 A64]) (asm_operands:DI ("") ("=m") 0 [] [] [] compaction.i:6)) (clobber (reg:CC 17 flags)) ]) "compaction.i":6:11 -1 (nil)) during RTL pass: reload compaction.i:25:1: internal compiler error: in extract_constrain_insn, at recog.c:2670 0xce2eb1 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.c:108 0xce3057 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.c:116 0x95f537 extract_constrain_insn(rtx_insn*) ../../src/gcc/recog.c:2670 0x95f537 extract_constrain_insn(rtx_insn*) ../../src/gcc/recog.c:2666 0x95f537 check_rtl ../../src/gcc/lra.c:2087 0x17962bc lra(_IO_FILE*) ../../src/gcc/lra.c:2505 0x1794579 do_reload ../../src/gcc/ira.c:5827 0x1794579 execute ../../src/gcc/ira.c:6013 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions. $ x86_64-linux-gnu-gcc-11 --version x86_64-linux-gnu-gcc-11 (Ubuntu 11-20210306-1ubuntu1) 11.0.1 20210306 (experimental) [master revision 574e7601829:6b84c9062bc:84185598dc7470bad4e7f8c22b64e3c944efb670]