]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/Ia32/RRotU64.asm
MdePkg/BaseLib: Support IA32 processors without CMOVx
[mirror_edk2.git] / MdePkg / Library / BaseLib / Ia32 / RRotU64.asm
index a719d2976584c0afbd689d645db2581feb99b3e1..6afb0cc0fcdae4b836095c19ec803406910f1e16 100644 (file)
@@ -1,6 +1,6 @@
 ;------------------------------------------------------------------------------\r
 ;\r
-; Copyright (c) 2006, 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,9 +40,11 @@ InternalMathRRotU64 PROC    USES    ebx
     rol     ebx, cl\r
     shrd    edx, ebx, cl\r
     test    cl, 32                      ; Count >= 32?\r
-    cmovnz  ecx, eax                    ; switch eax & edx if Count >= 32\r
-    cmovnz  eax, edx\r
-    cmovnz  edx, ecx\r
+    jz      @F\r
+    mov     ecx, eax                    ; switch eax & edx if Count >= 32\r
+    mov     eax, edx\r
+    mov     edx, ecx\r
+@@:    \r
     ret\r
 InternalMathRRotU64 ENDP\r
 \r