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