diff options
author | Dave Brolley <brolley@redhat.com> | 2000-03-30 20:21:37 +0000 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2000-03-30 20:21:37 +0000 |
commit | e19bd86dc852cb01f36a695373da1e1f8ff16612 (patch) | |
tree | 267cab2abcdc7bbeac6512f8850d3fb54dd956e0 /sim/common | |
parent | a7c689caebf2ca5ddf7646fa476bc101545ed1bc (diff) | |
download | gdb-e19bd86dc852cb01f36a695373da1e1f8ff16612.tar.gz |
2000-03-23 Dave Brolley <brolley@redhat.com>
* cgen-fpu.h: Rename extsfdf to fextsfdf. Rename truncdfsf to
ftruncdfsf.
* cgen-accfp.c (fextsfdf): New function.
(ftruncdfsf): New function.
(cgen_init_accurate_fpu): Initialize fextsfdf and ftruncdfsf.
Diffstat (limited to 'sim/common')
-rw-r--r-- | sim/common/ChangeLog | 8 | ||||
-rw-r--r-- | sim/common/cgen-accfp.c | 26 | ||||
-rw-r--r-- | sim/common/cgen-fpu.h | 4 |
3 files changed, 36 insertions, 2 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 47e80ea00c1..04ab3ae18d6 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,11 @@ +2000-03-23 Dave Brolley <brolley@redhat.com> + + * cgen-fpu.h: Rename extsfdf to fextsfdf. Rename truncdfsf to + ftruncdfsf. + * cgen-accfp.c (fextsfdf): New function. + (ftruncdfsf): New function. + (cgen_init_accurate_fpu): Initialize fextsfdf and ftruncdfsf. + 2000-03-13 Jeff Johnston <jjohnstn@cygnus.com> * cgen-ops.h: Added TRUNCSISI. diff --git a/sim/common/cgen-accfp.c b/sim/common/cgen-accfp.c index e9175225a87..929dd22b3c6 100644 --- a/sim/common/cgen-accfp.c +++ b/sim/common/cgen-accfp.c @@ -284,6 +284,30 @@ gesf (CGEN_FPU* fpu, SF x, SF y) return sim_fpu_is_ge (&op1, &op2); } +static DF +fextsfdf (CGEN_FPU* fpu, SF x) +{ + sim_fpu op1; + unsigned64 res; + + sim_fpu_32to (&op1, x); + sim_fpu_to64 (&res, &op1); + + return res; +} + +static SF +ftruncdfsf (CGEN_FPU* fpu, DF x) +{ + sim_fpu op1; + unsigned32 res; + + sim_fpu_64to (&op1, x); + sim_fpu_to32 (&res, &op1); + + return res; +} + static SF floatsisf (CGEN_FPU* fpu, SI x) { @@ -671,6 +695,8 @@ cgen_init_accurate_fpu (SIM_CPU* cpu, CGEN_FPU* fpu, CGEN_FPU_ERROR_FN* error) o->ledf = ledf; o->gtdf = gtdf; o->gedf = gedf; + o->fextsfdf = fextsfdf; + o->ftruncdfsf = ftruncdfsf; o->floatsisf = floatsisf; o->floatsidf = floatsidf; o->ufloatsisf = ufloatsisf; diff --git a/sim/common/cgen-fpu.h b/sim/common/cgen-fpu.h index bb82a8c8d8a..bc3364e00cd 100644 --- a/sim/common/cgen-fpu.h +++ b/sim/common/cgen-fpu.h @@ -100,8 +100,8 @@ struct cgen_fp_ops { /* SF/DF conversion ops */ - DF (*extsfdf) (CGEN_FPU*, SF); - SF (*truncdfsf) (CGEN_FPU*, DF); + DF (*fextsfdf) (CGEN_FPU*, SF); + SF (*ftruncdfsf) (CGEN_FPU*, DF); SF (*floatsisf) (CGEN_FPU*, SI); SF (*floatdisf) (CGEN_FPU*, DI); |