This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: What is acceptable for -ffast-math? (Was: associative law in combine)
- To: Joern Rennecke <amylaar at redhat dot com>
- Subject: Re: What is acceptable for -ffast-math? (Was: associative law in combine)
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 30 Jul 2001 23:21:52 -0300
- Cc: torvalds at transmeta dot com (Linus Torvalds), dewar at gnat dot com, moshier at moshier dot ne dot mediaone dot net, gcc at gcc dot gnu dot org, tprince at computer dot org
- Organization: GCC Team, Red Hat
- References: <200107310208.f6V285508812@phal.cambridge.redhat.com>
On Jul 30, 2001, Joern Rennecke <amylaar@redhat.com> wrote:
>> But we could use new tokens, say (( )) and ((( ))) to mark expressions
>> the preprocessor and the compiler shouldn't muck up with. It would
> It's hard to distinguish an opening (( from two opening (s that
> are closes separately, e.g.:
> a*((b+c)*d)
Indeed. That's why I suggested to only mark such duplicate
parentheses as optimization barriers, at the end of my message. We'd
still see two different tokens, but if the opening and closing
parentheses of an expression of the form '(' expression ')' are both
marked as optimization barriers, we generate the expression tree
inside an optimization barrier. The lexer/preprocessor would have to
mark all '('s but the first in a sequence, and all ')'s but the last
in a sequence, as candidate markers of optimization barriers.
> OTOH, you could re-use (abuse) statement expressions for this purpose:
> ({a+b;})*c
Yeah, but this won't compile with compilers other than GCC. OTOH, it
might already do what we want in older releases of GCC. Does it?
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me