aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2011-04-25 12:06:27 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2011-04-25 12:06:27 +0000
commit5157a881bba46a6cf7682eda323a00450b1f825f (patch)
tree24ca0b2aaf649a8d86792f2412ab8e4266786b23 /gcc/combine.c
parent0c289711f3e87d0024f8dfe63afad89a658b8b83 (diff)
downloadgcc-5157a881bba46a6cf7682eda323a00450b1f825f.zip
gcc-5157a881bba46a6cf7682eda323a00450b1f825f.tar.gz
gcc-5157a881bba46a6cf7682eda323a00450b1f825f.tar.bz2
combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals for STORE_FLAG_VALUE==-1 case.
* combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals for STORE_FLAG_VALUE==-1 case. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r172930
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 240cd91..7bdbed4 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)