mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-19 01:48:34 +00:00
Correct the logic in LowerPartSet which cleared the bits from 0 to low-1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37331 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3adf951364
commit
924361aef9
@ -557,11 +557,13 @@ static Instruction *LowerPartSet(CallInst *CI) {
|
||||
Rplcmnt->addIncoming(NewRes, reverse);
|
||||
Rplcmnt->addIncoming(Rep4, small);
|
||||
Value* t0 = CastInst::createIntegerCast(NumBits,ValTy,false,"",result);
|
||||
Value* t1 = BinaryOperator::createShl(ValMask, t0, "", result);
|
||||
Value* t2 = BinaryOperator::createShl(t1, Lo, "", result);
|
||||
Value* t3 = BinaryOperator::createAnd(t2, Val, "", result);
|
||||
Value* t4 = BinaryOperator::createShl(Rplcmnt, Lo, "", result);
|
||||
Value* Rslt = BinaryOperator::createOr(t3, t4, "part_set", result);
|
||||
Value* t1 = BinaryOperator::createShl(ValMask, Lo, "", result);
|
||||
Value* t2 = BinaryOperator::createNot(t1, "", result);
|
||||
Value* t3 = BinaryOperator::createShl(t1, t0, "", result);
|
||||
Value* t4 = BinaryOperator::createOr(t2, t3, "", result);
|
||||
Value* t5 = BinaryOperator::createAnd(t4, Val, "", result);
|
||||
Value* t6 = BinaryOperator::createShl(Rplcmnt, Lo, "", result);
|
||||
Value* Rslt = BinaryOperator::createOr(t5, t6, "part_set", result);
|
||||
new ReturnInst(Rslt, result);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user