From: Chung-Ju Wu Date: Wed, 10 Apr 2013 09:12:30 +0000 (+0000) Subject: combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out unnecessary bits... X-Git-Tag: releases/gcc-4.9.0~6577 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=34ab4a5b70675e801d0cd5a68b50e770d1fe864e;p=thirdparty%2Fgcc.git combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out unnecessary bits in the constant power of two case. 2013-04-10 Chung-Ju Wu * combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out unnecessary bits in the constant power of two case. From-SVN: r197666 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5878fe94ffd4..3e3e3b7243f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-10 Chung-Ju Wu + + * combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out + unnecessary bits in the constant power of two case. + 2013-04-10 Richard Biener * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove diff --git a/gcc/combine.c b/gcc/combine.c index feb6267b4902..667b7b43c70b 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -10759,8 +10759,9 @@ simplify_compare_const (enum rtx_code code, rtx op0, rtx *pop1) && (code == EQ || code == NE || code == GE || code == GEU || code == LT || code == LTU) && mode_width <= HOST_BITS_PER_WIDE_INT - && exact_log2 (const_op) >= 0 - && nonzero_bits (op0, mode) == (unsigned HOST_WIDE_INT) const_op) + && exact_log2 (const_op & GET_MODE_MASK (mode)) >= 0 + && (nonzero_bits (op0, mode) + == (unsigned HOST_WIDE_INT) (const_op & GET_MODE_MASK (mode)))) { code = (code == EQ || code == GE || code == GEU ? NE : EQ); const_op = 0;