2000-03-23 Dave Brolley <brolley@redhat.com>
authorDave Brolley <brolley@redhat.com>
Thu, 30 Mar 2000 20:21:37 +0000 (20:21 +0000)
committerDave Brolley <brolley@redhat.com>
Thu, 30 Mar 2000 20:21:37 +0000 (20:21 +0000)
* 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.

sim/common/ChangeLog
sim/common/cgen-accfp.c
sim/common/cgen-fpu.h

index 47e80ea00c1a1abb7549de8d7db2a463fc483ece..04ab3ae18d60fa74686f67d93c0750ff75f53b1a 100644 (file)
@@ -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.
index e9175225a87b5ee4b7694640c6be502dc96c6637..929dd22b3c66c95ea0f76f7910b648ca1f947be4 100644 (file)
@@ -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;
index bb82a8c8d8a4e8533eab47f6fb1240d7acd0ba92..bc3364e00cd8302f6d44baaaf7e59a29eeaf6a9d 100644 (file)
@@ -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);