From: Reid Spencer Date: Mon, 14 May 2007 00:15:28 +0000 (+0000) Subject: Make the results for the rotate functions correct when rotateAmt == 0. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=69944e85aa63d5a067692f6e680b6939fe7d4131;p=oota-llvm.git Make the results for the rotate functions correct when rotateAmt == 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37026 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp index 3501774967e..c8c3c246274 100644 --- a/lib/Support/APInt.cpp +++ b/lib/Support/APInt.cpp @@ -1249,6 +1249,8 @@ APInt APInt::shl(uint32_t shiftAmt) const { } APInt APInt::rotl(uint32_t rotateAmt) const { + if (rotateAmt == 0) + return *this; // Don't get too fancy, just use existing shift/or facilities APInt hi(*this); APInt lo(*this); @@ -1258,6 +1260,8 @@ APInt APInt::rotl(uint32_t rotateAmt) const { } APInt APInt::rotr(uint32_t rotateAmt) const { + if (rotateAmt == 0) + return *this; // Don't get too fancy, just use existing shift/or facilities APInt hi(*this); APInt lo(*this);