https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81951
Bug ID: 81951 Summary: [7/8 Regression] ICE returning 16 byte struct on s390x with -mno-lra Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jcowgill+gcc at jcowgill dot uk Target Milestone: --- This works with GCC 6, but is broken on GCC 7 and GCC 8. I know that -mno-lra is pretty much dead, but I thought I would submit this bug anyway. $ cat test.cpp struct big { int a, b, c, d; }; big retbig() { return {}; } $ ../build-s390/gcc/xg++ -B../build-s390/gcc -S -mno-lra -O1 test.cpp test.cpp: In function ‘big retbig()’: test.cpp:2:27: error: insn does not satisfy its constraints: big retbig() { return {}; } ^ (insn 15 3 6 2 (set (reg:TI 4 %r4) (const_int 0 [0])) "test.cpp":2 1266 {movti} (nil)) during RTL pass: postreload test.cpp:2:27: internal compiler error: in extract_constrain_insn, at recog.c:2213 0x109b695 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:108 0x109b6f5 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:118 0x1048b7f extract_constrain_insn(rtx_insn*) ../../gcc/gcc/recog.c:2213 0x1012b96 reload_cse_simplify_operands ../../gcc/gcc/postreload.c:391 0x101205c reload_cse_simplify ../../gcc/gcc/postreload.c:120 0x10123bf reload_cse_regs_1 ../../gcc/gcc/postreload.c:218 0x1011ed5 reload_cse_regs ../../gcc/gcc/postreload.c:64 0x1017918 execute ../../gcc/gcc/postreload.c:2342 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.