support x * (c1 + c2) where c1 and c2 are pow2s.  special case for c2 == 4

llvm-svn: 27370
diff --git a/llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp b/llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
index 03e6246..e16411f 100644
--- a/llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
+++ b/llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
@@ -77,7 +77,7 @@
       uint64_t complow = 1 << (63 - at);
       uint64_t comphigh = 1 << (64 - at);
       //std::cerr << x << ":" << complow << ":" << comphigh << "\n";
-      if (abs(complow - x) < abs(comphigh - x))
+      if (abs(complow - x) <= abs(comphigh - x))
         return complow;
       else
         return comphigh;