Commit bd59780c46430dbb31e4232aa5191f0739ed70a7
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) | ... | ... |