#else
stfl(A0, (float)ST0);
#endif
+ FORCE_RET();
}
void OPPROTO op_fstl_ST0_A0(void)
{
stfq(A0, (double)ST0);
+ FORCE_RET();
}
void OPPROTO op_fstt_ST0_A0(void)
if (val != (int16_t)val)
val = -32768;
stw(A0, val);
+ FORCE_RET();
}
void OPPROTO op_fistl_ST0_A0(void)
d = ST0;
val = lrint(d);
stl(A0, val);
+ FORCE_RET();
}
void OPPROTO op_fistll_ST0_A0(void)
d = ST0;
val = llrint(d);
stq(A0, val);
+ FORCE_RET();
}
void OPPROTO op_fbld_ST0_A0(void)
int fpus;
fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11;
stw(A0, fpus);
+ FORCE_RET();
}
void OPPROTO op_fnstsw_EAX(void)
void OPPROTO op_fnstcw_A0(void)
{
stw(A0, env->fpuc);
+ FORCE_RET();
}
void OPPROTO op_fldcw_A0(void)
void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T0_A0)(void)
{
glue(stb, MEMSUFFIX)(A0, T0);
+ FORCE_RET();
}
void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T0_A0)(void)
{
glue(stw, MEMSUFFIX)(A0, T0);
+ FORCE_RET();
}
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void)
{
glue(stl, MEMSUFFIX)(A0, T0);
+ FORCE_RET();
}
#if 0
void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T1_A0)(void)
{
glue(stb, MEMSUFFIX)(A0, T1);
+ FORCE_RET();
}
#endif
void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T1_A0)(void)
{
glue(stw, MEMSUFFIX)(A0, T1);
+ FORCE_RET();
}
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T1_A0)(void)
{
glue(stl, MEMSUFFIX)(A0, T1);
+ FORCE_RET();
}
/* SSE/MMX support */
uint64_t *p;
p = (uint64_t *)((char *)env + PARAM1);
glue(stq, MEMSUFFIX)(A0, *p);
+ FORCE_RET();
}
void OPPROTO glue(glue(op_ldo, MEMSUFFIX), _env_A0)(void)
p = (XMMReg *)((char *)env + PARAM1);
glue(stq, MEMSUFFIX)(A0, p->XMM_Q(0));
glue(stq, MEMSUFFIX)(A0 + 8, p->XMM_Q(1));
+ FORCE_RET();
}
#ifdef TARGET_X86_64
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T0_A0)(void)
{
glue(stq, MEMSUFFIX)(A0, T0);
+ FORCE_RET();
}
void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T1_A0)(void)
{
glue(stq, MEMSUFFIX)(A0, T1);
+ FORCE_RET();
}
#endif