https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98777
Bug ID: 98777 Summary: [11 Regression] ICE in update_equiv at gcc/lra-constraints.c:504 since r11-6819-g4334b52427420312 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: vmakarov at gcc dot gnu.org Target Milestone: --- I see the following ICE with: $ gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse4_1-set-v16qi-1.c -m32 --param=max-iterations-to-track=1000 --param=max-completely-peeled-insns=0 -Ofast -funroll-loops -fno-forward-propagate -fsanitize=undefined -fno-peel-loops -fno-isolate-erroneous-paths-dereference -Winvalid-pch --param=hwasan-instrument-allocas=1 --param=max-delay-slot-insn-search=0 -fno-ivopts --param=modref-max-accesses=1542230368 -c during RTL pass: reload In file included from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse4_1-check.h:4, from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/set-v16qi-1.h:5, from /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/sse4_1-set-v16qi-1.c:8: /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/m128-check.h: In function ‘check_union128i_b’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/m128-check.h:96:1: internal compiler error: Segmentation fault 96 | } | ^ /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/m128-check.h:99:1: note: in expansion of macro ‘CHECK_EXP’ 99 | CHECK_EXP (union128i_b, char, "%d") | ^~~~~~~~~ 0xe6ec5a crash_signal /home/marxin/Programming/gcc/gcc/toplev.c:327 0xe5242a simplify_replace_fn_rtx(rtx_def*, rtx_def const*, rtx_def* (*)(rtx_def*, rtx_def const*, void*), void*) /home/marxin/Programming/gcc/gcc/simplify-rtx.c:515 0xcd93bb update_equiv /home/marxin/Programming/gcc/gcc/lra-constraints.c:504 0xcd93bb lra_constraints(bool) /home/marxin/Programming/gcc/gcc/lra-constraints.c:5035 0xcc559f lra(_IO_FILE*) /home/marxin/Programming/gcc/gcc/lra.c:2332 0xc7e3c4 do_reload /home/marxin/Programming/gcc/gcc/ira.c:5821 0xc7e3c4 execute /home/marxin/Programming/gcc/gcc/ira.c:6007 or one can see it with riscv64 cross compiler for the following test-case: $ cat struct-by-value.i typedef struct { _Complex e; _Complex f; _Complex g; _Complex h; _Complex i; _Complex j; _Complex k; _Complex l; _Complex m; _Complex n; _Complex o; _Complex p; } Scl16; Scl16 g1sScl16, g2sScl16, g3sScl16, g4sScl16, g5sScl16, g6sScl16, g7sScl16, g8sScl16, g9sScl16, g10sScl16, g11sScl16, g12sScl16, g13sScl16, g14sScl16, g15sScl16, g16sScl16; void testvaScl16(); void testitScl16() { testvaScl16(g10sScl16, g11sScl16, g12sScl16, g13sScl16, g14sScl16, g1sScl16, g2sScl16, g3sScl16, g4sScl16, g5sScl16, g6sScl16, g7sScl16, g8sScl16, g9sScl16, g10sScl16, g11sScl16, g12sScl16, g13sScl16, g14sScl16, g15sScl16, g16sScl16); } $ ~/BIG/bin/riscv64/dev/shm/buildbot/install/gcc/bin/riscv64-linux-gnu-gcc struct-by-value.i -fstrict-aliasing -O -c during RTL pass: reload struct-by-value.i: In function ‘testitScl16’: struct-by-value.i:28:1: internal compiler error: Segmentation fault 28 | } | ^ 0xafe90f crash_signal /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/toplev.c:327 0xaea4b7 simplify_replace_fn_rtx(rtx_def*, rtx_def const*, rtx_def* (*)(rtx_def*, rtx_def const*, void*), void*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/simplify-rtx.c:408 0x9a9348 update_equiv /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/lra-constraints.c:504 0x9a9348 lra_constraints(bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/lra-constraints.c:5035 0x997d62 lra(_IO_FILE*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/lra.c:2332 0x955f81 do_reload /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/ira.c:5821 0x955f81 execute /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-riscv64/build/gcc/ira.c:6007 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.