https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121543
Bug ID: 121543 Summary: ICE in extract_insn, at recog.cc:2882 on riscv64-linux-gnu with i686-linux-gnu host Product: gcc Version: 15.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- Created attachment 62118 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=62118&action=edit preprocessed source seen with the gcc-15 branch 20250812 targeting riscv64-linux-gnu with a i686-linux-gnu host. Using a 64bit host doesn't show this issue: building with -march=rv64gc also doesn't show this issue. building libbacktrace/dwarf.c /home/packages/cross/15/u/gcc-cross/gcc/build/./gcc/xgcc -B/home/packages/cross/15/u/gcc-cross/gcc/build/./ gcc/ -B/usr/riscv64-linux-gnu/bin/ -B/usr/riscv64-linux-gnu/lib/ -isystem /usr/riscv64-linux-gnu/include -isystem /usr/riscv64 -linux-gnu/sys-include -isystem /home/packages/cross/15/u/gcc-cross/gcc/build/sys-include -DHAVE_CONFIG_H -I. -I../../../src/l ibbacktrace -I ../../../src/libbacktrace/../include -I ../../../src/libbacktrace/../libgcc -I ../libgcc -funwind-tables -frand om-seed=dwarf.lo -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-att ribute -Wcast-qual -Wno-attributes -Wpointer-arith -fno-omit-frame-pointer -c ../../../src/libbacktrace/dwarf.c -fPIC -DPIC - o .libs/dwarf.o ../../../src/libbacktrace/dwarf.c: In function 'is_highest_address': ../../../src/libbacktrace/dwarf.c:619:1: error: unrecognizable insn: 619 | } | ^ (insn 80 79 81 12 (set (reg:DI 183) (and:DI (reg:DI 185) (const_int 2147483647 [0x7fffffff]))) "../../../src/libbacktrace/dwarf.c":613:22 -1 (expr_list:REG_EQUAL (const_int -4294967295 [0xffffffff00000001]) (nil))) during RTL pass: vregs ../../../src/libbacktrace/dwarf.c:619:1: internal compiler error: in extract_insn, at recog.cc:2882 0xa748b83 internal_error(char const*, ...) ../../src/gcc/diagnostic-global-context.cc:517 0x86374fb fancy_abort(char const*, int, char const*) ../../src/gcc/diagnostic.cc:1749 0x8601148 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.cc:108 0x8601177 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../src/gcc/rtl-error.cc:116 0x8600561 extract_insn(rtx_insn*) ../../src/gcc/recog.cc:2882 0x896c3b8 instantiate_virtual_regs_in_insn ../../src/gcc/function.cc:1612 0x896c3b8 instantiate_virtual_regs ../../src/gcc/function.cc:1995 0x896c3b8 execute ../../src/gcc/function.cc:2042 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. GCC is configured with --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2,cobol --prefix=/usr --with-gcc-major-version-only --program-suffix=-15 --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --without-target-system-zlib --enable-multiarch --disable-werror --disable-multilib --with-abi=lp64d --with-arch=rv64i_m_a_f_d_c_b_v_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbs_zkt_zvbb_zve32f_zve32x_zve64d_zve64f_zve64x_zvfhmin_zvkb_zvkt_zvl128b_zvl32b_zvl64b_supm --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=riscv64-linux-gnu --program-prefix=riscv64-linux-gnu- --includedir=/usr/riscv64-linux-gnu/include cvise 2.11 isn't able to reduce, extending the source beyond the initial size. [...] 00:07:57 INFO (31.3%, 156714 bytes, 1278 lines) 00:08:02 INFO (-11.8%, 255018 bytes, 1278 lines) 00:08:02 INFO skipping the rest of the pass (huge file increasement 300%) 00:08:02 INFO ===< ClangPass::callexpr-to-value >=== 00:08:13 INFO (-11.7%, 254960 bytes, 1278 lines) 00:08:20 INFO (-11.7%, 254884 bytes, 1278 lines) extending in dwarf_fileline for (ddata = state->fileline_data; state->fileline_data != 0 ; ddata = ddata->next->next->next->next->next->next ... some thousand times.