]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.S
MdePkg/BaseLib: Add bit field population calculating methods
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibMmx / X64 / ScanMem32.S
index 9420725d5ea740d1174a2c68a84031b120392e5d..93e6cc2f13f151652bdc09aadef889de72829f64 100644 (file)
@@ -3,11 +3,11 @@
 #\r
 #------------------------------------------------------------------------------\r
 #\r
-# Copyright (c) 2006 - 2008, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
+# Copyright (c) 2006 - 2018, 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
 #   IN      UINT32                    Value\r
 #   );\r
 #------------------------------------------------------------------------------\r
-.intel_syntax noprefix\r
 ASM_GLOBAL ASM_PFX(InternalMemScanMem32)\r
 ASM_PFX(InternalMemScanMem32):\r
-    push    rdi\r
-    mov     rdi, rcx\r
-    mov     rax, r8\r
-    mov     rcx, rdx\r
-    repne   scasd\r
-    lea     rax, [rdi - 4]\r
-    cmovnz  rax, rcx\r
-    pop     rdi\r
+    pushq    %rdi\r
+    movq     %rcx, %rdi\r
+    movq     %r8, %rax\r
+    movq     %rdx, %rcx\r
+    repne    scasl\r
+    leaq     -4(%rdi), %rax\r
+    cmovnz   %rcx, %rax\r
+    popq     %rdi\r
     ret\r
 \r