\r
.code\r
\r
+;------------------------------------------------------------------------------\r
+; VOID *\r
+; EFIAPI\r
+; InternalMemSetMem16 (\r
+; OUT VOID *Buffer,\r
+; IN UINTN Length,\r
+; IN UINT16 Value\r
+; );\r
+;------------------------------------------------------------------------------\r
InternalMemSetMem16 PROC USES rdi\r
mov rax, r8\r
- DB 48h, 0fh, 6eh, 0c0h ; movq mm0, rax\r
+ DB 48h, 0fh, 6eh, 0c0h ; movd mm0, rax\r
mov r8, rcx\r
mov rdi, r8\r
mov rcx, rdx\r
- and rdx, 3\r
+ and edx, 3\r
shr rcx, 2\r
jz @SetWords\r
- DB 0fh, 70h, 0C0h, 00h ; pshufw mm0, mm0, 0h\r
-@@: \r
- DB 48h, 0fh, 0e7h, 07h ; movntq [rdi], mm0\r
+ DB 0fh, 70h, 0C0h, 00h ; pshufw mm0, mm0, 0h\r
+@@:\r
+ DB 0fh, 0e7h, 07h ; movntq [rdi], mm0\r
add rdi, 8\r
loop @B\r
mfence\r
@SetWords:\r
- mov rcx, rdx\r
+ mov ecx, edx\r
rep stosw\r
mov rax, r8\r
ret\r