diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-09-20 03:07:43 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-09-20 03:07:43 +0000 |
commit | 458e1f58e6c99f16663e523eaee7cebf013afdf2 (patch) | |
tree | 2f9f319b341f81133a12e4c81deda679320107f4 /sim/mips/interp.c | |
parent | c12f5c678e2b93fa915a30698f952aedf57865b7 (diff) | |
download | gdb-458e1f58e6c99f16663e523eaee7cebf013afdf2.zip gdb-458e1f58e6c99f16663e523eaee7cebf013afdf2.tar.gz gdb-458e1f58e6c99f16663e523eaee7cebf013afdf2.tar.bz2 |
Fix multiplication, ldxc1, and floating point conversion. See ChangeLog.
Diffstat (limited to 'sim/mips/interp.c')
-rw-r--r-- | sim/mips/interp.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sim/mips/interp.c b/sim/mips/interp.c index 9c47b4a..18f79ba 100644 --- a/sim/mips/interp.c +++ b/sim/mips/interp.c @@ -3364,6 +3364,11 @@ Convert(rm,op,from,to) break; } +#if 0 + /* FIXME: This code is incorrect. The rounding mode does not + round to integral values; it rounds to the nearest + representable value in the format. */ + switch (rm) { case FP_RM_NEAREST: /* Round result to nearest representable value. When two @@ -3398,6 +3403,8 @@ Convert(rm,op,from,to) tmp = (float)floor((double)tmp); break; } +#endif /* 0 */ + result = (uword64)*(unsigned int *)&tmp; } break; @@ -3425,6 +3432,11 @@ Convert(rm,op,from,to) break; } +#if 0 + /* FIXME: This code is incorrect. The rounding mode does not + round to integral values; it rounds to the nearest + representable value in the format. */ + switch (rm) { case FP_RM_NEAREST: #ifdef HAVE_ANINT @@ -3450,6 +3462,8 @@ Convert(rm,op,from,to) tmp = floor(*(double *)&tmp); break; } +#endif /* 0 */ + result = *(uword64 *)&tmp; } break; |