aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-12-05 14:54:42 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2016-12-05 14:54:42 +0100
commita80b4f579a10d01a6cfdfff37150cfccd134dc41 (patch)
tree9e5fd3717e2ff5efc41a1cd7f51addd0bc9f4e33 /gcc/combine.c
parent519e0faa00bda70c9ffd66b7e7a6011c5e742d2b (diff)
downloadgcc-a80b4f579a10d01a6cfdfff37150cfccd134dc41.zip
gcc-a80b4f579a10d01a6cfdfff37150cfccd134dc41.tar.gz
gcc-a80b4f579a10d01a6cfdfff37150cfccd134dc41.tar.bz2
Subject: [PATCH] Revert "Do not simplify "(and (reg) (const bit)" to
if_then_else." * combine.c: Revert r243162. From-SVN: r243256
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 7ba634a..b429453 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -5602,18 +5602,6 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
&& OBJECT_P (SUBREG_REG (XEXP (x, 0)))))))
{
rtx cond, true_rtx, false_rtx;
- unsigned HOST_WIDE_INT nz;
-
- /* If the operation is an AND wrapped in a SIGN_EXTEND or ZERO_EXTEND with
- either operand being just a constant single bit value, do nothing since
- IF_THEN_ELSE is likely to increase the expression's complexity. */
- if (HWI_COMPUTABLE_MODE_P (mode)
- && pow2p_hwi (nz = nonzero_bits (x, mode))
- && ! ((code == SIGN_EXTEND || code == ZERO_EXTEND)
- && GET_CODE (XEXP (x, 0)) == AND
- && CONST_INT_P (XEXP (XEXP (x, 0), 0))
- && UINTVAL (XEXP (XEXP (x, 0), 0)) == nz))
- return x;
cond = if_then_else_cond (x, &true_rtx, &false_rtx);
if (cond != 0