https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68066
Bug ID: 68066 Summary: [6 Regression]: ICE in max_value, at wide-int.cc Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: ubizjak at gmail dot com Target Milestone: --- Target: alpha-linux-gnu Recent regression, FAILs in the testsuite on alpha-linux-gnu: FAIL: gcc.dg/fold-compare-7.c (internal compiler error) FAIL: gcc.dg/fold-compare-7.c (test for excess errors) This failure can be triggered with a crosscompiler to alpha-linux-gnu: ~/gcc-build-alpha/gcc/cc1 -O2 -fpreprocessed -quiet fold-compare-7.c fold-compare-7.c: In function âfâ: fold-compare-7.c:8:1: internal compiler error: in max_value, at wide-int.cc:308 } ^ 0xe0c6c8 wi::max_value(unsigned int, signop) ../../gcc-svn/trunk/gcc/wide-int.cc:308 0xdb537c integer_all_onesp(tree_node const*) ../../gcc-svn/trunk/gcc/tree.c:2372 0xdb5452 integer_all_onesp(tree_node const*) ../../gcc-svn/trunk/gcc/tree.c:2364 0xeccbd7 generic_simplify_VEC_COND_EXPR /home/uros/gcc-build-alpha/gcc/generic-match.c:23341 0x7b4bdb fold_ternary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*, tree_node*) ../../gcc-svn/trunk/gcc/fold-const.c:11351 0xe292cf gimple_resimplify3(gimple**, code_helper*, tree_node*, tree_node**, tree_node* (*)(tree_node*)) ../../gcc-svn/trunk/gcc/gimple-match-head.c:222 0xe93abd gimple_simplify(gimple*, code_helper*, tree_node**, gimple**, tree_node* (*)(tree_node*), tree_node* (*)(tree_node*)) ../../gcc-svn/trunk/gcc/gimple-match-head.c:718 0x826370 fold_stmt_1 ../../gcc-svn/trunk/gcc/gimple-fold.c:3605 0x82740d fold_stmt(gimple_stmt_iterator*, tree_node* (*)(tree_node*)) ../../gcc-svn/trunk/gcc/gimple-fold.c:3816 0xbff600 execute ../../gcc-svn/trunk/gcc/tree-ssa-forwprop.c:2326 Please submit a full bug report, (gdb) bt #0 internal_error (gmsgid=0x123aab5 "in %s, at %s:%d") at ../../gcc-svn/trunk/gcc/diagnostic.c:1134 #1 0x000000000105dffc in fancy_abort (file=<optimized out>, line=308, function=0x11af765 <wi::max_value(unsigned int, signop)::__FUNCTION__> "max_value") at ../../gcc-svn/trunk/gcc/diagnostic.c:1209 #2 0x0000000000e0c6c9 in wi::max_value (precision=308, sgn=<optimized out>) at ../../gcc-svn/trunk/gcc/wide-int.cc:308 #3 0x0000000000db537d in integer_all_onesp (expr=0x2aaaae876b40) at ../../gcc-svn/trunk/gcc/tree.c:2372 #4 0x0000000000db5453 in integer_all_onesp (expr=0x2aaaae886c30) at ../../gcc-svn/trunk/gcc/tree.c:2364 #5 0x0000000000eccbd8 in generic_simplify_VEC_COND_EXPR (loc=0, code=18544485, type=0x2aaaae889738, op0=0x134, op1=0x2aaaae8869b0, op2=0x2aaaae886960) at generic-match.c:23341 (gdb) f 2 #2 0x0000000000e0c6c9 in wi::max_value (precision=308, sgn=<optimized out>) at ../../gcc-svn/trunk/gcc/wide-int.cc:308 308 gcc_checking_assert (precision != 0); (gdb) up #3 0x0000000000db537d in integer_all_onesp (expr=0x2aaaae876b40) at ../../gcc-svn/trunk/gcc/tree.c:2372 2372 return wi::max_value (TYPE_PRECISION (TREE_TYPE (expr)), UNSIGNED) == expr; (gdb) p debug_generic_expr (expr) 0 $2 = void (gdb) p debug_tree (expr) <integer_cst 0x2aaaae876b40 type <boolean_type 0x2aaaae889888> constant 0> $3 = void