https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98094
Bug ID: 98094 Summary: ICE in decompose, at wide-int.h:984 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: stefansf at linux dot ibm.com Target Milestone: --- Compiling SPEC benchmark 502.gcc_r on S/390 results in the following ICE: $ /devel/gcc-2/dst/bin/gcc -c -o tree.o -DSPEC -DNDEBUG -I. -I./include -I./spec_qsort -DSPEC_502 -DSPEC_AUTO_SUPPRESS_OPENMP -DIN_GCC -DHAVE_CONFIG_H -march=arch13 -O3 -std=gnu89 -DSPEC_LP64 tree.c during GIMPLE pass: iftoswitch tree.c: In function 'tree_floor_log2': tree.c:10732: internal compiler error: in decompose, at wide-int.h:984 0x119ce51 wi::int_traits<generic_wide_int<wide_int_ref_storage<false, false> > >::decompose(long*, unsigned int, generic_wide_int<wide_int_ref_storage<false, false> > const&) /devel/gcc-2/src/gcc/wide-int.h:984 0x1a44837 wi::int_traits<generic_wide_int<wide_int_ref_storage<false, false> > >::decompose(long*, unsigned int, generic_wide_int<wide_int_ref_storage<false, false> > const&) /devel/gcc-2/src/gcc/tree.h:3445 0x1a44837 wide_int_ref_storage<false, false>::wide_int_ref_storage<generic_wide_int<wide_int_ref_storage<false, false> > >(generic_wide_int<wide_int_ref_storage<false, false> > const&, unsig ned int) /devel/gcc-2/src/gcc/wide-int.h:1034 0x1a44837 generic_wide_int<wide_int_ref_storage<false, false> >::generic_wide_int<generic_wide_int<wide_int_ref_storage<false, false> > >(generic_wide_int<wide_int_ref_storage<false, false> > const&, unsigned int) /devel/gcc-2/src/gcc/wide-int.h:790 0x1a44837 wi::binary_traits<generic_wide_int<wide_int_ref_storage<false, false> >, generic_wide_int<wide_int_ref_storage<false, false> >, wi::int_traits<generic_wide_int<wide_int_ref_storage <false, false> > >::precision_type, wi::int_traits<generic_wide_int<wide_int_ref_storage<false, false> > >::precision_type>::result_type wi::sub<generic_wide_int<wide_int_ref_storage<false, false> >, generic_wide_int<wide_int_ref_storage<false, false> > >(generic_wide_int<wide_int_ref_storage<false, false> > const&, generic_wide_int<wide_int_ref_storage<false, false> > const&) /devel/gcc-2/src/gcc/wide-int.h:2513 0x1a44837 wi::binary_traits<generic_wide_int<wide_int_ref_storage<false, false> >, generic_wide_int<wide_int_ref_storage<false, false> >, wi::int_traits<generic_wide_int<wide_int_ref_storage <false, false> > >::precision_type, wi::int_traits<generic_wide_int<wide_int_ref_storage<false, false> > >::precision_type>::operator_result operator-<generic_wide_int<wide_int_ref_storage<f alse, false> >, generic_wide_int<wide_int_ref_storage<false, false> > >(generic_wide_int<wide_int_ref_storage<false, false> > const&, generic_wide_int<wide_int_ref_storage<false, false> > co nst&) /devel/gcc-2/src/gcc/wide-int.h:3297 0x1a44837 tree_switch_conversion::cluster::get_range(tree_node*, tree_node*) /devel/gcc-2/src/gcc/tree-switch-conversion.h:87 0x1a3771d tree_switch_conversion::jump_table_cluster::can_be_handled(vec<tree_switch_conversion::cluster*, va_heap, vl_ptr> const&, unsigned int, unsigned int) /devel/gcc-2/src/gcc/tree-switch-conversion.c:1265 0x1a3d8d5 tree_switch_conversion::jump_table_cluster::can_be_handled(vec<tree_switch_conversion::cluster*, va_heap, vl_ptr> const&, unsigned int, unsigned int) /devel/gcc-2/src/gcc/tree-switch-conversion.c:1258 0x1a3d8d5 tree_switch_conversion::jump_table_cluster::find_jump_tables(vec<tree_switch_conversion::cluster*, va_heap, vl_ptr>&) /devel/gcc-2/src/gcc/tree-switch-conversion.c:1201 0x1a3d8d5 tree_switch_conversion::jump_table_cluster::find_jump_tables(vec<tree_switch_conversion::cluster*, va_heap, vl_ptr>&) /devel/gcc-2/src/gcc/tree-switch-conversion.c:1175 0x22876d9 if_chain::is_beneficial() /devel/gcc-2/src/gcc/gimple-if-to-switch.cc:244 0x2289237 execute /devel/gcc-2/src/gcc/gimple-if-to-switch.cc:530 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. Bisect stops at 03eb09292ef228d1d12b5168cdd748583b1f992a