diff options
author | Jason <yun.lou@intel.com> | 2022-01-10 21:46:27 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-03-01 01:45:47 +0000 |
commit | d3febfd9ade35dc552df6b3607c2b15d26b82867 (patch) | |
tree | 806b913dce388388defe7b703d282b3569570cfa /MdePkg/Library/BaseMemoryLibMmx/X64 | |
parent | 84338c0d498555f860a480693ee8647a1795fba3 (diff) | |
download | edk2-d3febfd9ade35dc552df6b3607c2b15d26b82867.tar.gz edk2-d3febfd9ade35dc552df6b3607c2b15d26b82867.tar.bz2 edk2-d3febfd9ade35dc552df6b3607c2b15d26b82867.zip |
MdePkg: Replace Opcode with the corresponding instructions.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3790
Replace Opcode with the corresponding instructions.
The code changes have been verified with CompareBuild.py tool, which
can be used to compare the results of two different EDK II builds to
determine if they generate the same binaries.
(tool link: https://github.com/mdkinney/edk2/tree/sandbox/CompareBuild)
Signed-off-by: Jason Lou <yun.lou@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Diffstat (limited to 'MdePkg/Library/BaseMemoryLibMmx/X64')
-rw-r--r-- | MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm | 10 | ||||
-rw-r--r-- | MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm | 8 | ||||
-rw-r--r-- | MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm | 8 | ||||
-rw-r--r-- | MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm | 10 | ||||
-rw-r--r-- | MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm | 6 | ||||
-rw-r--r-- | MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm | 8 |
6 files changed, 25 insertions, 25 deletions
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm index 5769c00bf9..3b336c6bdf 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------
;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
+; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
; SPDX-License-Identifier: BSD-2-Clause-Patent
;
; Module Name:
@@ -44,15 +44,15 @@ ASM_PFX(InternalMemCopyMem): and r8, 7
shr rcx, 3 ; rcx <- # of Qwords to copy
jz @CopyBytes
- DB 0x49, 0xf, 0x7e, 0xc2 ; movd r10, mm0 (Save mm0 in r10)
+ movq r10, mm0
.1:
- DB 0xf, 0x6f, 0x6 ; movd mm0, [rsi]
- DB 0xf, 0xe7, 0x7 ; movntq [rdi], mm0
+ movq mm0, [rsi]
+ movntq [rdi], mm0
add rsi, 8
add rdi, 8
loop .1
mfence
- DB 0x49, 0xf, 0x6e, 0xc2 ; movd mm0, r10 (Restore mm0)
+ movq mm0, r10
jmp @CopyBytes
@CopyBackward:
mov rsi, r9 ; rsi <- End of Source
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm index 450113ba84..af584e3d34 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------
;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
+; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
; SPDX-License-Identifier: BSD-2-Clause-Patent
;
; Module Name:
@@ -32,16 +32,16 @@ ASM_PFX(InternalMemSetMem): push rdi
mov rax, r8
mov ah, al
- DB 0x48, 0xf, 0x6e, 0xc0 ; movd mm0, rax
+ movq mm0, rax
mov r8, rcx
mov rdi, r8 ; rdi <- Buffer
mov rcx, rdx
and edx, 7
shr rcx, 3
jz @SetBytes
- DB 0xf, 0x70, 0xC0, 0x0 ; pshufw mm0, mm0, 0h
+ pshufw mm0, mm0, 0
.0:
- DB 0xf, 0xe7, 0x7 ; movntq [rdi], mm0
+ movntq [rdi], mm0
add rdi, 8
loop .0
mfence
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm index 4e1f4be2b4..7a63a1c50b 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------
;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
+; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
; SPDX-License-Identifier: BSD-2-Clause-Patent
;
; Module Name:
@@ -31,16 +31,16 @@ global ASM_PFX(InternalMemSetMem16) ASM_PFX(InternalMemSetMem16):
push rdi
mov rax, r8
- DB 0x48, 0xf, 0x6e, 0xc0 ; movd mm0, rax
+ movq mm0, rax
mov r8, rcx
mov rdi, r8
mov rcx, rdx
and edx, 3
shr rcx, 2
jz @SetWords
- DB 0xf, 0x70, 0xC0, 0x0 ; pshufw mm0, mm0, 0h
+ pshufw mm0, mm0, 0
.0:
- DB 0xf, 0xe7, 0x7 ; movntq [rdi], mm0
+ movntq [rdi], mm0
add rdi, 8
loop .0
mfence
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm index b3a7385897..ab5f954826 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------
;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
+; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
; SPDX-License-Identifier: BSD-2-Clause-Patent
;
; Module Name:
@@ -28,20 +28,20 @@ ;------------------------------------------------------------------------------
global ASM_PFX(InternalMemSetMem32)
ASM_PFX(InternalMemSetMem32):
- DB 0x49, 0xf, 0x6e, 0xc0 ; movd mm0, r8 (Value)
+ movq mm0, r8
mov rax, rcx ; rax <- Buffer
xchg rcx, rdx ; rcx <- Count rdx <- Buffer
shr rcx, 1 ; rcx <- # of qwords to set
jz @SetDwords
- DB 0xf, 0x70, 0xC0, 0x44 ; pshufw mm0, mm0, 44h
+ pshufw mm0, mm0, 44h
.0:
- DB 0xf, 0xe7, 0x2 ; movntq [rdx], mm0
+ movntq [rdx], mm0
lea rdx, [rdx + 8] ; use "lea" to avoid flag changes
loop .0
mfence
@SetDwords:
jnc .1
- DB 0xf, 0x7e, 0x2 ; movd [rdx], mm0
+ movd [rdx], mm0
.1:
ret
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm index f517e1d23a..fcc44294a8 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------
;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
+; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
; SPDX-License-Identifier: BSD-2-Clause-Patent
;
; Module Name:
@@ -28,11 +28,11 @@ ;------------------------------------------------------------------------------
global ASM_PFX(InternalMemSetMem64)
ASM_PFX(InternalMemSetMem64):
- DB 0x49, 0xf, 0x6e, 0xc0 ; movd mm0, r8 (Value)
+ movq mm0, r8
mov rax, rcx ; rax <- Buffer
xchg rcx, rdx ; rcx <- Count
.0:
- DB 0xf, 0xe7, 0x2 ; movntq [rdx], mm0
+ movntq [rdx], mm0
add rdx, 8
loop .0
mfence
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm index 2a85f15b55..8b02eeb732 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------
;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
+; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
; SPDX-License-Identifier: BSD-2-Clause-Patent
;
; Module Name:
@@ -34,12 +34,12 @@ ASM_PFX(InternalMemZeroMem): and edx, 7
shr rcx, 3
jz @ZeroBytes
- DB 0xf, 0xef, 0xc0 ; pxor mm0, mm0
+ pxor mm0, mm0
.0:
- DB 0xf, 0xe7, 7 ; movntq [rdi], mm0
+ movntq [rdi], mm0
add rdi, 8
loop .0
- DB 0xf, 0xae, 0xf0 ; mfence
+ mfence
@ZeroBytes:
xor eax, eax
mov ecx, edx
|