diff --git a/gcc/gimple-lower-bitint.cc b/gcc/gimple-lower-bitint.cc
index e29d83193265a4801f292a3b292ffdde95381399..caa33e0aacf1b9cb5b6d6dfebc7f8e946b3c7eb9 100644
--- a/gcc/gimple-lower-bitint.cc
+++ b/gcc/gimple-lower-bitint.cc
@@ -4031,7 +4031,7 @@ bitint_large_huge::lower_addsub_overflow (tree obj, gimple *stmt)
       if (kind != bitint_prec_huge)
 	idx = size_int (i);
       else if (i >= 2)
-	idx = size_int (fin + (i > 2));
+	idx = size_int (fin + i - 2);
       if (!last_ovf || i < cnt - 1)
 	{
 	  if (type0 != TREE_TYPE (arg0))