https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106970
Bug ID: 106970 Summary: [13 Regression] ICE in verify_range, at value-range.cc:702 Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc 13.0.0 20220918 snapshot (g:313879d8768d08dea035efd7fd62b753dc91c364) ICEs when compiling the following testcase w/ -O1 -fno-signed-zeros: void foo (double x, double y) { if (!x == !y * -1.0) __builtin_trap (); } % gcc-13.0.0 -O1 -fno-signed-zeros -c kis6ezgv.c during GIMPLE pass: ethread kis6ezgv.c: In function 'foo': kis6ezgv.c:6:1: internal compiler error: in verify_range, at value-range.cc:702 6 | } | ^ 0x7b68a9 frange::verify_range() /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/value-range.cc:702 0x12106b7 frange::intersect(vrange const&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/value-range.cc:549 0x1e62c88 foperator_equal::fold_range(irange&, tree_node*, frange const&, frange const&, relation_kind_t) const /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/range-op-float.cc:382 0x1e62e50 foperator_equal::fold_range(irange&, tree_node*, frange const&, frange const&, relation_kind_t) const /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/range-op.h:219 0x1d407b7 fold_using_range::range_of_range_op(vrange&, gimple*, fur_source&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/gimple-range-fold.cc:634 0x1d438d0 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/gimple-range-fold.cc:555 0x1d43c9c fold_range(vrange&, gimple*, range_query*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/gimple-range-fold.cc:316 0x10a647d path_range_query::range_of_stmt(vrange&, gimple*, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/gimple-range-path.cc:725 0x1130994 back_threader::find_taken_edge_cond(vec<basic_block_def*, va_heap, vl_ptr> const&, gcond*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:334 0x1130b82 back_threader::maybe_register_path(back_threader_profitability&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:248 0x1131098 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:380 0x1131614 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:502 0x1131614 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:502 0x11320af back_threader::maybe_thread_block(basic_block_def*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:574 0x1132161 back_threader::thread_blocks() /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:1002 0x11322b0 execute /var/tmp/portage/sys-devel/gcc-13.0.0_p20220918/work/gcc-13-20220918/gcc/tree-ssa-threadbackward.cc:1076