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

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 1 14:50:04 PDT 2017


Author: ctopper
Date: Sat Apr  1 16:50:03 2017
New Revision: 299317

URL: http://llvm.org/viewvc/llvm-project?rev=299317&view=rev
Log:
[APInt] Implement AndAssignSlowCase using tcAnd. Do the same for Or and Xor. NFCI

Modified:
    llvm/trunk/lib/Support/APInt.cpp

Modified: llvm/trunk/lib/Support/APInt.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/APInt.cpp?rev=299317&r1=299316&r2=299317&view=diff
==============================================================================
--- llvm/trunk/lib/Support/APInt.cpp (original)
+++ llvm/trunk/lib/Support/APInt.cpp Sat Apr  1 16:50:03 2017
@@ -407,23 +407,17 @@ APInt& APInt::operator*=(const APInt& RH
 }
 
 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;
 }
 




More information about the llvm-commits mailing list