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