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 
     16 .text
     17 .align 2
     18 GCC_ASM_EXPORT(__aeabi_llsr)
     19 
     20 #
     21 #VOID
     22 #EFIAPI
     23 #__aeabi_llsr (
     24 # IN  VOID    *Destination,
     25 # IN  VOID    *Source,
     26 # IN  UINT32  Size
     27 # );
     28 #
     29 ASM_PFX(__aeabi_llsr):
     30     subs     r3,r2,#0x20
     31     bpl      1f
     32     rsb      r3,r2,#0x20
     33     lsr      r0,r0,r2
     34     orr      r0,r0,r1,lsl r3
     35     lsr      r1,r1,r2
     36     bx       lr
     37 1:
     38     lsr      r0,r1,r3
     39     mov      r1,#0
     40     bx       lr
     41