Commit bd59780c46430dbb31e4232aa5191f0739ed70a7

Authored by ths
1 parent ed8276ac

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
Showing 1 changed file with 4 additions and 4 deletions
target-sparc/op.c
... ... @@ -1472,23 +1472,23 @@ void OPPROTO op_fstod(void)
1472 1472 /* Float to integer conversion. */
1473 1473 void OPPROTO op_fstoi(void)
1474 1474 {
1475   - *((int32_t *)&FT0) = float32_to_int32(FT1, &env->fp_status);
  1475 + *((int32_t *)&FT0) = float32_to_int32_round_to_zero(FT1, &env->fp_status);
1476 1476 }
1477 1477  
1478 1478 void OPPROTO op_fdtoi(void)
1479 1479 {
1480   - *((int32_t *)&FT0) = float64_to_int32(DT1, &env->fp_status);
  1480 + *((int32_t *)&FT0) = float64_to_int32_round_to_zero(DT1, &env->fp_status);
1481 1481 }
1482 1482  
1483 1483 #ifdef TARGET_SPARC64
1484 1484 void OPPROTO op_fstox(void)
1485 1485 {
1486   - *((int64_t *)&DT0) = float32_to_int64(FT1, &env->fp_status);
  1486 + *((int64_t *)&DT0) = float32_to_int64_round_to_zero(FT1, &env->fp_status);
1487 1487 }
1488 1488  
1489 1489 void OPPROTO op_fdtox(void)
1490 1490 {
1491   - *((int64_t *)&DT0) = float64_to_int64(DT1, &env->fp_status);
  1491 + *((int64_t *)&DT0) = float64_to_int64_round_to_zero(DT1, &env->fp_status);
1492 1492 }
1493 1493  
1494 1494 void OPPROTO op_fmovs_cc(void)
... ...