While creating mask, use 1ULL instead of 1.
authorDevang Patel <dpatel@apple.com>
Fri, 20 Oct 2006 01:16:56 +0000 (01:16 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 20 Oct 2006 01:16:56 +0000 (01:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31062 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/InstructionCombining.cpp

index 97b7cebbb682c4a88a765d52563fa8d1c287680d..4a7edbafede8944523bab783ebb21ddab22cefa1 100644 (file)
@@ -5595,7 +5595,7 @@ Instruction *InstCombiner::visitCastInst(CastInst &CI) {
             unsigned SrcBitSize = Src->getType()->getPrimitiveSizeInBits();
             unsigned DestBitSize = CI.getType()->getPrimitiveSizeInBits();
             assert(SrcBitSize < DestBitSize && "Not a zext?");
-            Constant *C = ConstantUInt::get(Type::ULongTy, (1 << SrcBitSize)-1);
+            Constant *C = ConstantUInt::get(Type::ULongTy, (1ULL << SrcBitSize)-1);
             C = ConstantExpr::getCast(C, CI.getType());
             return BinaryOperator::createAnd(Res, C);
           }