https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113778
Bug ID: 113778 Summary: ICE: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx code_label) in PATTERN, at rtl.h:1506 with -march=armv9-a+sme -fhardened Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Target: aarch64-unknown-linux-gnu Created attachment 57333 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57333&action=edit reduced testcase (from gcc.target/aarch64/sme/sibcall_6.c) This might need RTL checking enabled. Compiler output: $ aarch64-unknown-linux-gnu-gcc -march=armv9-a+sme -fhardened sibcall_6.i during RTL pass: mode_sw sibcall_6.i: In function 'shared_to_normal': sibcall_6.i:2:65: internal compiler error: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx code_label) in PATTERN, at rtl.h:1506 2 | void shared_to_normal() [[arm::inout("za")]] { normal_callee(); } | ^ 0x86155c rtl_check_failed_type2(rtx_def const*, int, int, int, char const*, int, char const*) /repo/gcc-trunk/gcc/rtl.cc:761 0x86229d PATTERN(rtx_def const*) /repo/gcc-trunk/gcc/rtl.h:1506 0x864803 PATTERN(rtx_def const*) /repo/gcc-trunk/gcc/rtl.h:1506 0x864803 rtx_properties::try_to_add_insn(rtx_insn const*, bool) /repo/gcc-trunk/gcc/rtlanal.cc:2344 0x1721ce6 growing_rtx_properties<vec_rtx_properties_base>::add_insn(rtx_insn const*, bool)::{lambda()#1}::operator()() const /repo/gcc-trunk/gcc/rtlanal.h:288 0x1721ce6 void growing_rtx_properties<vec_rtx_properties_base>::repeat<growing_rtx_properties<vec_rtx_properties_base>::add_insn(rtx_insn const*, bool)::{lambda()#1}>(growing_rtx_properties<vec_rtx_properties_base>::add_insn(rtx_insn const*, bool)::{lambda()#1}) /repo/gcc-trunk/gcc/rtlanal.h:246 0x1721ce6 growing_rtx_properties<vec_rtx_properties_base>::add_insn(rtx_insn const*, bool) /repo/gcc-trunk/gcc/rtlanal.h:288 0x1721ce6 aarch64_mode_emit /repo/gcc-trunk/gcc/config/aarch64/aarch64.cc:29450 0x230de87 optimize_mode_switching /repo/gcc-trunk/gcc/mode-switching.cc:1210 0x230de87 execute /repo/gcc-trunk/gcc/mode-switching.cc:1309 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. $ aarch64-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-aarch64/bin/aarch64-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r14-8795-20240204180638-g91e09b3a7e9-checking-yes-rtl-df-extra-aarch64/bin/../libexec/gcc/aarch64-unknown-linux-gnu/14.0.1/lto-wrapper Target: aarch64-unknown-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --with-cloog --with-ppl --with-isl --with-sysroot=/usr/aarch64-unknown-linux-gnu --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-unknown-linux-gnu --with-ld=/usr/bin/aarch64-unknown-linux-gnu-ld --with-as=/usr/bin/aarch64-unknown-linux-gnu-as --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r14-8795-20240204180638-g91e09b3a7e9-checking-yes-rtl-df-extra-aarch64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.0.1 20240205 (experimental) (GCC)