Commit bd59780c authored by ths's avatar ths
Browse files

Fix floating point to integer conversion, by Aurelien Jarno.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2413 c046a42c-6fe2-441c-8c8c-71466251a162
parent ed8276ac
...@@ -1472,23 +1472,23 @@ void OPPROTO op_fstod(void) ...@@ -1472,23 +1472,23 @@ void OPPROTO op_fstod(void)
/* Float to integer conversion. */ /* Float to integer conversion. */
void OPPROTO op_fstoi(void) void OPPROTO op_fstoi(void)
{ {
*((int32_t *)&FT0) = float32_to_int32(FT1, &env->fp_status); *((int32_t *)&FT0) = float32_to_int32_round_to_zero(FT1, &env->fp_status);
} }
void OPPROTO op_fdtoi(void) void OPPROTO op_fdtoi(void)
{ {
*((int32_t *)&FT0) = float64_to_int32(DT1, &env->fp_status); *((int32_t *)&FT0) = float64_to_int32_round_to_zero(DT1, &env->fp_status);
} }
#ifdef TARGET_SPARC64 #ifdef TARGET_SPARC64
void OPPROTO op_fstox(void) void OPPROTO op_fstox(void)
{ {
*((int64_t *)&DT0) = float32_to_int64(FT1, &env->fp_status); *((int64_t *)&DT0) = float32_to_int64_round_to_zero(FT1, &env->fp_status);
} }
void OPPROTO op_fdtox(void) void OPPROTO op_fdtox(void)
{ {
*((int64_t *)&DT0) = float64_to_int64(DT1, &env->fp_status); *((int64_t *)&DT0) = float64_to_int64_round_to_zero(DT1, &env->fp_status);
} }
void OPPROTO op_fmovs_cc(void) void OPPROTO op_fmovs_cc(void)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment