[Bug target/81951] New: [7/8 Regression] ICE returning 16 byte struct on s390x with -mno-lra
jcowgill+gcc at jcowgill dot uk
gcc-bugzilla@gcc.gnu.org
Wed Aug 23 17:41:00 GMT 2017
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.
More information about the Gcc-bugs
mailing list