https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99949
Bug ID: 99949 Summary: ICE in setup_reg_classes, at reginfo.c:956 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 The following fails, likely 11 regression: $ cat z990.C struct S { int e; char f[1024]; } g[8]; S foo(int, int, int, S, int, int); int bar_a; void bar(int b, int c, S d, int e, int f) { #define A(N) \ g[N] = foo(bar_a, b, c, d, e, f); \ g[67] = foo(bar_a, b, c, d, e, f); A(48) } $ s390x-linux-gnu-gcc z990.C -c --param=max-cse-insns=100 -march=z990 -O1 during RTL pass: reload z990.C: In function ‘void bar(int, int, S, int, int)’: z990.C:12:1: internal compiler error: in setup_reg_classes, at reginfo.c:956 12 | } | ^ 0x5eaa8d setup_reg_classes(int, reg_class, reg_class, reg_class) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/reginfo.c:956 0xb1cfae lra_change_class /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/lra-int.h:433 0xb1cfae curr_insn_transform /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/lra-constraints.c:4407 0xb1e3c5 lra_constraints(bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/lra-constraints.c:5169 0xb0cc42 lra(_IO_FILE*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/lra.c:2336 0xacb299 do_reload /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/ira.c:5835 0xacb299 execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-s390x/build/gcc/ira.c:6021 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.