du_int
__umoddi3(du_int a, du_int b)
{
    du_int r;
    __udivmoddi4(a, b, &r);
    return r;
}
Esempio n. 2
0
File: int64.c Progetto: AxFab/axc
// ---------------------------------------------------------------------------
uint64_t __umoddi3(uint64_t num, uint64_t den)
{
  uint64_t v;

  __udivmoddi4(num, den, &v);
  return v;
}
Esempio n. 3
0
UDWtype
__umoddi3 (UDWtype u, UDWtype v)
{
  UDWtype w;

  __udivmoddi4 (u, v, &w);
  return w;
}
Esempio n. 4
0
UDItype
__umoddi36432 (UDItype u, USItype v)
{
  UDItype w;

  __udivmoddi4 (u, v, &w);
  return w;
}
Esempio n. 5
0
COMPILER_RT_ABI di_int
__divdi3(di_int a, di_int b)
{
    const int bits_in_dword_m1 = (int)(sizeof(di_int) * CHAR_BIT) - 1;
    di_int s_a = a >> bits_in_dword_m1;           /* s_a = a < 0 ? -1 : 0 */
    di_int s_b = b >> bits_in_dword_m1;           /* s_b = b < 0 ? -1 : 0 */
    a = (a ^ s_a) - s_a;                         /* negate if s_a == -1 */
    b = (b ^ s_b) - s_b;                         /* negate if s_b == -1 */
    s_a ^= s_b;                                  /*sign of quotient */
    return (__udivmoddi4(a, b, (du_int*)0) ^ s_a) - s_a;  /* negate if s_a == -1 */
}
Esempio n. 6
0
File: divdi3.c Progetto: B-Rich/edk2
INT64
__divdi3(INT64 a, INT64 b)
{
    const int bits_in_dword_m1 = (int)(sizeof(INT64) * CHAR_BIT) - 1;
    INT64 s_a = a >> bits_in_dword_m1;           // s_a = a < 0 ? -1 : 0
    INT64 s_b = b >> bits_in_dword_m1;           // s_b = b < 0 ? -1 : 0
    a = (a ^ s_a) - s_a;                         // negate if s_a == -1
    b = (b ^ s_b) - s_b;                         // negate if s_b == -1
    s_a ^= s_b;                                  // sign of quotient
    return (__udivmoddi4(a, b, (UINT64*)0) ^ s_a) - s_a;  // negate if s_a == -1
}
Esempio n. 7
0
COMPILER_RT_ABI di_int
__remdi3(di_int a, di_int b)
{
    const int bits_in_dword_m1 = (int)(sizeof(di_int) * CHAR_BIT) - 1;
    di_int s_a = a >> bits_in_dword_m1;           /* s_a = a < 0 ? -1 : 0 */
    di_int s_b = b >> bits_in_dword_m1;           /* s_b = b < 0 ? -1 : 0 */
    a = (a ^ s_a) - s_a;                         /* negate if s_a == -1 */
    b = (b ^ s_b) - s_b;                         /* negate if s_b == -1 */
    du_int rem;
    __udivmoddi4(a, b, &rem);
    return (rem ^ s_a) - s_a;  /* negate if s_a == -1 */
}
Esempio n. 8
0
COMPILER_RT_ABI di_int
__moddi3(di_int a, di_int b)
{
    const int bits_in_dword_m1 = (int)(sizeof(di_int) * CHAR_BIT) - 1;
    di_int s = b >> bits_in_dword_m1;  /* s = b < 0 ? -1 : 0 */
    b = (b ^ s) - s;                   /* negate if s == -1 */
    s = a >> bits_in_dword_m1;         /* s = a < 0 ? -1 : 0 */
    a = (a ^ s) - s;                   /* negate if s == -1 */
    di_int r;
    __udivmoddi4(a, b, (du_int*)&r);
    return (r ^ s) - s;                /* negate if s == -1 */
}
Esempio n. 9
0
DItype
__moddi36432 (DItype u, SItype v)
{
  _Bool c = 0;
  DItype w, _v=v;

  if (u < 0)
    {
      c = !c;
      u = -u;
    }
  if (v < 0)
    _v = -_v;
  __udivmoddi4 (u, _v, (UDItype *) &w);
  if (c)
    w = -w;
  return w;
}
Esempio n. 10
0
DWtype
__moddi3 (DWtype u, DWtype v)
{
  _Bool c = 0;
  DWtype w;

  if (u < 0)
    {
      c = !c;
      u = -u;
    }
  if (v < 0)
    v = -v;
  __udivmoddi4 (u, v, (UDWtype *) &w);
  if (c)
    w = -w;
  return w;
}
Esempio n. 11
0
int64_t __divdi3(int64_t num, int64_t den)
{
	int minus = 0;
	int64_t v;

	if (num < 0) {
		num = -num;
		minus = 1;
	}
	if (den < 0) {
		den = -den;
		minus ^= 1;
	}

	v = __udivmoddi4(num, den, NULL);
	if (minus)
		v = -v;

	return v;
}
Esempio n. 12
0
int64_t __moddi3(int64_t num, int64_t den)
{
	int minus = 0;
	int64_t v;

	if (num < 0) {
		num = -num;
		minus = 1;
	}
	if (den < 0) {
		den = -den;
		minus ^= 1;
	}

	(void)__udivmoddi4(num, den, (uint64_t *) & v);
	if (minus)
		v = -v;

	return v;
}
Esempio n. 13
0
DItype
__divdi36432 (DItype u, SItype v)
{
  _Bool c = 0;
  DItype w, _v=v;

  if (u < 0)
    {
      c = !c;
      u = -u;
    }
  if (v < 0)
    {
      c = !c;
      _v = -_v;
    }
  w = __udivmoddi4 (u, _v, NULL);
  if (c)
    w = -w;
  return w;
}
Esempio n. 14
0
DWtype
__divdi3 (DWtype u, DWtype v)
{
  _Bool c = 0;
  DWtype w;

  if (u < 0)
    {
      c = !c;
      u = -u;
    }
  if (v < 0)
    {
      c = !c;
      v = -v;
    }
  w = __udivmoddi4 (u, v, NULL);
  if (c)
    w = -w;
  return w;
}
Esempio n. 15
0
/*
 * 64-bit signed integer modulo.
 */
signed long long __moddi3(signed long long num, signed long long den)
{
	signed int minus = 0;
	signed long long v;

	if (num < 0)
	{
		num = -num;
		minus = 1;
	}
	if (den < 0)
	{
		den = -den;
		minus ^= 1;
	}

	(void)__udivmoddi4(num, den, (unsigned long long *) & v);
	if (minus)
		v = -v;

	return v;
}
Esempio n. 16
0
/*
 * 64-bit signed integer divide.
 */
signed long long __divdi3(signed long long num, signed long long den)
{
	signed int minus = 0;
	signed long long v;

	if (num < 0)
	{
		num = -num;
		minus = 1;
	}
	if (den < 0)
	{
		den = -den;
		minus ^= 1;
	}

	v = __udivmoddi4(num, den, 0);
	if (minus)
		v = -v;

	return v;
}
Esempio n. 17
0
__libgcc int64_t __divmoddi4(int64_t num, int64_t den, int64 *rem_p)
{
  int minus = 0;
  int64_t v;

  if ( num < 0 ) {
    num = -num;
    minus = 1;
  }
  if ( den < 0 ) {
    den = -den;
    minus ^= 1;
  }

  v = __udivmoddi4(num, den, (uint64_t *)rem_p);
  if ( minus ) {
    v = -v;
    if ( rem_p )
      *rem_p = -(*rem_p);
  }

  return v;
}
Esempio n. 18
0
extern "C" int64_t __wrap___divmoddi4(int64_t u, int64_t v, int64_t* rp)
{
    int32_t c1 = 0, c2 = 0;
    int64_t uu = u, vv = v;
    int64_t w;
    int64_t r;

    if (uu < 0) {
        c1 = ~c1, c2 = ~c2, uu = -uu;
    }
    if (vv < 0) {
        c1 = ~c1, vv = -vv;
    }

    w = __udivmoddi4(uu, vv, (uint64_t*)&r);
    if (c1)
        w = -w;
    if (c2)
        r = -r;

    *rp = r;
    return w;
}
Esempio n. 19
0
UDWtype
__udivdi3 (UDWtype u, UDWtype v)
{
  return __udivmoddi4 (u, v, NULL);
}
Esempio n. 20
0
uint64 __udivdi3(uint64 num, uint64 den)
{
	return __udivmoddi4(num, den, 0);
}
Esempio n. 21
0
uint64_t __udivdi3(uint64_t num, uint64_t den)
{
  return __udivmoddi4(num, den, NULL);
}
Esempio n. 22
0
UDItype
__udivdi36432 (UDItype u, USItype v)
{
  return __udivmoddi4 (u, v, NULL);
}
Esempio n. 23
0
UINT64
__udivdi3(UINT64 a, UINT64 b)
{
    return __udivmoddi4(a, b, 0);
}
Esempio n. 24
0
COMPILER_RT_ABI du_int
__udivdi3(du_int a, du_int b)
{
    return __udivmoddi4(a, b, 0);
}
Esempio n. 25
0
uint64_t __udivdi3(uint64_t num, uint64_t den)
{
  return __udivmoddi4(num, den, (uint64_t *)0);
}