Changes in directory llvm/lib/CodeGen:
IntrinsicLowering.cpp updated: 1.84 -> 1.85 --- Log message: Correct the logic in LowerPartSet which cleared the bits from 0 to low-1. --- Diffs of the changes: (+7 -5) IntrinsicLowering.cpp | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) Index: llvm/lib/CodeGen/IntrinsicLowering.cpp diff -u llvm/lib/CodeGen/IntrinsicLowering.cpp:1.84 llvm/lib/CodeGen/IntrinsicLowering.cpp:1.85 --- llvm/lib/CodeGen/IntrinsicLowering.cpp:1.84 Mon May 14 21:26:52 2007 +++ llvm/lib/CodeGen/IntrinsicLowering.cpp Fri May 25 22:43:13 2007 @@ -557,11 +557,13 @@ 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); } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits