]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/Ia32/LRotU64.c
MdePkg/BaseLib: Support IA32 processors without CMOVx
[mirror_edk2.git] / MdePkg / Library / BaseLib / Ia32 / LRotU64.c
index 355dab4adfd9b52c0e841b7ab0d1081049a8fb73..2e01ed8bb051fcb2fb4462f7849f9b21caa82070 100644 (file)
@@ -1,11 +1,11 @@
 /** @file\r
   64-bit left rotation for Ia32\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
-  All rights reserved. This program and the accompanying materials\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
-  http://opensource.org/licenses/bsd-license.php\r
+  http://opensource.org/licenses/bsd-license.php.\r
 \r
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
@@ -45,9 +45,11 @@ InternalMathLRotU64 (
     ror     ebx, cl\r
     shld    eax, ebx, cl\r
     test    cl, 32                      ; Count >= 32?\r
-    cmovnz  ecx, eax\r
-    cmovnz  eax, edx\r
-    cmovnz  edx, ecx\r
+    jz      L0\r
+    mov     ecx, eax\r
+    mov     eax, edx\r
+    mov     edx, ecx\r
+L0:\r
   }\r
 }\r
 \r