https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108237

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, I see, it is forwprop4 which does that:
+Applying pattern match.pd:6223, generic-match.cc:75158
...
-  _15 = v.2_7 & { 18446744073709551360, 18446744073709551360 };
-  _9 = _15 != { 0, 0 };
+  _9 = v.2_7 > { 255, 255 };

and the reason why it happens can be seen in the Applying line, it isn't GIMPLE
but GENERIC even when it happens so late.
#0  optimize_vectors_before_lowering_p () at ../../gcc/generic-match-head.cc:93
#1  0x00000000019d3302 in generic_simplify_NE_EXPR (loc=2147483658,
code=NE_EXPR, type=<vector_type 0x7fffea2ddb28>, _p0=<bit_and_expr
0x7fffea304280>, 
    _p1=<vector_cst 0x7fffea308cf0>) at generic-match.cc:75147
#2  0x0000000001a46486 in generic_simplify (loc=2147483658, code=NE_EXPR,
type=<vector_type 0x7fffea2ddb28>, _p0=<bit_and_expr 0x7fffea304280>,
_p1=<vector_cst 0x7fffea308cf0>)
    at generic-match.cc:102839
#3  0x000000000085e140 in fold_binary_loc (loc=2147483658, code=NE_EXPR,
type=<vector_type 0x7fffea2ddb28>, op0=<bit_and_expr 0x7fffea304280>,
op1=<vector_cst 0x7fffea308cf0>)
    at ../../gcc/fold-const.cc:10924
#4  0x0000000000f5c7ea in combine_cond_expr_cond (stmt=<gimple_assign
0x7fffea3020b0>, code=NE_EXPR, type=<vector_type 0x7fffea2ddb28>,
op0=<bit_and_expr 0x7fffea304280>, 
    op1=<vector_cst 0x7fffea308cf0>, invariant_only=false) at
../../gcc/tree-ssa-forwprop.cc:387
#5  0x0000000000f5ca80 in forward_propagate_into_comparison_1
(stmt=<gimple_assign 0x7fffea3020b0>, code=NE_EXPR, type=<vector_type
0x7fffea2ddb28>, 
    op0=<ssa_name 0x7fffea3014c8 15>, op1=<vector_cst 0x7fffea308cf0>) at
../../gcc/tree-ssa-forwprop.cc:446
#6  0x0000000000f5cc71 in forward_propagate_into_comparison
(gsi=0x7fffffffd740) at ../../gcc/tree-ssa-forwprop.cc:493
#7  0x0000000000f6bfff in (anonymous namespace)::pass_forwprop::execute
(this=0x37a2170, fun=0x7fffea2fd000) at ../../gcc/tree-ssa-forwprop.cc:3753

Reply via email to