This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: FWD: FLOATING-POINT CONSISTENCY, -FFLOAT-STORE, AND X86


On Fri, Dec 18, 1998 at 01:29:59AM +0200, Harvey J. Stein wrote:
> Toon Moene <toon@moene.indiv.nluug.nl> writes:
> 
>  > I must say that I am *not* amused.  This discussion goes into a
>  > direction that will leave us with a compiler that, although
>  > numerical-politically correct, will be generating such slow code as
>  > to be totally unuseable.
> 
> Do you really think it'll make it that much slower?  If you're doing
> computations, how much time is spent dumping & restoring FP registers?
> Is dumping 10 bytes instead of 8 bytes (current practice) going to
> have a substantial impact in total run time?  You've mentioned in
> other posts a factor of 2, as if because it's 16 byte aligned it has
> to move 16 bytes of data.  But even if it's 16 byte aligned, it's
> still only 10 bytes of data, so why should it take 2x as long?

In addition:

- the overhead for a single spill is not only in the additional memory
  transferred. Depending on your cpu, 16 or 32 bytes are transferred from/to
  memory anway (if at all)
- even if the spill itself would take twice as long this wouldn't
  make your code twice as slow. The effects of increasing spill time
  first has to be measured. For most real-world programs no spills
  are required, at leats not in inner loops.

> disclaimer that I'm not advocating 80 bit spills.  I just hate seeing
> things accepted or rejected for incorrect reasons.)

BTW, Imwas not attacking anybody with this mail ;->

--
Happy New Year, I'll be away from 21. Dec to 7. Jan

      -----==-                                              |
      ----==-- _                                            |
      ---==---(_)__  __ ____  __       Marc Lehmann       +--
      --==---/ / _ \/ // /\ \/ /       pcg@goof.com       |e|
      -=====/_/_//_/\_,_/ /_/\_\                          --+
    The choice of a GNU generation                        |
                                                          |


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]