1. Updated function headers in all assembly files.
2. Split x86LowLevel.c into a bunch of C files to make images linked with BaseLib smaller. 3. Fixed a few minor bugs. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1066 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -19,26 +19,28 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.global _InternalMathLRotU64
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# UINT64
|
||||
# EFIAPI
|
||||
# InternalMathLRotU64 (
|
||||
# IN UINT64 Operand,
|
||||
# IN UINTN Count
|
||||
# );
|
||||
#------------------------------------------------------------------------------
|
||||
_InternalMathLRotU64:
|
||||
push %ebx
|
||||
movb 16(%esp),%cl
|
||||
movl 12(%esp),%edx
|
||||
movl 8(%esp),%eax
|
||||
shldl %cl,%edx,%ebx
|
||||
shldl %cl,%eax,%edx
|
||||
rorl %cl,%ebx
|
||||
shldl %cl,%ebx,%eax
|
||||
testb $32,%cl
|
||||
movb 16(%esp), %cl
|
||||
movl 12(%esp), %edx
|
||||
movl 8(%esp), %eax
|
||||
shldl %cl, %edx, %ebx
|
||||
shldl %cl, %eax, %edx
|
||||
rorl %cl, %ebx
|
||||
shldl %cl, %ebx, %eax
|
||||
testb $32, %cl
|
||||
cmovnz %eax, %ecx
|
||||
cmovnz %edx, %eax
|
||||
cmovnz %edx, %eax
|
||||
cmovnz %ecx, %edx
|
||||
pop %ebx
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user