mullu.S 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #------------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
  4. #
  5. # This program and the accompanying materials
  6. # are licensed and made available under the terms and conditions of the BSD License
  7. # which accompanies this distribution. The full text of the license may be found at
  8. # http://opensource.org/licenses/bsd-license.php
  9. #
  10. # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
  12. #
  13. #------------------------------------------------------------------------------
  14. #include "edk2asm.h"
  15. .text
  16. GCC_ASM_EXPORT(__aeabi_lmul)
  17. #
  18. #INT64
  19. #EFIAPI
  20. #__aeabi_lmul (
  21. # IN INT64 Multiplicand
  22. # IN INT64 Multiplier
  23. # );
  24. #
  25. ASM_PFX(__aeabi_lmul):
  26. stmdb sp!, {lr}
  27. mov lr, r0
  28. umull r0, ip, r2, lr
  29. mla r1, r2, r1, ip
  30. mla r1, r3, lr, r1
  31. ldmia sp!, {pc}
  32. #if defined(__ELF__) && defined(__linux__)
  33. .section .note.GNU-stack,"",%progbits
  34. #endif