Home | History | Annotate | Download | only in Arm
      1 #------------------------------------------------------------------------------
      2 #
      3 # Copyright (c) 2013, ARM. All rights reserved.<BR>
      4 #
      5 # This program and the accompanying materials
      6 # are licensed and made available under the terms and conditions of the BSD License
      7 # which accompanies this distribution.  The full text of the license may be found at
      8 # http://opensource.org/licenses/bsd-license.php
      9 #
     10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 #
     13 #------------------------------------------------------------------------------
     14 
     15 #include <AsmMacroIoLib.h>
     16 
     17 #VOID
     18 #EFIAPI
     19 #__aeabi_llsr (
     20 # IN  VOID    *Destination,
     21 # IN  VOID    *Source,
     22 # IN  UINT32  Size
     23 # );
     24 #
     25 ASM_FUNC(__aeabi_llsr)
     26     subs     r3,r2,#0x20
     27     bpl      1f
     28     rsb      r3,r2,#0x20
     29     lsr      r0,r0,r2
     30     orr      r0,r0,r1,lsl r3
     31     lsr      r1,r1,r2
     32     bx       lr
     33 1:
     34     lsr      r0,r1,r3
     35     mov      r1,#0
     36     bx       lr
     37