On Mon, 8 Jun 1998, Glynn Clements wrote:

>or double precision (32 or 64 bits respectively), you need to use the
>-ffloat-store option, to force values to be converted to float/double
>representation (except that it doesn't seem to work in conjunction
>with optimisation on gcc-2.8.*).

Patch against 2.8.1 appended:

--- gcc-2.8.1/ChangeLog~        Wed Mar  4 03:32:16 1998
+++ gcc-2.8.1/ChangeLog Wed Jun 10 19:31:14 1998
@@ -1,3 +1,10 @@
+Wed Jun 10 19:26:43 CEST 1998  Andrea Arcangeli <[EMAIL PROTECTED]>
+
+       * Fixed a -ffloat-store bug jumping over reload_cse_regs() in
+       toplev.c if flag_float_store is set. It would be nice if somebody
+       would fix reload_cse_regs() and remove my patch to take advanteges
+       of that optimization stage also when flag_float_store is set.
+
 Mon Mar  2 08:06:58 1998  Richard Kenner  <[EMAIL PROTECTED]>
 
        * Version 2.8.1 released.
--- gcc-2.8.1/toplev.c~ Thu Feb 26 03:04:46 1998
+++ gcc-2.8.1/toplev.c  Wed Jun 10 19:22:25 1998
@@ -3497,7 +3497,7 @@
   reload_completed = 1;
 
   /* Do a very simple CSE pass over just the hard registers.  */
-  if (optimize > 0)
+  if (optimize > 0 && !flag_float_store)
     reload_cse_regs (insns);
 
   /* On some machines, the prologue and epilogue code, or parts thereof,


Andrea[s] Arcangeli

Reply via email to