[APInt] Implement AndAssignSlowCase using tcAnd. Do the same for Or and Xor. NFCI

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299317 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2017-04-01 21:50:03 +00:00
parent 2ea3d99e26
commit e222bade09

View File

@ -407,23 +407,17 @@ APInt& APInt::operator*=(const APInt& RHS) {
}
APInt& APInt::AndAssignSlowCase(const APInt& RHS) {
unsigned numWords = getNumWords();
for (unsigned i = 0; i < numWords; ++i)
pVal[i] &= RHS.pVal[i];
tcAnd(pVal, RHS.pVal, getNumWords());
return *this;
}
APInt& APInt::OrAssignSlowCase(const APInt& RHS) {
unsigned numWords = getNumWords();
for (unsigned i = 0; i < numWords; ++i)
pVal[i] |= RHS.pVal[i];
tcOr(pVal, RHS.pVal, getNumWords());
return *this;
}
APInt& APInt::XorAssignSlowCase(const APInt& RHS) {
unsigned numWords = getNumWords();
for (unsigned i = 0; i < numWords; ++i)
pVal[i] ^= RHS.pVal[i];
tcXor(pVal, RHS.pVal, getNumWords());
return *this;
}