1471 |
env->fptags[new_fpstt] = 0; /* validate stack entry */ |
env->fptags[new_fpstt] = 0; /* validate stack entry */ |
1472 |
} |
} |
1473 |
|
|
|
#ifdef USE_X86LDOUBLE |
|
|
void OPPROTO op_fldt_ST0_A0(void) |
|
|
{ |
|
|
int new_fpstt; |
|
|
new_fpstt = (env->fpstt - 1) & 7; |
|
|
env->fpregs[new_fpstt] = *(long double *)A0; |
|
|
env->fpstt = new_fpstt; |
|
|
env->fptags[new_fpstt] = 0; /* validate stack entry */ |
|
|
} |
|
|
#else |
|
1474 |
void OPPROTO op_fldt_ST0_A0(void) |
void OPPROTO op_fldt_ST0_A0(void) |
1475 |
{ |
{ |
1476 |
helper_fldt_ST0_A0(); |
helper_fldt_ST0_A0(); |
1477 |
} |
} |
|
#endif |
|
1478 |
|
|
1479 |
/* helpers are needed to avoid static constant reference. XXX: find a better way */ |
/* helpers are needed to avoid static constant reference. XXX: find a better way */ |
1480 |
#ifdef USE_INT_TO_FLOAT_HELPERS |
#ifdef USE_INT_TO_FLOAT_HELPERS |
1584 |
stfq((void *)A0, (double)ST0); |
stfq((void *)A0, (double)ST0); |
1585 |
} |
} |
1586 |
|
|
|
#ifdef USE_X86LDOUBLE |
|
|
void OPPROTO op_fstt_ST0_A0(void) |
|
|
{ |
|
|
*(long double *)A0 = ST0; |
|
|
} |
|
|
#else |
|
1587 |
void OPPROTO op_fstt_ST0_A0(void) |
void OPPROTO op_fstt_ST0_A0(void) |
1588 |
{ |
{ |
1589 |
helper_fstt_ST0_A0(); |
helper_fstt_ST0_A0(); |
1590 |
} |
} |
|
#endif |
|
1591 |
|
|
1592 |
void OPPROTO op_fist_ST0_A0(void) |
void OPPROTO op_fist_ST0_A0(void) |
1593 |
{ |
{ |