]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/HighBitSet32.c
Updated to support compiler intrinsics properly. I had to comment out some of the...
[mirror_edk2.git] / MdePkg / Library / BaseLib / HighBitSet32.c
index 65f067ac1adfd9e1634ae2f18447f55ee5e3ff05..46811fb8405d298d9a8f3410bffa1c99e33a1530 100644 (file)
 \r
 **/\r
 \r
+//\r
+// Include common header file for this module.\r
+//\r
+#include "CommonHeader.h"\r
+\r
 #include "BaseLibInternals.h"\r
 \r
 /**\r
@@ -36,6 +41,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