]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/Ia32/LShiftU64.c
MdePkg/BaseLib: Support IA32 processors without CMOVx
[mirror_edk2.git] / MdePkg / Library / BaseLib / Ia32 / LShiftU64.c
index 472fed1d29d8c13ed4d355c6e854d67e63f12473..9fb2532acf784cce56f1ec8f177a3c134a428e79 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   64-bit left shift function for IA-32.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -40,8 +40,10 @@ InternalMathLShiftU64 (
     xor     eax, eax\r
     mov     edx, dword ptr [Operand + 0]\r
     test    cl, 32                      // Count >= 32?\r
-    cmovz   eax, edx\r
-    cmovz   edx, dword ptr [Operand + 4]\r
+    jnz     L0\r
+    mov     eax, edx\r
+    mov     edx, dword ptr [Operand + 4]\r
+L0:\r
     shld    edx, eax, cl\r
     shl     eax, cl\r
   }\r