void helper_idivl_EAX_T0(void)

{

    int den, q, r;

    int64_t num;

    

    num = ((uint32_t)EAX) | ((uint64_t)((uint32_t)EDX) << 32);

    den = T0;

    if (den == 0) {

        raise_exception(EXCP00_DIVZ);

    }

#ifdef BUGGY_GCC_DIV64

    r = idiv32(&q, num, den);

#else

    q = (num / den);

    r = (num % den);

#endif

    EAX = (uint32_t)q;

    EDX = (uint32_t)r;

}

void helper_idivl_EAX_T0(void)

{

    int den, q, r;

    int64_t num;

    

    num = ((uint32_t)EAX) | ((uint64_t)((uint32_t)EDX) << 32);

    den = T0;

    if (den == 0) {

        raise_exception(EXCP00_DIVZ);

    }

#ifdef BUGGY_GCC_DIV64

    r = idiv32(&q, num, den);

#else

    q = (num / den);

    r = (num % den);

#endif

    EAX = (uint32_t)q;

    EDX = (uint32_t)r;

}

    int den, q, r;     int64_t num;
void FUNC_0(void)

{

    int VAR_0, VAR_1, VAR_2;

    int64_t num;

    

    num = ((uint32_t)EAX) | ((uint64_t)((uint32_t)EDX) << 32);

    VAR_0 = T0;

    if (VAR_0 == 0) {

        raise_exception(EXCP00_DIVZ);

    }

#ifdef BUGGY_GCC_DIV64

    VAR_2 = idiv32(&VAR_1, num, VAR_0);

#else

    VAR_1 = (num / VAR_0);

    VAR_2 = (num % VAR_0);

#endif

    EAX = (uint32_t)VAR_1;

    EDX = (uint32_t)VAR_2;

}

void FUNC_0(void)
{ int VAR_0, VAR_1, VAR_2; int64_t num; num = ((uint32_t)EAX) | ((uint64_t)((uint32_t)EDX) << 32); VAR_0 = T0; if (VAR_0 == 0) { raise_exception(EXCP00_DIVZ); } #ifdef BUGGY_GCC_DIV64
VAR_2 = idiv32(&VAR_1, num, VAR_0); #else
VAR_1 = (num / VAR_0); VAR_2 = (num % VAR_0); #endif
EAX = (uint32_t)VAR_1; EDX = (uint32_t)VAR_2; }