X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=ArmPkg%2FLibrary%2FCompilerIntrinsicsLib%2FArm%2Fmuldi3.S;h=ab5d0cac2efdfbc594c37c5e0aa43b63f8444c36;hp=919d6374e1c0c0ca871bb66c8b97c69d44ab95fa;hb=58b5d037b4627460242c9333860faabf6115069e;hpb=6111eb855592438cc6f2da44e5887f8065bcef6e diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S index 919d6374e1..ab5d0cac2e 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S @@ -12,47 +12,47 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__muldi3) +\s\s.text +\s\s.align 2 +\s\sGCC_ASM_EXPORT(__muldi3) ASM_PFX(__muldi3): - stmfd sp!, {r4, r5, r6, r7, lr} - add r7, sp, #12 - stmfd sp!, {r8, r10, r11} - ldr r11, L4 - mov r4, r0, lsr #16 - and r8, r0, r11 - and ip, r2, r11 - mul lr, ip, r8 - mul ip, r4, ip - sub sp, sp, #8 - add r10, ip, lr, lsr #16 - and ip, r10, r11 - and lr, lr, r11 - mov r6, r2, lsr #16 - str r4, [sp, #4] - add r4, lr, ip, asl #16 - mul ip, r8, r6 - mov r5, r10, lsr #16 - add r10, ip, r4, lsr #16 - and ip, r10, r11 - and lr, r4, r11 - add r4, lr, ip, asl #16 - mul r0, r3, r0 - add ip, r5, r10, lsr #16 - ldr r5, [sp, #4] - mla r0, r2, r1, r0 - mla r5, r6, r5, ip - mov r10, r4 - add r11, r0, r5 - mov r1, r11 - mov r0, r4 - sub sp, r7, #24 - ldmfd sp!, {r8, r10, r11} - ldmfd sp!, {r4, r5, r6, r7, pc} - .p2align 2 +\s\sstmfd\s\ssp!, {r4, r5, r6, r7, lr} +\s\sadd\s\sr7, sp, #12 +\s\sstmfd\s\ssp!, {r8, r10, r11} +\s\sldr\s\sr11, L4 +\s\smov\s\sr4, r0, lsr #16 +\s\sand\s\sr8, r0, r11 +\s\sand\s\sip, r2, r11 +\s\smul\s\slr, ip, r8 +\s\smul\s\sip, r4, ip +\s\ssub\s\ssp, sp, #8 +\s\sadd\s\sr10, ip, lr, lsr #16 +\s\sand\s\sip, r10, r11 +\s\sand\s\slr, lr, r11 +\s\smov\s\sr6, r2, lsr #16 +\s\sstr\s\sr4, [sp, #4] +\s\sadd\s\sr4, lr, ip, asl #16 +\s\smul\s\sip, r8, r6 +\s\smov\s\sr5, r10, lsr #16 +\s\sadd\s\sr10, ip, r4, lsr #16 +\s\sand\s\sip, r10, r11 +\s\sand\s\slr, r4, r11 +\s\sadd\s\sr4, lr, ip, asl #16 +\s\smul\s\sr0, r3, r0 +\s\sadd\s\sip, r5, r10, lsr #16 +\s\sldr\s\sr5, [sp, #4] +\s\smla\s\sr0, r2, r1, r0 +\s\smla\s\sr5, r6, r5, ip +\s\smov\s\sr10, r4 +\s\sadd\s\sr11, r0, r5 +\s\smov\s\sr1, r11 +\s\smov\s\sr0, r4 +\s\ssub\s\ssp, r7, #24 +\s\sldmfd\s\ssp!, {r8, r10, r11} +\s\sldmfd\s\ssp!, {r4, r5, r6, r7, pc} +\s\s.p2align 2 L5: - .align 2 +\s\s.align 2 L4: - .long 65535 +\s\s.long\s\s65535