diff options
author | bxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-10-08 08:45:59 +0000 |
---|---|---|
committer | bxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-10-08 08:45:59 +0000 |
commit | 73c47db8c767a056df433a61ca2beb5a1e8e42c1 (patch) | |
tree | 7c05c8b2a1f0596a3c41f0934b36726a5fbb9fdc /MdePkg/Library/BaseLib/HighBitSet32.c | |
parent | b1288fcac3c4b6663177ecccc5900a13b356fb4f (diff) | |
download | edk2-platforms-73c47db8c767a056df433a61ca2beb5a1e8e42c1.tar.xz |
Optimized HighBitSetXX() functions
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1689 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib/HighBitSet32.c')
-rw-r--r-- | MdePkg/Library/BaseLib/HighBitSet32.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/MdePkg/Library/BaseLib/HighBitSet32.c b/MdePkg/Library/BaseLib/HighBitSet32.c index 65f067ac1a..5ab4d7fe8d 100644 --- a/MdePkg/Library/BaseLib/HighBitSet32.c +++ b/MdePkg/Library/BaseLib/HighBitSet32.c @@ -36,6 +36,9 @@ HighBitSet32 ( {
INTN BitIndex;
- for (BitIndex = -1; Operand != 0; BitIndex++, Operand >>= 1);
+ if (Operand == 0) {
+ return - 1;
+ }
+ for (BitIndex = 31; (INT32)Operand > 0; BitIndex--, Operand <<= 1);
return BitIndex;
}
|