https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106824
--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> --- BT: g++ bug840.cc -c -O2 -march=bdver2 during GIMPLE pass: thread bug840.cc: In function ‘void internal::ShortestPath()’: bug840.cc:68:6: internal compiler error: in set_nan, at value-range.cc:283 68 | void ShortestPath() { | ^~~~~~~~~~~~ 0x91a2b3 frange::set_nan(fp_prop::kind) /home/marxin/Programming/gcc/gcc/value-range.cc:283 0x21c1725 foperator_equal::op1_range(frange&, tree_node*, irange const&, frange const&, relation_kind_t) const /home/marxin/Programming/gcc/gcc/range-op-float.cc:364 0x20a3d46 gimple_range_calc_op1(vrange&, gimple const*, vrange const&, vrange const&) /home/marxin/Programming/gcc/gcc/gimple-range-gori.cc:80 0x20a6d3d gori_compute::compute_operand1_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&) /home/marxin/Programming/gcc/gcc/gimple-range-gori.cc:1019 0x20a939b gori_compute::outgoing_edge_range_p(vrange&, edge_def*, tree_node*, range_query&) /home/marxin/Programming/gcc/gcc/gimple-range-gori.cc:1270 0x1443c95 path_range_query::compute_ranges_in_block(basic_block_def*) /home/marxin/Programming/gcc/gcc/gimple-range-path.cc:454 0x1444132 path_range_query::compute_ranges(bitmap_head const*) /home/marxin/Programming/gcc/gcc/gimple-range-path.cc:622 0x14cd837 back_threader::find_taken_edge_cond(vec<basic_block_def*, va_heap, vl_ptr> const&, gcond*) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:333 0x14cd9e6 back_threader::maybe_register_path(back_threader_profitability&) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:248 0x14cdeb8 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:380 0x14ce6b9 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:502 0x14ce6b9 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:502 0x14ce6b9 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:502 0x14ce6b9 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:502 0x14ceefc back_threader::maybe_thread_block(basic_block_def*) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:574 0x14cefa1 back_threader::thread_blocks() /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:1002 0x14cf008 execute /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.cc:1104 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.