mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
SSE3 support (Joachim Henke)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1839 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
b854608e0c
commit
465e983875
5 changed files with 102 additions and 16 deletions
|
@ -1911,6 +1911,53 @@ void OPPROTO op_fistll_ST0_A0(void)
|
|||
FORCE_RET();
|
||||
}
|
||||
|
||||
void OPPROTO op_fistt_ST0_A0(void)
|
||||
{
|
||||
#if defined(__sparc__) && !defined(__sparc_v9__)
|
||||
register CPU86_LDouble d asm("o0");
|
||||
#else
|
||||
CPU86_LDouble d;
|
||||
#endif
|
||||
int val;
|
||||
|
||||
d = ST0;
|
||||
val = floatx_to_int32_round_to_zero(d, &env->fp_status);
|
||||
if (val != (int16_t)val)
|
||||
val = -32768;
|
||||
stw(A0, val);
|
||||
FORCE_RET();
|
||||
}
|
||||
|
||||
void OPPROTO op_fisttl_ST0_A0(void)
|
||||
{
|
||||
#if defined(__sparc__) && !defined(__sparc_v9__)
|
||||
register CPU86_LDouble d asm("o0");
|
||||
#else
|
||||
CPU86_LDouble d;
|
||||
#endif
|
||||
int val;
|
||||
|
||||
d = ST0;
|
||||
val = floatx_to_int32_round_to_zero(d, &env->fp_status);
|
||||
stl(A0, val);
|
||||
FORCE_RET();
|
||||
}
|
||||
|
||||
void OPPROTO op_fisttll_ST0_A0(void)
|
||||
{
|
||||
#if defined(__sparc__) && !defined(__sparc_v9__)
|
||||
register CPU86_LDouble d asm("o0");
|
||||
#else
|
||||
CPU86_LDouble d;
|
||||
#endif
|
||||
int64_t val;
|
||||
|
||||
d = ST0;
|
||||
val = floatx_to_int64_round_to_zero(d, &env->fp_status);
|
||||
stq(A0, val);
|
||||
FORCE_RET();
|
||||
}
|
||||
|
||||
void OPPROTO op_fbld_ST0_A0(void)
|
||||
{
|
||||
helper_fbld_ST0_A0();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue