diff options
Diffstat (limited to 'MdePkg/Library/CompilerIntrinsicsLib/Arm/llsr.asm')
-rw-r--r-- | MdePkg/Library/CompilerIntrinsicsLib/Arm/llsr.asm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/MdePkg/Library/CompilerIntrinsicsLib/Arm/llsr.asm b/MdePkg/Library/CompilerIntrinsicsLib/Arm/llsr.asm new file mode 100644 index 0000000000..fce1df28f0 --- /dev/null +++ b/MdePkg/Library/CompilerIntrinsicsLib/Arm/llsr.asm @@ -0,0 +1,39 @@ +//------------------------------------------------------------------------------
+//
+// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+// Copyright (c) 2018, Pete Batard. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+//------------------------------------------------------------------------------
+
+ EXPORT __aeabi_llsr
+ EXPORT __rt_srsh
+
+ AREA s___aeabi_llsr, CODE, READONLY, ARM
+
+ ARM
+
+;
+;VOID
+;EFIAPI
+;__aeabi_llsr (
+; IN UINT64 Value,
+; IN UINT32 Shift
+;)
+;
+__aeabi_llsr
+__rt_srsh
+ SUBS r3,r2,#0x20
+ BPL __aeabi_llsr_label1
+ RSB r3,r2,#0x20
+ LSR r0,r0,r2
+ ORR r0,r0,r1,LSL r3
+ LSR r1,r1,r2
+ BX lr
+__aeabi_llsr_label1
+ LSR r0,r1,r3
+ MOV r1,#0
+ BX lr
+
+ END
|