OSDN Git Service

2006-06-14 Dave Brolley <brolley@redhat.com>
authorbrolley <brolley>
Wed, 14 Jun 2006 19:02:24 +0000 (19:02 +0000)
committerbrolley <brolley>
Wed, 14 Jun 2006 19:02:24 +0000 (19:02 +0000)
        * cgen-fpu.h (cgen_fp_ops): All operations now take
        const cgen_fpu*.
        * cgen-fpu.cxx: Likewise.

sid/component/cgen-cpu/ChangeLog
sid/component/cgen-cpu/cgen-fpu.cxx
sid/component/cgen-cpu/cgen-fpu.h

index ea5df0a..5540abd 100644 (file)
@@ -1,3 +1,9 @@
+2006-06-14  Dave Brolley  <brolley@redhat.com>
+
+       * cgen-fpu.h (cgen_fp_ops): All operations now take
+       const cgen_fpu*.
+       * cgen-fpu.cxx: Likewise.
+
 2006-06-06  Frank Ch. Eigler  <fche@elastic.org>
 
        * Makefile.am, Makefile.in: Add "opcodes/cgen-bitset" to library.
index 34d11a4..fed3cd8 100644 (file)
@@ -14,7 +14,7 @@ namespace cgen
 {
 /* basic SF ops */
 SF
-cgen_fp_ops::addsf (cgen_fpu* fpu, SF x, SF y)
+cgen_fp_ops::addsf (const cgen_fpu* fpu, SF x, SF y)
 {
   fp r = fp (x) + fp (y);
   check_result (fpu, r);
@@ -23,7 +23,7 @@ cgen_fp_ops::addsf (cgen_fpu* fpu, SF x, SF y)
   return tmp;
 }
 
-SF cgen_fp_ops::subsf (cgen_fpu* fpu, SF x, SF y)
+SF cgen_fp_ops::subsf (const cgen_fpu* fpu, SF x, SF y)
 {
   fp r = fp (x) - fp (y);
   check_result (fpu, r);
@@ -32,7 +32,7 @@ SF cgen_fp_ops::subsf (cgen_fpu* fpu, SF x, SF y)
   return tmp;
 }
 
-SF cgen_fp_ops::mulsf (cgen_fpu* fpu, SF x, SF y)
+SF cgen_fp_ops::mulsf (const cgen_fpu* fpu, SF x, SF y)
 {
   fp r = fp (x) * fp (y);
   check_result (fpu, r);
@@ -41,7 +41,7 @@ SF cgen_fp_ops::mulsf (cgen_fpu* fpu, SF x, SF y)
   return tmp;
 }
 
-SF cgen_fp_ops::divsf (cgen_fpu* fpu, SF x, SF y)
+SF cgen_fp_ops::divsf (const cgen_fpu* fpu, SF x, SF y)
 {
   fp r = fp (x) / fp (y);
   check_result (fpu, r);
@@ -50,7 +50,7 @@ SF cgen_fp_ops::divsf (cgen_fpu* fpu, SF x, SF y)
   return tmp;
 }
 
-SF cgen_fp_ops::negsf (cgen_fpu* fpu, SF x)
+SF cgen_fp_ops::negsf (const cgen_fpu* fpu, SF x)
 {
   fp r (x);
   r = fp::neg (r);
@@ -60,7 +60,7 @@ SF cgen_fp_ops::negsf (cgen_fpu* fpu, SF x)
   return tmp;
 }
 
-SF cgen_fp_ops::abssf (cgen_fpu* fpu, SF x)
+SF cgen_fp_ops::abssf (const cgen_fpu* fpu, SF x)
 {
   fp r (x);
   r = fp::abs (r);
@@ -70,7 +70,7 @@ SF cgen_fp_ops::abssf (cgen_fpu* fpu, SF x)
   return tmp;
 }
 
-SF cgen_fp_ops::sqrtsf (cgen_fpu* fpu, SF x)
+SF cgen_fp_ops::sqrtsf (const cgen_fpu* fpu, SF x)
 {
   fp r (x);
   r = fp::sqrt (r);
@@ -82,39 +82,39 @@ SF cgen_fp_ops::sqrtsf (cgen_fpu* fpu, SF x)
 
 
 #if 0 // not implemented yet
-SF cgen_fp_ops::invsf (cgen_fpu*, SF);
-SF cgen_fp_ops::cossf (cgen_fpu*, SF);
-SF cgen_fp_ops::sinsf (cgen_fpu*, SF);
-SF cgen_fp_ops::minsf (cgen_fpu*, SF, SF);
-SF cgen_fp_ops::maxsf (cgen_fpu*, SF, SF);
+SF cgen_fp_ops::invsf (const cgen_fpu*, SF);
+SF cgen_fp_ops::cossf (const cgen_fpu*, SF);
+SF cgen_fp_ops::sinsf (const cgen_fpu*, SF);
+SF cgen_fp_ops::minsf (const cgen_fpu*, SF, SF);
+SF cgen_fp_ops::maxsf (const cgen_fpu*, SF, SF);
 #endif
 
-int cgen_fp_ops::eqsf (cgen_fpu*, SF x, SF y)
+int cgen_fp_ops::eqsf (const cgen_fpu*, SF x, SF y)
 {
   return fp (x) == fp (y);
 }
-int cgen_fp_ops::nesf (cgen_fpu*, SF x, SF y)
+int cgen_fp_ops::nesf (const cgen_fpu*, SF x, SF y)
 {
   return fp (x) != fp (y);
 }
-int cgen_fp_ops::ltsf (cgen_fpu*, SF x, SF y)
+int cgen_fp_ops::ltsf (const cgen_fpu*, SF x, SF y)
 {
   return fp (x) < fp (y);
 }
-int cgen_fp_ops::lesf (cgen_fpu*, SF x, SF y)
+int cgen_fp_ops::lesf (const cgen_fpu*, SF x, SF y)
 {
   return fp (x) <= fp (y);
 }
-int cgen_fp_ops::gtsf (cgen_fpu*, SF x, SF y)
+int cgen_fp_ops::gtsf (const cgen_fpu*, SF x, SF y)
 {
   return fp (x) > fp (y);
 }
-int cgen_fp_ops::gesf (cgen_fpu*, SF x, SF y)
+int cgen_fp_ops::gesf (const cgen_fpu*, SF x, SF y)
 {
   return fp (x) >= fp (y);
 }
 
-int cgen_fp_ops::unorderedsf (cgen_fpu*, SF x, SF y)
+int cgen_fp_ops::unorderedsf (const cgen_fpu*, SF x, SF y)
 {
   fp f1(x);
   fp f2(y);
@@ -122,7 +122,7 @@ int cgen_fp_ops::unorderedsf (cgen_fpu*, SF x, SF y)
 }
 
 /* basic DF ops */
-DF cgen_fp_ops::adddf (cgen_fpu *fpu, DF x, DF y)
+DF cgen_fp_ops::adddf (const cgen_fpu *fpu, DF x, DF y)
 {
   fp r = fp (x) + fp (y);
   check_result (fpu, r);
@@ -131,7 +131,7 @@ DF cgen_fp_ops::adddf (cgen_fpu *fpu, DF x, DF y)
   return tmp;
 }
 
-DF cgen_fp_ops::subdf (cgen_fpu *fpu, DF x, DF y)
+DF cgen_fp_ops::subdf (const cgen_fpu *fpu, DF x, DF y)
 {
   fp r = fp (x) - fp (y);
   check_result (fpu, r);
@@ -140,7 +140,7 @@ DF cgen_fp_ops::subdf (cgen_fpu *fpu, DF x, DF y)
   return tmp;
 }
 
-DF cgen_fp_ops::muldf (cgen_fpu *fpu, DF x, DF y)
+DF cgen_fp_ops::muldf (const cgen_fpu *fpu, DF x, DF y)
 {
   fp r = fp (x) * fp (y);
   check_result (fpu, r);
@@ -149,7 +149,7 @@ DF cgen_fp_ops::muldf (cgen_fpu *fpu, DF x, DF y)
   return tmp;
 }
 
-DF cgen_fp_ops::divdf (cgen_fpu *fpu, DF x, DF y)
+DF cgen_fp_ops::divdf (const cgen_fpu *fpu, DF x, DF y)
 {
   fp r = fp (x) / fp (y);
   check_result (fpu, r);
@@ -158,7 +158,7 @@ DF cgen_fp_ops::divdf (cgen_fpu *fpu, DF x, DF y)
   return tmp;
 }
 
-DF cgen_fp_ops::negdf (cgen_fpu *fpu, DF x)
+DF cgen_fp_ops::negdf (const cgen_fpu *fpu, DF x)
 {
   fp r (x);
   r = fp::neg (r);
@@ -168,7 +168,7 @@ DF cgen_fp_ops::negdf (cgen_fpu *fpu, DF x)
   return tmp;
 }
 
-DF cgen_fp_ops::absdf (cgen_fpu *fpu, DF x)
+DF cgen_fp_ops::absdf (const cgen_fpu *fpu, DF x)
 {
   fp r (x);
   r = fp::abs (r);
@@ -178,7 +178,7 @@ DF cgen_fp_ops::absdf (cgen_fpu *fpu, DF x)
   return tmp;
 }
 
-DF cgen_fp_ops::sqrtdf (cgen_fpu *fpu, DF x)
+DF cgen_fp_ops::sqrtdf (const cgen_fpu *fpu, DF x)
 {
   fp r (x);
   r = fp::sqrt (r);
@@ -189,40 +189,40 @@ DF cgen_fp_ops::sqrtdf (cgen_fpu *fpu, DF x)
 }
 
 #if 0
-DF cgen_fp_ops::invdf (cgen_fpu*, DF);
-DF cgen_fp_ops::cosdf (cgen_fpu*, DF);
-DF cgen_fp_ops::sindf (cgen_fpu*, DF);
-DF cgen_fp_ops::mindf (cgen_fpu*, DF, DF);
-DF cgen_fp_ops::maxdf (cgen_fpu*, DF, DF);
+DF cgen_fp_ops::invdf (const cgen_fpu*, DF);
+DF cgen_fp_ops::cosdf (const cgen_fpu*, DF);
+DF cgen_fp_ops::sindf (const cgen_fpu*, DF);
+DF cgen_fp_ops::mindf (const cgen_fpu*, DF, DF);
+DF cgen_fp_ops::maxdf (const cgen_fpu*, DF, DF);
 #endif
 
-int cgen_fp_ops::eqdf (cgen_fpu *fpu, DF x, DF y)
+int cgen_fp_ops::eqdf (const cgen_fpu *fpu, DF x, DF y)
 {
   return fp (x) == fp (y);
 }
 
-int cgen_fp_ops::nedf (cgen_fpu *fpu, DF x, DF y)
+int cgen_fp_ops::nedf (const cgen_fpu *fpu, DF x, DF y)
 {
   return fp (x) == fp (y);
 }
-int cgen_fp_ops::ltdf (cgen_fpu *fpu, DF x, DF y)
+int cgen_fp_ops::ltdf (const cgen_fpu *fpu, DF x, DF y)
 {
   return fp (x) < fp (y);
 }
-int cgen_fp_ops::ledf (cgen_fpu *fpu, DF x, DF y)
+int cgen_fp_ops::ledf (const cgen_fpu *fpu, DF x, DF y)
 {
   return fp (x) <= fp (y);
 }
-int cgen_fp_ops::gtdf (cgen_fpu *fpu, DF x, DF y)
+int cgen_fp_ops::gtdf (const cgen_fpu *fpu, DF x, DF y)
 {
   return fp (x) > fp (y);
 }
-int cgen_fp_ops::gedf (cgen_fpu *fpu, DF x, DF y)
+int cgen_fp_ops::gedf (const cgen_fpu *fpu, DF x, DF y)
 {
   return fp (x) >= fp (y);
 }
 
-int cgen_fp_ops::unordereddf (cgen_fpu *fpu, DF x, DF y)
+int cgen_fp_ops::unordereddf (const cgen_fpu *fpu, DF x, DF y)
 {
   fp f1(x);
   fp f2(y);
@@ -230,7 +230,7 @@ int cgen_fp_ops::unordereddf (cgen_fpu *fpu, DF x, DF y)
 }
 
 /* SF/DF conversion ops */
-DF cgen_fp_ops::fextsfdf (cgen_fpu *fpu, SF x)
+DF cgen_fp_ops::fextsfdf (const cgen_fpu *fpu, SF x)
 {
   fp r (x);
   DF tmp;
@@ -238,7 +238,7 @@ DF cgen_fp_ops::fextsfdf (cgen_fpu *fpu, SF x)
   return tmp;
 }
 
-SF cgen_fp_ops::ftruncdfsf (cgen_fpu *fpu, DF x)
+SF cgen_fp_ops::ftruncdfsf (const cgen_fpu *fpu, DF x)
 {
   fp r (x);
   SF tmp;
@@ -246,7 +246,7 @@ SF cgen_fp_ops::ftruncdfsf (cgen_fpu *fpu, DF x)
   return tmp;
 }
 
-SF cgen_fp_ops::floatsisf (cgen_fpu* fpu, SI x)
+SF cgen_fp_ops::floatsisf (const cgen_fpu* fpu, SI x)
 {
   fp r = fp::from_int (x);
   check_result (fpu, r);
@@ -255,7 +255,7 @@ SF cgen_fp_ops::floatsisf (cgen_fpu* fpu, SI x)
   return tmp;
 }
 
-SF cgen_fp_ops::floatdisf (cgen_fpu *fpu, DI x)
+SF cgen_fp_ops::floatdisf (const cgen_fpu *fpu, DI x)
 {
   fp r = fp::from_int (x);
   check_result (fpu, r);
@@ -265,11 +265,11 @@ SF cgen_fp_ops::floatdisf (cgen_fpu *fpu, DI x)
 }
 
 #if 0 // not implemented yet
-SF cgen_fp_ops::ufloatsisf (cgen_fpu*, USI);
-SF cgen_fp_ops::ufloatdisf (cgen_fpu*, UDI);
+SF cgen_fp_ops::ufloatsisf (const cgen_fpu*, USI);
+SF cgen_fp_ops::ufloatdisf (const cgen_fpu*, UDI);
 #endif // not implemented yet
 
-SI cgen_fp_ops::fixsfsi (cgen_fpu *fpu, SF x)
+SI cgen_fp_ops::fixsfsi (const cgen_fpu *fpu, SF x)
 {
   fp r (x);
   SI tmp;
@@ -277,7 +277,7 @@ SI cgen_fp_ops::fixsfsi (cgen_fpu *fpu, SF x)
   return tmp;
 }
 
-DI cgen_fp_ops::fixsfdi (cgen_fpu *fpu, SF x)
+DI cgen_fp_ops::fixsfdi (const cgen_fpu *fpu, SF x)
 {
   fp r (x);
   DI tmp;
@@ -286,10 +286,10 @@ DI cgen_fp_ops::fixsfdi (cgen_fpu *fpu, SF x)
 }
 
 #if 0 // not implemented yet
-USI cgen_fp_ops::ufixsfsi (cgen_fpu*, SF)
-UDI cgen_fp_ops::ufixsfdi (cgen_fpu*, SF);
+USI cgen_fp_ops::ufixsfsi (const cgen_fpu*, SF)
+UDI cgen_fp_ops::ufixsfdi (const cgen_fpu*, SF);
 #endif
-DF cgen_fp_ops::floatsidf (cgen_fpu *fpu, SI x)
+DF cgen_fp_ops::floatsidf (const cgen_fpu *fpu, SI x)
 {
   fp r = fp::from_int (x);
   check_result (fpu, r);
@@ -298,7 +298,7 @@ DF cgen_fp_ops::floatsidf (cgen_fpu *fpu, SI x)
   return tmp;
 }
 
-DF cgen_fp_ops::floatdidf (cgen_fpu *fpu, DI x)
+DF cgen_fp_ops::floatdidf (const cgen_fpu *fpu, DI x)
 {
   fp r = fp::from_int (x);
   check_result (fpu, r);
@@ -308,10 +308,10 @@ DF cgen_fp_ops::floatdidf (cgen_fpu *fpu, DI x)
 }
 
 #if 0
-DF cgen_fp_ops::ufloatsidf (cgen_fpu*, USI);
-DF cgen_fp_ops::ufloatdidf (cgen_fpu*, UDI);
+DF cgen_fp_ops::ufloatsidf (const cgen_fpu*, USI);
+DF cgen_fp_ops::ufloatdidf (const cgen_fpu*, UDI);
 #endif
-SI cgen_fp_ops::fixdfsi (cgen_fpu *fpu, DF x)
+SI cgen_fp_ops::fixdfsi (const cgen_fpu *fpu, DF x)
 {
   fp r (x);
   SI tmp;
@@ -319,7 +319,7 @@ SI cgen_fp_ops::fixdfsi (cgen_fpu *fpu, DF x)
   return tmp;
 }
 
-DI cgen_fp_ops::fixdfdi (cgen_fpu *fpu, DF x)
+DI cgen_fp_ops::fixdfdi (const cgen_fpu *fpu, DF x)
 {
   fp r (x);
   DI tmp;
@@ -328,80 +328,80 @@ DI cgen_fp_ops::fixdfdi (cgen_fpu *fpu, DF x)
 }
 
 #if 0
-USI cgen_fp_ops::ufixdfsi (cgen_fpu*, DF);
-UDI cgen_fp_ops::ufixdfdi (cgen_fpu*, DF);
+USI cgen_fp_ops::ufixdfsi (const cgen_fpu*, DF);
+UDI cgen_fp_ops::ufixdfdi (const cgen_fpu*, DF);
 
 /* XF mode support (kept separate 'cus not always present) */
-XF cgen_fp_ops::addxf (cgen_fpu*, XF, XF);
-XF cgen_fp_ops::subxf (cgen_fpu*, XF, XF);
-XF cgen_fp_ops::mulxf (cgen_fpu*, XF, XF);
-XF cgen_fp_ops::divxf (cgen_fpu*, XF, XF);
-XF cgen_fp_ops::negxf (cgen_fpu*, XF);
-XF cgen_fp_ops::absxf (cgen_fpu*, XF);
-XF cgen_fp_ops::sqrtxf (cgen_fpu*, XF);
-XF cgen_fp_ops::invxf (cgen_fpu*, XF);
-XF cgen_fp_ops::cosxf (cgen_fpu*, XF);
-XF cgen_fp_ops::sinxf (cgen_fpu*, XF);
-XF cgen_fp_ops::minxf (cgen_fpu*, XF, XF);
-XF cgen_fp_ops::maxxf (cgen_fpu*, XF, XF);
-
-int cgen_fp_ops::eqxf (cgen_fpu*, XF, XF);
-int cgen_fp_ops::nexf (cgen_fpu*, XF, XF);
-int cgen_fp_ops::ltxf (cgen_fpu*, XF, XF);
-int cgen_fp_ops::lexf (cgen_fpu*, XF, XF);
-int cgen_fp_ops::gtxf (cgen_fpu*, XF, XF);
-int cgen_fp_ops::gexf (cgen_fpu*, XF, XF);
-
-XF cgen_fp_ops::extsfxf (cgen_fpu*, SF);
-XF cgen_fp_ops::extdfxf (cgen_fpu*, DF);
-SF cgen_fp_ops::truncxfsf (cgen_fpu*, XF);
-DF cgen_fp_ops::truncxfdf (cgen_fpu*, XF);
-
-XF cgen_fp_ops::floatsixf (cgen_fpu*, SI);
-XF cgen_fp_ops::floatdixf (cgen_fpu*, DI);
-XF cgen_fp_ops::ufloatsixf (cgen_fpu*, USI);
-XF cgen_fp_ops::ufloatdixf (cgen_fpu*, UDI);
-
-SI cgen_fp_ops::fixxfsi (cgen_fpu*, XF);
-DI cgen_fp_ops::fixxfdi (cgen_fpu*, XF);
-USI cgen_fp_ops::ufixxfsi (cgen_fpu*, XF);
-UDI cgen_fp_ops::ufixxfdi (cgen_fpu*, XF);
+XF cgen_fp_ops::addxf (const cgen_fpu*, XF, XF);
+XF cgen_fp_ops::subxf (const cgen_fpu*, XF, XF);
+XF cgen_fp_ops::mulxf (const cgen_fpu*, XF, XF);
+XF cgen_fp_ops::divxf (const cgen_fpu*, XF, XF);
+XF cgen_fp_ops::negxf (const cgen_fpu*, XF);
+XF cgen_fp_ops::absxf (const cgen_fpu*, XF);
+XF cgen_fp_ops::sqrtxf (const cgen_fpu*, XF);
+XF cgen_fp_ops::invxf (const cgen_fpu*, XF);
+XF cgen_fp_ops::cosxf (const cgen_fpu*, XF);
+XF cgen_fp_ops::sinxf (const cgen_fpu*, XF);
+XF cgen_fp_ops::minxf (const cgen_fpu*, XF, XF);
+XF cgen_fp_ops::maxxf (const cgen_fpu*, XF, XF);
+
+int cgen_fp_ops::eqxf (const cgen_fpu*, XF, XF);
+int cgen_fp_ops::nexf (const cgen_fpu*, XF, XF);
+int cgen_fp_ops::ltxf (const cgen_fpu*, XF, XF);
+int cgen_fp_ops::lexf (const cgen_fpu*, XF, XF);
+int cgen_fp_ops::gtxf (const cgen_fpu*, XF, XF);
+int cgen_fp_ops::gexf (const cgen_fpu*, XF, XF);
+
+XF cgen_fp_ops::extsfxf (const cgen_fpu*, SF);
+XF cgen_fp_ops::extdfxf (const cgen_fpu*, DF);
+SF cgen_fp_ops::truncxfsf (const cgen_fpu*, XF);
+DF cgen_fp_ops::truncxfdf (const cgen_fpu*, XF);
+
+XF cgen_fp_ops::floatsixf (const cgen_fpu*, SI);
+XF cgen_fp_ops::floatdixf (const cgen_fpu*, DI);
+XF cgen_fp_ops::ufloatsixf (const cgen_fpu*, USI);
+XF cgen_fp_ops::ufloatdixf (const cgen_fpu*, UDI);
+
+SI cgen_fp_ops::fixxfsi (const cgen_fpu*, XF);
+DI cgen_fp_ops::fixxfdi (const cgen_fpu*, XF);
+USI cgen_fp_ops::ufixxfsi (const cgen_fpu*, XF);
+UDI cgen_fp_ops::ufixxfdi (const cgen_fpu*, XF);
 
 /* TF mode support (kept separate 'cus not always present) */
-TF cgen_fp_ops::addtf (cgen_fpu*, TF, TF);
-TF cgen_fp_ops::subtf (cgen_fpu*, TF, TF);
-TF cgen_fp_ops::multf (cgen_fpu*, TF, TF);
-TF cgen_fp_ops::divtf (cgen_fpu*, TF, TF);
-TF cgen_fp_ops::negtf (cgen_fpu*, TF);
-TF cgen_fp_ops::abstf (cgen_fpu*, TF);
-TF cgen_fp_ops::sqrttf (cgen_fpu*, TF);
-TF cgen_fp_ops::invtf (cgen_fpu*, TF);
-TF cgen_fp_ops::costf (cgen_fpu*, TF);
-TF cgen_fp_ops::sintf (cgen_fpu*, TF);
-TF cgen_fp_ops::mintf (cgen_fpu*, TF, TF);
-TF cgen_fp_ops::maxtf (cgen_fpu*, TF, TF);
-
-int cgen_fp_ops::eqtf (cgen_fpu*, TF, TF);
-int cgen_fp_ops::netf (cgen_fpu*, TF, TF);
-int cgen_fp_ops::lttf (cgen_fpu*, TF, TF);
-int cgen_fp_ops::letf (cgen_fpu*, TF, TF);
-int cgen_fp_ops::gttf (cgen_fpu*, TF, TF);
-int cgen_fp_ops::getf (cgen_fpu*, TF, TF);
-
-TF cgen_fp_ops::extsftf (cgen_fpu*, SF);
-TF cgen_fp_ops::extdftf (cgen_fpu*, DF);
-SF cgen_fp_ops::trunctfsf (cgen_fpu*, TF);
-DF cgen_fp_ops::trunctfdf (cgen_fpu*, TF);
-
-TF cgen_fp_ops::floatsitf (cgen_fpu*, SI);
-TF cgen_fp_ops::floatditf (cgen_fpu*, DI);
-TF cgen_fp_ops::ufloatsitf (cgen_fpu*, USI);
-TF cgen_fp_ops::ufloatditf (cgen_fpu*, UDI);
-
-SI cgen_fp_ops::fixtfsi (cgen_fpu*, TF);
-DI cgen_fp_ops::fixtfdi (cgen_fpu*, TF);
-USI cgen_fp_ops::ufixtfsi (cgen_fpu*, TF);
-UDI cgen_fp_ops::ufixtfdi (cgen_fpu*, TF);
+TF cgen_fp_ops::addtf (const cgen_fpu*, TF, TF);
+TF cgen_fp_ops::subtf (const cgen_fpu*, TF, TF);
+TF cgen_fp_ops::multf (const cgen_fpu*, TF, TF);
+TF cgen_fp_ops::divtf (const cgen_fpu*, TF, TF);
+TF cgen_fp_ops::negtf (const cgen_fpu*, TF);
+TF cgen_fp_ops::abstf (const cgen_fpu*, TF);
+TF cgen_fp_ops::sqrttf (const cgen_fpu*, TF);
+TF cgen_fp_ops::invtf (const cgen_fpu*, TF);
+TF cgen_fp_ops::costf (const cgen_fpu*, TF);
+TF cgen_fp_ops::sintf (const cgen_fpu*, TF);
+TF cgen_fp_ops::mintf (const cgen_fpu*, TF, TF);
+TF cgen_fp_ops::maxtf (const cgen_fpu*, TF, TF);
+
+int cgen_fp_ops::eqtf (const cgen_fpu*, TF, TF);
+int cgen_fp_ops::netf (const cgen_fpu*, TF, TF);
+int cgen_fp_ops::lttf (const cgen_fpu*, TF, TF);
+int cgen_fp_ops::letf (const cgen_fpu*, TF, TF);
+int cgen_fp_ops::gttf (const cgen_fpu*, TF, TF);
+int cgen_fp_ops::getf (const cgen_fpu*, TF, TF);
+
+TF cgen_fp_ops::extsftf (const cgen_fpu*, SF);
+TF cgen_fp_ops::extdftf (const cgen_fpu*, DF);
+SF cgen_fp_ops::trunctfsf (const cgen_fpu*, TF);
+DF cgen_fp_ops::trunctfdf (const cgen_fpu*, TF);
+
+TF cgen_fp_ops::floatsitf (const cgen_fpu*, SI);
+TF cgen_fp_ops::floatditf (const cgen_fpu*, DI);
+TF cgen_fp_ops::ufloatsitf (const cgen_fpu*, USI);
+TF cgen_fp_ops::ufloatditf (const cgen_fpu*, UDI);
+
+SI cgen_fp_ops::fixtfsi (const cgen_fpu*, TF);
+DI cgen_fp_ops::fixtfdi (const cgen_fpu*, TF);
+USI cgen_fp_ops::ufixtfsi (const cgen_fpu*, TF);
+UDI cgen_fp_ops::ufixtfdi (const cgen_fpu*, TF);
 #endif // not implemented yet
 
 }; // namespace cgen 
index 16d66f6..b80cedc 100644 (file)
@@ -23,154 +23,154 @@ class cgen_fpu;
 class cgen_fp_ops {
 public: 
   // default is no error checking
-  virtual void check_result (cgen_fpu*, fp &) {}
+  virtual void check_result (const cgen_fpu*, fp &) {}
 
   /* basic SF ops */
-  virtual SF addsf (cgen_fpu*, SF, SF);
-  virtual SF subsf (cgen_fpu*, SF, SF);
-  virtual SF mulsf (cgen_fpu*, SF, SF);
-  virtual SF divsf (cgen_fpu*, SF, SF);
-  virtual SF negsf (cgen_fpu*, SF);
-  virtual SF abssf (cgen_fpu*, SF);
-  virtual SF sqrtsf (cgen_fpu*, SF);
+  virtual SF addsf (const cgen_fpu*, SF, SF);
+  virtual SF subsf (const cgen_fpu*, SF, SF);
+  virtual SF mulsf (const cgen_fpu*, SF, SF);
+  virtual SF divsf (const cgen_fpu*, SF, SF);
+  virtual SF negsf (const cgen_fpu*, SF);
+  virtual SF abssf (const cgen_fpu*, SF);
+  virtual SF sqrtsf (const cgen_fpu*, SF);
 #if 0
-  virtual SF invsf (cgen_fpu*, SF);
-  virtual SF cossf (cgen_fpu*, SF);
-  virtual SF sinsf (cgen_fpu*, SF);
-  virtual SF minsf (cgen_fpu*, SF, SF);
-  virtual SF maxsf (cgen_fpu*, SF, SF);
+  virtual SF invsf (const cgen_fpu*, SF);
+  virtual SF cossf (const cgen_fpu*, SF);
+  virtual SF sinsf (const cgen_fpu*, SF);
+  virtual SF minsf (const cgen_fpu*, SF, SF);
+  virtual SF maxsf (const cgen_fpu*, SF, SF);
 #endif
-  virtual int eqsf (cgen_fpu*, SF, SF);
-  virtual int nesf (cgen_fpu*, SF, SF);
-  virtual int ltsf (cgen_fpu*, SF, SF);
-  virtual int lesf (cgen_fpu*, SF, SF);
-  virtual int gtsf (cgen_fpu*, SF, SF);
-  virtual int gesf (cgen_fpu*, SF, SF);
-  virtual int unorderedsf (cgen_fpu*, SF, SF);
+  virtual int eqsf (const cgen_fpu*, SF, SF);
+  virtual int nesf (const cgen_fpu*, SF, SF);
+  virtual int ltsf (const cgen_fpu*, SF, SF);
+  virtual int lesf (const cgen_fpu*, SF, SF);
+  virtual int gtsf (const cgen_fpu*, SF, SF);
+  virtual int gesf (const cgen_fpu*, SF, SF);
+  virtual int unorderedsf (const cgen_fpu*, SF, SF);
 
   /* basic DF ops */
-  virtual DF adddf (cgen_fpu*, DF, DF);
-  virtual DF subdf (cgen_fpu*, DF, DF);
-  virtual DF muldf (cgen_fpu*, DF, DF);
-  virtual DF divdf (cgen_fpu*, DF, DF);
-  virtual DF negdf (cgen_fpu*, DF);
-  virtual DF absdf (cgen_fpu*, DF);
-  virtual DF sqrtdf (cgen_fpu*, DF);
+  virtual DF adddf (const cgen_fpu*, DF, DF);
+  virtual DF subdf (const cgen_fpu*, DF, DF);
+  virtual DF muldf (const cgen_fpu*, DF, DF);
+  virtual DF divdf (const cgen_fpu*, DF, DF);
+  virtual DF negdf (const cgen_fpu*, DF);
+  virtual DF absdf (const cgen_fpu*, DF);
+  virtual DF sqrtdf (const cgen_fpu*, DF);
 #if 0
-  virtual DF invdf (cgen_fpu*, DF);
-  virtual DF cosdf (cgen_fpu*, DF);
-  virtual DF sindf (cgen_fpu*, DF);
-  virtual DF mindf (cgen_fpu*, DF, DF);
-  virtual DF maxdf (cgen_fpu*, DF, DF);
+  virtual DF invdf (const cgen_fpu*, DF);
+  virtual DF cosdf (const cgen_fpu*, DF);
+  virtual DF sindf (const cgen_fpu*, DF);
+  virtual DF mindf (const cgen_fpu*, DF, DF);
+  virtual DF maxdf (const cgen_fpu*, DF, DF);
 #endif
-  virtual int eqdf (cgen_fpu*, DF, DF);
-  virtual int nedf (cgen_fpu*, DF, DF);
-  virtual int ltdf (cgen_fpu*, DF, DF);
-  virtual int ledf (cgen_fpu*, DF, DF);
-  virtual int gtdf (cgen_fpu*, DF, DF);
-  virtual int gedf (cgen_fpu*, DF, DF);
-  virtual int unordereddf (cgen_fpu*, DF, DF);
+  virtual int eqdf (const cgen_fpu*, DF, DF);
+  virtual int nedf (const cgen_fpu*, DF, DF);
+  virtual int ltdf (const cgen_fpu*, DF, DF);
+  virtual int ledf (const cgen_fpu*, DF, DF);
+  virtual int gtdf (const cgen_fpu*, DF, DF);
+  virtual int gedf (const cgen_fpu*, DF, DF);
+  virtual int unordereddf (const cgen_fpu*, DF, DF);
 
   /* SF/DF conversion ops */
-  virtual DF fextsfdf (cgen_fpu*, SF);
-  virtual SF ftruncdfsf (cgen_fpu*, DF);
+  virtual DF fextsfdf (const cgen_fpu*, SF);
+  virtual SF ftruncdfsf (const cgen_fpu*, DF);
 
-  virtual SF floatsisf (cgen_fpu*, SI);
-  virtual SF floatdisf (cgen_fpu*, DI);
+  virtual SF floatsisf (const cgen_fpu*, SI);
+  virtual SF floatdisf (const cgen_fpu*, DI);
 #if 0 // not implemented yet
-  virtual SF ufloatsisf (cgen_fpu*, USI);
-  virtual SF ufloatdisf (cgen_fpu*, UDI);
+  virtual SF ufloatsisf (const cgen_fpu*, USI);
+  virtual SF ufloatdisf (const cgen_fpu*, UDI);
 #endif // not implemented yet
 
-  virtual SI fixsfsi (cgen_fpu*, SF);
-  virtual DI fixsfdi (cgen_fpu*, SF);
+  virtual SI fixsfsi (const cgen_fpu*, SF);
+  virtual DI fixsfdi (const cgen_fpu*, SF);
 #if 0 // not implemented yet
-  virtual USI ufixsfsi (cgen_fpu*, SF);
-  virtual UDI ufixsfdi (cgen_fpu*, SF);
+  virtual USI ufixsfsi (const cgen_fpu*, SF);
+  virtual UDI ufixsfdi (const cgen_fpu*, SF);
 #endif
-  virtual DF floatsidf (cgen_fpu*, SI);
-  virtual DF floatdidf (cgen_fpu*, DI);
+  virtual DF floatsidf (const cgen_fpu*, SI);
+  virtual DF floatdidf (const cgen_fpu*, DI);
 #if 0
-  virtual DF ufloatsidf (cgen_fpu*, USI);
-  virtual DF ufloatdidf (cgen_fpu*, UDI);
+  virtual DF ufloatsidf (const cgen_fpu*, USI);
+  virtual DF ufloatdidf (const cgen_fpu*, UDI);
 #endif
-  virtual SI fixdfsi (cgen_fpu*, DF);
-  virtual DI fixdfdi (cgen_fpu*, DF);
+  virtual SI fixdfsi (const cgen_fpu*, DF);
+  virtual DI fixdfdi (const cgen_fpu*, DF);
 #if 0
-  virtual USI ufixdfsi (cgen_fpu*, DF);
-  virtual UDI ufixdfdi (cgen_fpu*, DF);
+  virtual USI ufixdfsi (const cgen_fpu*, DF);
+  virtual UDI ufixdfdi (const cgen_fpu*, DF);
 
   /* XF mode support (kept separate 'cus not always present) */
-  virtual XF addxf (cgen_fpu*, XF, XF);
-  virtual XF subxf (cgen_fpu*, XF, XF);
-  virtual XF mulxf (cgen_fpu*, XF, XF);
-  virtual XF divxf (cgen_fpu*, XF, XF);
-  virtual XF negxf (cgen_fpu*, XF);
-  virtual XF absxf (cgen_fpu*, XF);
-  virtual XF sqrtxf (cgen_fpu*, XF);
-  virtual XF invxf (cgen_fpu*, XF);
-  virtual XF cosxf (cgen_fpu*, XF);
-  virtual XF sinxf (cgen_fpu*, XF);
-  virtual XF minxf (cgen_fpu*, XF, XF);
-  virtual XF maxxf (cgen_fpu*, XF, XF);
-
-  virtual int eqxf (cgen_fpu*, XF, XF);
-  virtual int nexf (cgen_fpu*, XF, XF);
-  virtual int ltxf (cgen_fpu*, XF, XF);
-  virtual int lexf (cgen_fpu*, XF, XF);
-  virtual int gtxf (cgen_fpu*, XF, XF);
-  virtual int gexf (cgen_fpu*, XF, XF);
-
-  virtual XF extsfxf (cgen_fpu*, SF);
-  virtual XF extdfxf (cgen_fpu*, DF);
-  virtual SF truncxfsf (cgen_fpu*, XF);
-  virtual DF truncxfdf (cgen_fpu*, XF);
-
-  virtual XF floatsixf (cgen_fpu*, SI);
-  virtual XF floatdixf (cgen_fpu*, DI);
-  virtual XF ufloatsixf (cgen_fpu*, USI);
-  virtual XF ufloatdixf (cgen_fpu*, UDI);
-
-  virtual SI fixxfsi (cgen_fpu*, XF);
-  virtual DI fixxfdi (cgen_fpu*, XF);
-  virtual USI ufixxfsi (cgen_fpu*, XF);
-  virtual UDI ufixxfdi (cgen_fpu*, XF);
+  virtual XF addxf (const cgen_fpu*, XF, XF);
+  virtual XF subxf (const cgen_fpu*, XF, XF);
+  virtual XF mulxf (const cgen_fpu*, XF, XF);
+  virtual XF divxf (const cgen_fpu*, XF, XF);
+  virtual XF negxf (const cgen_fpu*, XF);
+  virtual XF absxf (const cgen_fpu*, XF);
+  virtual XF sqrtxf (const cgen_fpu*, XF);
+  virtual XF invxf (const cgen_fpu*, XF);
+  virtual XF cosxf (const cgen_fpu*, XF);
+  virtual XF sinxf (const cgen_fpu*, XF);
+  virtual XF minxf (const cgen_fpu*, XF, XF);
+  virtual XF maxxf (const cgen_fpu*, XF, XF);
+
+  virtual int eqxf (const cgen_fpu*, XF, XF);
+  virtual int nexf (const cgen_fpu*, XF, XF);
+  virtual int ltxf (const cgen_fpu*, XF, XF);
+  virtual int lexf (const cgen_fpu*, XF, XF);
+  virtual int gtxf (const cgen_fpu*, XF, XF);
+  virtual int gexf (const cgen_fpu*, XF, XF);
+
+  virtual XF extsfxf (const cgen_fpu*, SF);
+  virtual XF extdfxf (const cgen_fpu*, DF);
+  virtual SF truncxfsf (const cgen_fpu*, XF);
+  virtual DF truncxfdf (const cgen_fpu*, XF);
+
+  virtual XF floatsixf (const cgen_fpu*, SI);
+  virtual XF floatdixf (const cgen_fpu*, DI);
+  virtual XF ufloatsixf (const cgen_fpu*, USI);
+  virtual XF ufloatdixf (const cgen_fpu*, UDI);
+
+  virtual SI fixxfsi (const cgen_fpu*, XF);
+  virtual DI fixxfdi (const cgen_fpu*, XF);
+  virtual USI ufixxfsi (const cgen_fpu*, XF);
+  virtual UDI ufixxfdi (const cgen_fpu*, XF);
 
   /* TF mode support (kept separate 'cus not always present) */
-  virtual TF addtf (cgen_fpu*, TF, TF);
-  virtual TF subtf (cgen_fpu*, TF, TF);
-  virtual TF multf (cgen_fpu*, TF, TF);
-  virtual TF divtf (cgen_fpu*, TF, TF);
-  virtual TF negtf (cgen_fpu*, TF);
-  virtual TF abstf (cgen_fpu*, TF);
-  virtual TF sqrttf (cgen_fpu*, TF);
-  virtual TF invtf (cgen_fpu*, TF);
-  virtual TF costf (cgen_fpu*, TF);
-  virtual TF sintf (cgen_fpu*, TF);
-  virtual TF mintf (cgen_fpu*, TF, TF);
-  virtual TF maxtf (cgen_fpu*, TF, TF);
-
-  virtual int eqtf (cgen_fpu*, TF, TF);
-  virtual int netf (cgen_fpu*, TF, TF);
-  virtual int lttf (cgen_fpu*, TF, TF);
-  virtual int letf (cgen_fpu*, TF, TF);
-  virtual int gttf (cgen_fpu*, TF, TF);
-  virtual int getf (cgen_fpu*, TF, TF);
-
-  virtual TF extsftf (cgen_fpu*, SF);
-  virtual TF extdftf (cgen_fpu*, DF);
-  virtual SF trunctfsf (cgen_fpu*, TF);
-  virtual DF trunctfdf (cgen_fpu*, TF);
-
-  virtual TF floatsitf (cgen_fpu*, SI);
-  virtual TF floatditf (cgen_fpu*, DI);
-  virtual TF ufloatsitf (cgen_fpu*, USI);
-  virtual TF ufloatditf (cgen_fpu*, UDI);
-
-  virtual SI fixtfsi (cgen_fpu*, TF);
-  virtual DI fixtfdi (cgen_fpu*, TF);
-  virtual USI ufixtfsi (cgen_fpu*, TF);
-  virtual UDI ufixtfdi (cgen_fpu*, TF);
+  virtual TF addtf (const cgen_fpu*, TF, TF);
+  virtual TF subtf (const cgen_fpu*, TF, TF);
+  virtual TF multf (const cgen_fpu*, TF, TF);
+  virtual TF divtf (const cgen_fpu*, TF, TF);
+  virtual TF negtf (const cgen_fpu*, TF);
+  virtual TF abstf (const cgen_fpu*, TF);
+  virtual TF sqrttf (const cgen_fpu*, TF);
+  virtual TF invtf (const cgen_fpu*, TF);
+  virtual TF costf (const cgen_fpu*, TF);
+  virtual TF sintf (const cgen_fpu*, TF);
+  virtual TF mintf (const cgen_fpu*, TF, TF);
+  virtual TF maxtf (const cgen_fpu*, TF, TF);
+
+  virtual int eqtf (const cgen_fpu*, TF, TF);
+  virtual int netf (const cgen_fpu*, TF, TF);
+  virtual int lttf (const cgen_fpu*, TF, TF);
+  virtual int letf (const cgen_fpu*, TF, TF);
+  virtual int gttf (const cgen_fpu*, TF, TF);
+  virtual int getf (const cgen_fpu*, TF, TF);
+
+  virtual TF extsftf (const cgen_fpu*, SF);
+  virtual TF extdftf (const cgen_fpu*, DF);
+  virtual SF trunctfsf (const cgen_fpu*, TF);
+  virtual DF trunctfdf (const cgen_fpu*, TF);
+
+  virtual TF floatsitf (const cgen_fpu*, SI);
+  virtual TF floatditf (const cgen_fpu*, DI);
+  virtual TF ufloatsitf (const cgen_fpu*, USI);
+  virtual TF ufloatditf (const cgen_fpu*, UDI);
+
+  virtual SI fixtfsi (const cgen_fpu*, TF);
+  virtual DI fixtfdi (const cgen_fpu*, TF);
+  virtual USI ufixtfsi (const cgen_fpu*, TF);
+  virtual UDI ufixtfdi (const cgen_fpu*, TF);
 #endif // not implemented yet
 };