diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 01051286934..586c7b1fb10 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -5858,7 +5858,7 @@ Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, ConstantInt *Op1, BinaryOperator::createLShr(X, ConstantInt::get(Ty, ShiftDiff)); InsertNewInstBefore(Shift, I); - APInt Mask(APInt::getHighBitsSet(TypeBits, TypeBits - ShiftAmt2)); + APInt Mask(APInt::getLowBitsSet(TypeBits, ShiftAmt2)); return BinaryOperator::createAnd(Shift, ConstantInt::get(Mask)); }