diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ed8d8b1575b8f1a0d2d45e0b64119d586f607e84..044a49b0b1032c1a4d6814bb43c83bd5527880bf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-19  Bin Cheng  <bin.cheng@arm.com>
+
+	* fold-const.c (fold_truth_andor) Remove duplicated check on
+	BRANCH_COST.
+
 2012-09-18  Eric Botcazou  <ebotcazou@adacore.com>
 
 	PR middle-end/54617
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index c76e7ff68d36fd9138a2ad67ac0f87851407537f..5f2c7971eb27f0ebf0775d9409d0d16a20fd61e1 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -8435,9 +8435,7 @@ fold_truth_andor (location_t loc, enum tree_code code, tree type,
   if ((tem = fold_truth_andor_1 (loc, code, type, arg0, arg1)) != 0)
     return tem;
 
-  if ((BRANCH_COST (optimize_function_for_speed_p (cfun),
-		    false) >= 2)
-      && LOGICAL_OP_NON_SHORT_CIRCUIT
+  if (LOGICAL_OP_NON_SHORT_CIRCUIT
       && (code == TRUTH_AND_EXPR
           || code == TRUTH_ANDIF_EXPR
           || code == TRUTH_OR_EXPR