https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96308
Bug ID: 96308
Summary: ICE in s390_cannot_force_const_mem, at
config/s390/s390.c:4153
Product: gcc
Version: 11.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: krebbel at gcc dot gnu.org
Target Milestone: ---
Host: x86_64-linux-gnu
Target: s390x-linux-gnu
I see the following ICE on:
$ cat no_destroy.cpp
struct NonTrivial3 {
~NonTrivial3();
};
void i() { thread_local NonTrivial3 tlarr[10]; }
$ ~/BIG/bin/s390x/dev/shm/buildbot/install/gcc/bin/s390x-linux-gnu-g++
no_destroy.cpp -Os -fno-move-loop-invariants
during RTL pass: loop2_doloop
no_destroy.cpp: In function ‘void __tcf_0(void*)’:
no_destroy.cpp:4:45: internal compiler error: in s390_cannot_force_const_mem,
at config/s390/s390.c:4153
4 | void i() { thread_local NonTrivial3 tlarr[10]; }
| ^
0x5c4bdf s390_cannot_force_const_mem
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/config/s390/s390.c:4153
0xe86ee2 force_const_mem(machine_mode, rtx_def*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/varasm.c:3821
0x906fdb emit_move_insn(rtx_def*, rtx_def*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/expr.c:3902
0x8e643e copy_to_mode_reg(machine_mode, rtx_def*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/explow.c:633
0xb10eb8 maybe_legitimize_operand
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/optabs.c:7166
0xb10eb8 maybe_legitimize_operands(insn_code, unsigned int, unsigned int,
expand_operand*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/optabs.c:7298
0xb0ecd9 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/optabs.c:7317
0xb138c0 expand_binop_directly
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/optabs.c:1122
0xb11e6d expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*,
int, optab_methods)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/optabs.c:1209
0x90b258 force_operand(rtx_def*, rtx_def*)
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/expr.c:7708
0x12be66e doloop_modify
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/loop-doloop.c:523
0x12be66e doloop_optimize
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/loop-doloop.c:783
0x12be66e doloop_optimize_loops()
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/loop-doloop.c:802
0xa741d8 execute
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/loop-init.c:636
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.