/*
 * arch/i386/libgcc/__moddi3.c
 */

#include <stdint.h>
#include <stddef.h>

extern uint64_t __udivmoddi4(uint64_t num, uint64_t den, uint64_t * rem);

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;
}
