X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=ArmPkg%2FLibrary%2FCompilerIntrinsicsLib%2FArm%2Fmoddi3.S;h=75572c82b64806855b2fe42e824a5920e727073f;hp=7af8d21683406ff8c9235be7fc1527ec101c3433;hb=2ac288f9199196dfc4ab05bee0a7815ca361174a;hpb=2ef2b01e07c02db339f34004445734a2dbdd80e1 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S index 7af8d21683..75572c82b6 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S @@ -1,8 +1,8 @@ #------------------------------------------------------------------------------ # -# Copyright (c) 2008-2009 Apple Inc. All rights reserved. +# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
# -# All rights reserved. This program and the accompanying materials +# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php @@ -12,36 +12,35 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - .globl ___moddi3 -___moddi3: - @ args = 0, pretend = 0, frame = 8 - @ frame_needed = 1, uses_anonymous_args = 0 - stmfd sp!, {r4, r5, r7, lr} - mov r4, r1, asr #31 - add r7, sp, #8 - stmfd sp!, {r10, r11} - mov r10, r3, asr #31 - sub sp, sp, #16 - mov r5, r4 - mov r11, r10 - eor r0, r0, r4 - eor r1, r1, r4 - eor r2, r2, r10 - eor r3, r3, r10 - add ip, sp, #8 - subs r0, r0, r4 - sbc r1, r1, r5 - subs r2, r2, r10 - sbc r3, r3, r11 - str ip, [sp, #0] - bl ___udivmoddi4 - ldrd r0, [sp, #8] - eor r0, r0, r4 - eor r1, r1, r4 - subs r0, r0, r4 - sbc r1, r1, r5 - sub sp, r7, #16 - ldmfd sp!, {r10, r11} - ldmfd sp!, {r4, r5, r7, pc} + .text + .align 2 + GCC_ASM_EXPORT(__moddi3) + +ASM_PFX(__moddi3): + stmfd sp!, {r4, r5, r7, lr} + mov r4, r1, asr #31 + add r7, sp, #8 + stmfd sp!, {r10, r11} + mov r10, r3, asr #31 + sub sp, sp, #16 + mov r5, r4 + mov r11, r10 + eor r0, r0, r4 + eor r1, r1, r4 + eor r2, r2, r10 + eor r3, r3, r10 + add ip, sp, #8 + subs r0, r0, r4 + sbc r1, r1, r5 + subs r2, r2, r10 + sbc r3, r3, r11 + str ip, [sp, #0] + bl ASM_PFX(__udivmoddi4) + ldrd r0, [sp, #8] + eor r0, r0, r4 + eor r1, r1, r4 + subs r0, r0, r4 + sbc r1, r1, r5 + sub sp, r7, #16 + ldmfd sp!, {r10, r11} + ldmfd sp!, {r4, r5, r7, pc}