https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113805
Bug ID: 113805 Summary: [aarch64][sme2] ICE in extract_insn, at recog.cc:2812 with r14-6178-g8d29b7aca15133 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: mjires at suse dot cz CC: rsandifo at gcc dot gnu.org Target Milestone: --- Target: aarch64 Compiling reduced testcase gcc.target/aarch64/sme/zt0_state_5.c results in ICE since it was introduced in r14-6178-g8d29b7aca15133. $ cat zt0_state_5.c #pragma GCC target "+sme2" void in_zt0() __arm_in("zt0"); __arm_new("zt0") void test12() { in_zt0(); } $ aarch64-linux-gnu-gcc zt0_state_5.c -mtrack-speculation zt0_state_5.c: In function ‘test12’: zt0_state_5.c:3:44: error: unrecognizable insn: 3 | __arm_new("zt0") void test12() { in_zt0(); } | ^ (jump_insn 36 12 37 (set (pc) (if_then_else (eq (reg:DI 0 x0 [100]) (const_int 0 [0])) (label_ref 40) (pc))) "zt0_state_5.c":3:34 -1 (nil) -> 40) during RTL pass: split5 zt0_state_5.c:3:44: internal compiler error: in extract_insn, at recog.cc:2812 0x16f1c94 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/mjires/git/GCC/master/gcc/rtl-error.cc:108 0x16f1cd5 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/mjires/git/GCC/master/gcc/rtl-error.cc:116 0x16a27f6 extract_insn(rtx_insn*) /home/mjires/git/GCC/master/gcc/recog.cc:2812 0x16a24b5 extract_insn_cached(rtx_insn*) /home/mjires/git/GCC/master/gcc/recog.cc:2701 0x120209c cleanup_subreg_operands(rtx_insn*) /home/mjires/git/GCC/master/gcc/final.cc:3053 0x16a3fd2 split_insn /home/mjires/git/GCC/master/gcc/recog.cc:3441 0x16a42b6 split_all_insns_noflow() /home/mjires/git/GCC/master/gcc/recog.cc:3567 0x16a62f4 execute /home/mjires/git/GCC/master/gcc/recog.cc:4641 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-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER=/home/mjires/built/master/libexec/gcc/aarch64-linux-gnu/14.0.1/lto-wrapper Target: aarch64-linux-gnu Configured with: /home/mjires/git/GCC/master/configure --prefix=/home/mjires/built/master --target=aarch64-linux-gnu --disable-bootstrap --enable-languages=c,c++,fortran --disable-multilib --disable-libsanitizer --enable-checking : (reconfigured) /home/mjires/git/GCC/master/configure --prefix=/home/mjires/built/master --target=aarch64-linux-gnu --disable-bootstrap --enable-languages=c,c++,fortran --disable-multilib --disable-libsanitizer --enable-checking Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.0.1 20240207 (experimental) (GCC)