This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: Patch gcc-4.0 should not apply mathematical associative rules for addition or multiplication


Geoff Keating <geoffk@geoffk.org> writes:

| On 05/10/2004, at 2:08 PM, Dale Johannesen wrote:
| 
| > On 05/10/2004, at 1:12 PM, Gabriel Dos Reis wrote:
| >>
| >>> Geoffrey Keating <geoffk@geoffk.org> writes:
| >>> That flag is clearly the right flag to pick.  See the explanation
| >>> he gave.
| >>> It contains an example that illustrates the problem too.
| >>
| >> Fariborz said
| >>
| >>> For different values of "x" this leads to undeserved or absent
| >>> floating point exceptions
| >>
| >> So, why not flag_trapping_math?  The case involves an infinity,
| >> what about flag_finite_math_only?
| >
| > It is not just exceptions.  It is possible that X* (C*C) would
| > overflow, or lose some low-order bits,
| > where (X*C)*C would not, for large C and small X.
| 
| OK.  I am not going to re-design Fariborz's patch for him in an e-mail
| exchange.  It is clear that the explanation of the patch is inadequate
| to determine whether or not the patch is correct, so the patch is
| rejected.  Fariborz, please re-post the patch with a better
| explanation, and addressing the other points I mentioned.

Which other points?

  (1) clearly, flag_finite_math_only is not adquate
  (2) clearly, flag_trapping_math is not adequate
  (3) clearly, testing both is not adequate

I found his explanation rather clear, as to what the root of the
problem is. 

Your reaction is rather difficult to follow.

-- Gaby


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