]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / divsi3.S
1 #------------------------------------------------------------------------------
2 #
3 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 #
5 # SPDX-License-Identifier: BSD-2-Clause-Patent
6 #
7 #------------------------------------------------------------------------------
8
9 #include <AsmMacroIoLib.h>
10
11 ASM_FUNC(__divsi3)
12 eor r3, r0, r0, asr #31
13 eor r2, r1, r1, asr #31
14 stmfd sp!, {r4, r5, r7, lr}
15 mov r5, r0, asr #31
16 add r7, sp, #8
17 mov r4, r1, asr #31
18 sub r0, r3, r0, asr #31
19 sub r1, r2, r1, asr #31
20 bl ASM_PFX(__udivsi3)
21 eor r1, r5, r4
22 eor r0, r0, r1
23 rsb r0, r1, r0
24 ldmfd sp!, {r4, r5, r7, pc}