https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87059
--- Comment #19 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #17) > On x86-64: > > [hjl@gnu-cfl-1 gcc]$ cat x.c > int a, b; > > void > c(void) { > if (b) > b = a / b; > } > [hjl@gnu-cfl-1 gcc]$ ./xgcc -B./ -O3 -funroll-loops -ffast-math -fwrapv -S > x.c > during GIMPLE pass: evrp > x.c: In function ācā: > x.c:7:1: internal compiler error: Segmentation fault > 7 | } > | ^ > 0x102b902 crash_signal > /export/gnu/import/git/sources/gcc/gcc/toplev.c:325 > 0xb3e3b2 generic_wide_int<wide_int_ref_storage<false, true> >::elt(unsigned > int) const > /export/gnu/import/git/sources/gcc/gcc/wide-int.h:908 > 0x13b04cf wide_int_to_tree_1 > /export/gnu/import/git/sources/gcc/gcc/tree.c:1488 > 0x13b0edb wide_int_to_tree(tree_node*, poly_int<1u, > generic_wide_int<wide_int_ref_storage<false, true> > > const&) > /export/gnu/import/git/sources/gcc/gcc/tree.c:1676 > 0x1396b58 extract_range_from_binary_expr_1(value_range*, tree_code, > tree_node*, value_range*, value_range*) > /export/gnu/import/git/sources/gcc/gcc/tree-vrp.c:1675 > 0x1395921 extract_range_from_binary_expr_1(value_range*, tree_code, > tree_node*, value_range*, value_range*) > /export/gnu/import/git/sources/gcc/gcc/tree-vrp.c:1373 > 0x1445e2b vr_values::extract_range_from_binary_expr(value_range*, tree_code, > tree_node*, tree_node*, tree_node*) > /export/gnu/import/git/sources/gcc/gcc/vr-values.c:768 > 0x1448d02 vr_values::extract_range_from_assignment(value_range*, gassign*) > /export/gnu/import/git/sources/gcc/gcc/vr-values.c:1429 > 0x144a8f8 vr_values::vrp_visit_assignment_or_call(gimple*, tree_node**, > value_range*) > /export/gnu/import/git/sources/gcc/gcc/vr-values.c:2048 > 0x144c7d7 vr_values::extract_range_from_stmt(gimple*, edge_def**, > tree_node**, value_range*) > /export/gnu/import/git/sources/gcc/gcc/vr-values.c:2744 > 0x1c20820 evrp_range_analyzer::record_ranges_from_stmt(gimple*, bool) > /export/gnu/import/git/sources/gcc/gcc/gimple-ssa-evrp-analyze.c:293 > 0x1c1dfee evrp_dom_walker::before_dom_children(basic_block_def*) > /export/gnu/import/git/sources/gcc/gcc/gimple-ssa-evrp.c:139 > 0x1bece59 dom_walker::walk(basic_block_def*) > /export/gnu/import/git/sources/gcc/gcc/domwalk.c:353 > 0x1c1e791 execute_early_vrp > /export/gnu/import/git/sources/gcc/gcc/gimple-ssa-evrp.c:310 > 0x1c1e85c execute > /export/gnu/import/git/sources/gcc/gcc/gimple-ssa-evrp.c:347 > 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. > [hjl@gnu-cfl-1 gcc]$ hj. I think what you are reporting on x86 is pr87073 instead, and has been fixed in mainline.