Optimized HighBitSetXX() functions
[mirror_edk2.git] / MdePkg / Library / BaseLib / HighBitSet32.c
index 65f067ac1adfd9e1634ae2f18447f55ee5e3ff05..5ab4d7fe8d456494af96e2a9710e1f0b87738eff 100644 (file)
@@ -36,6 +36,9 @@ HighBitSet32 (
 {\r
   INTN                              BitIndex;\r
 \r
-  for (BitIndex = -1; Operand != 0; BitIndex++, Operand >>= 1);\r
+  if (Operand == 0) {\r
+    return - 1;\r
+  }\r
+  for (BitIndex = 31; (INT32)Operand > 0; BitIndex--, Operand <<= 1);\r
   return BitIndex;\r
 }\r