(eqne (cnd @0 @1 @2) (cnd @3 @1 @2))
(if (!HONOR_NANS (@1)
&& types_match (TREE_TYPE (@0), TREE_TYPE (@3))
- && types_match (type, TREE_TYPE (@0)))
+ && types_match (type, TREE_TYPE (@0))
+ && expr_no_side_effects_p (@1)
+ && expr_no_side_effects_p (@2))
(cnd (bit_and (bit_xor @0 @3) (ne:type @1 @2))
{ constant_boolean_node (eqne == NE_EXPR, type); }
{ constant_boolean_node (eqne != NE_EXPR, type); })))
(eqne (cnd @0 @1 @2) (cnd @3 @2 @1))
(if (!HONOR_NANS (@1)
&& types_match (TREE_TYPE (@0), TREE_TYPE (@3))
- && types_match (type, TREE_TYPE (@0)))
+ && types_match (type, TREE_TYPE (@0))
+ && expr_no_side_effects_p (@1)
+ && expr_no_side_effects_p (@2))
(cnd (bit_ior (bit_xor @0 @3) (eq:type @1 @2))
{ constant_boolean_node (eqne != NE_EXPR, type); }
{ constant_boolean_node (eqne == NE_EXPR, type); })))))