4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync;------------------------------------------------------------------------------
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; This program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; are licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; which accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; Module Name:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; SetMem32 function
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync;------------------------------------------------------------------------------
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync;------------------------------------------------------------------------------
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; InternalMemSetMem32 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; IN VOID *Buffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; IN UINTN Count,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync; IN UINT8 Value
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync;------------------------------------------------------------------------------
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncInternalMemSetMem32 PROC USES rdi
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mov rdi, rcx
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mov r9, rdi
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync xor rcx, rcx
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync sub rcx, rdi
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and rcx, 15
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mov rax, r8
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cmp rcx, rdx
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cmova rcx, rdx
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync sub rdx, rcx
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mov rcx, rdx
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync jz @SetDwords
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync movd xmm0, eax
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync pshufd xmm0, xmm0, 0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync movntdq [rdi], xmm0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync add rdi, 16
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mov ecx, edx
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mov rax, r9
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncInternalMemSetMem32 ENDP