diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 505d7437cd9..a115d78fddc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-04-25 Maxim Kuvyrkov + Eric Botcazou + + * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals + for STORE_FLAG_VALUE==-1 case. + 2011-04-24 Richard Sandiford PR target/43804 diff --git a/gcc/combine.c b/gcc/combine.c index 240cd918d2f..7bdbed4144c 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -5787,7 +5787,10 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int in_dest, /* If STORE_FLAG_VALUE is -1, we have cases similar to those above. */ - if (STORE_FLAG_VALUE == -1 + if (in_cond) + ; + + else if (STORE_FLAG_VALUE == -1 && new_code == NE && GET_MODE_CLASS (mode) == MODE_INT && op1 == const0_rtx && (num_sign_bit_copies (op0, mode)