https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81534
Bug ID: 81534 Summary: [7 Regression] ICE in in extract_insn, at recog.c:2311 (unrecognizable insn) Product: gcc Version: 7.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- seen with gcc-7-branch 20170724 on s390x-linux-gnu. Looks like a variant of PR78738 and PR78748. $ cat global_statistics.i struct { short b; long c } a = {}; d() { __atomic_fetch_add(&a.b, 0, 5); } $ gcc -march=zEC12 -c -g -O2 global_statistics.i global_statistics.i:4:1: warning: no semicolon at end of struct or union } a = {}; ^ global_statistics.i:5:1: warning: return type defaults to 'int' [-Wimplicit-int] d() { __atomic_fetch_add(&a.b, 0, 5); } ^ global_statistics.i: In function 'd': global_statistics.i:5:1: error: unrecognizable insn: (insn 21 20 22 4 (parallel [ (set (reg:SI 71) (mem/v:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl 0x3ff82af1240 a>) [-1 S4 A64])) (set (mem/v:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl 0x3ff82af1240 a>) [-1 S4 A64]) (unspec_volatile:SI [ (mem/v:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl 0x3ff82af1240 a>) [-1 S4 A64]) (reg:SI 71) (reg:SI 75) ] UNSPECV_CAS)) (set (reg:CCZ1 33 %cc) (compare:CCZ1 (mem/v:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl 0x3ff82af1240 a>) [-1 S4 A64]) (reg:SI 71))) ]) "global_statistics.i":5 -1 (nil)) global_statistics.i:5:1: internal compiler error: in extract_insn, at recog.c:2311 0x159681d _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.c:108 0x159685d _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.c:116 0x1565907 extract_insn(rtx_insn*) ../../src/gcc/recog.c:2311 0x1382d29 instantiate_virtual_regs_in_insn ../../src/gcc/function.c:1637 0x1382d29 instantiate_virtual_regs ../../src/gcc/function.c:1957 0x1382d29 execute ../../src/gcc/function.c:2006 Please submit a full bug report, with preprocessed source if appropriate.