[llvm-commits] CVS: llvm/lib/Support/APInt.cpp
Chris Lattner
clattner at apple.com
Sun May 13 16:49:13 PDT 2007
On May 13, 2007, at 4:45 PM, Reid Spencer wrote:
> +APInt APInt::rotl(uint32_t rotateAmt) const {
> + // Don't get too fancy, just use existing shift/or facilities
> + APInt hi(*this);
> + APInt lo(*this);
> + hi.shl(rotateAmt);
> + lo.lshr(BitWidth - rotateAmt);
> + return hi | lo;
> +}
> +
> +APInt APInt::rotr(uint32_t rotateAmt) const {
> + // Don't get too fancy, just use existing shift/or facilities
> + APInt hi(*this);
> + APInt lo(*this);
> + lo.lshr(rotateAmt);
> + hi.shl(BitWidth - rotateAmt);
> + return hi | lo;
> +}
Do these work for rotamt = 0 ?
-Chris
More information about the llvm-commits
mailing list