/** @file
  64-bit Math Worker Function.
  The 32-bit versions of C compiler generate calls to library routines
  to handle 64-bit math. These functions use non-standard calling conventions.

Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#include <Library/BaseLib.h>

/* https://gcc.gnu.org/onlinedocs/gccint/Integer-library-routines.html */
__attribute__ ((__used__))
unsigned long long
__udivmoddi4 (
  unsigned long long  A,
  unsigned long long  B,
  unsigned long long  *C
  )
{
  return DivU64x64Remainder ((UINT64)A, (UINT64)B, (UINT64 *)C);
}
