Fix operator precedence bug caught by VC++.
authorJeff Cohen <jeffc@jolt-lang.org>
Sat, 12 Nov 2005 00:59:01 +0000 (00:59 +0000)
committerJeff Cohen <jeffc@jolt-lang.org>
Sat, 12 Nov 2005 00:59:01 +0000 (00:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24318 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index ca137431a005973123533d5b9a5d3354cd95b404..6cd66c7c19cbc56e22656975c692ff9cb51d30e2 100644 (file)
@@ -967,8 +967,8 @@ SDOperand DAGCombiner::visitAND(SDNode *N) {
   // fold (and (sign_extend_inreg x, i16 to i32), 1) -> (and x, 1)
   if (N1C && N0.getOpcode() == ISD::SIGN_EXTEND_INREG) {
     unsigned ExtendBits =
-    MVT::getSizeInBits(cast<VTSDNode>(N0.getOperand(1))->getVT());
-    if (ExtendBits == 64 || (N1C->getValue() & (~0ULL << ExtendBits) == 0))
+        MVT::getSizeInBits(cast<VTSDNode>(N0.getOperand(1))->getVT());
+    if (ExtendBits == 64 || ((N1C->getValue() & (~0ULL << ExtendBits)) == 0))
       return DAG.getNode(ISD::AND, VT, N0.getOperand(0), N1);
   }
   // fold (and (or x, 0xFFFF), 0xFF) -> 0xFF