https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105247
Bug ID: 105247 Summary: IA64: ICE on sqlite-3.38.2: in decompose, at rtl.h:2288 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: slyfox at gcc dot gnu.org Target Milestone: --- Target: ia64-unknown-linux-gnu Noticed when built sqlite with thsi week's gcc for ia64 target. Extracted example: int sqlite3CodeVerifySchemaAtToplevel_pToplevel_0; void sqlite3CodeVerifySchema(); void sqlite3FindInIndex_pParse() { int i = -8; sqlite3CodeVerifySchema(sqlite3FindInIndex_pParse, i); } void sqlite3CodeVerifySchema(int, int iDb) { sqlite3CodeVerifySchemaAtToplevel_pToplevel_0 |= 1 << iDb; } $ ia64-unknown-linux-gnu-gcc -O1 -c sqlite3-sqlite3.o.c -o a.o during RTL pass: cse1 sqlite3-sqlite3.o.c: In function 'sqlite3FindInIndex_pParse': sqlite3-sqlite3.o.c:7:1: internal compiler error: in decompose, at rtl.h:2288 7 | } | ^ 0xa02263 wi::int_traits<std::pair<rtx_def*, machine_mode> >::decompose(long*, unsigned int, std::pair<rtx_def*, machine_mode> const&) ../../gcc-12-20220410/gcc/rtl.h:2288 0xa02263 wide_int_ref_storage<false, false>::wide_int_ref_storage<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../gcc-12-20220410/gcc/wide-int.h:1024 0xa02263 generic_wide_int<wide_int_ref_storage<false, false> >::generic_wide_int<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../gcc-12-20220410/gcc/wide-int.h:782 0xa02263 wide_int_storage::wide_int_storage<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../gcc-12-20220410/gcc/wide-int.h:1115 0xdc9c5b generic_wide_int<wide_int_storage>::generic_wide_int<std::pair<rtx_def*, machine_mode> >(std::pair<rtx_def*, machine_mode> const&) ../../gcc-12-20220410/gcc/wide-int.h:782 0xdc9c5b simplify_const_binary_operation(rtx_code, machine_mode, rtx_def*, rtx_def*) ../../gcc-12-20220410/gcc/simplify-rtx.cc:5069 0xdd19f8 simplify_context::simplify_binary_operation(rtx_code, machine_mode, rtx_def*, rtx_def*) ../../gcc-12-20220410/gcc/simplify-rtx.cc:2569 0x15a2294 simplify_binary_operation(rtx_code, machine_mode, rtx_def*, rtx_def*) ../../gcc-12-20220410/gcc/rtl.h:3475 0x15a2294 fold_rtx ../../gcc-12-20220410/gcc/cse.cc:3720 0x15a39f0 cse_insn ../../gcc-12-20220410/gcc/cse.cc:4669 0x15a894f cse_extended_basic_block ../../gcc-12-20220410/gcc/cse.cc:6566 0x15a894f cse_main ../../gcc-12-20220410/gcc/cse.cc:6711 0x15a97e6 rest_of_handle_cse ../../gcc-12-20220410/gcc/cse.cc:7532 0x15a97e6 execute ../../gcc-12-20220410/gcc/cse.cc:7575 $ ia64-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/<<NIX>>/ia64-unknown-linux-gnu-stage-final-gcc-debug-12.0.0/bin/ia64-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/<<NIX>>/ia64-unknown-linux-gnu-stage-final-gcc-debug-12.0.0/libexec/gcc/ia64-unknown-linux-gnu/12.0.1/lto-wrapper Target: ia64-unknown-linux-gnu Configured with: Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.1 20220410 (experimental) (GCC)