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: rs6000 specific


> Date: Tue, 4 Dec 2001 23:50:25 +0000 (GMT)
> From: "Joseph S. Myers" <jsm28@cam.ac.uk>
> X-X-Sender:  <jsm28@kern.srcf.societies.cam.ac.uk>
> cc: Dale Johannesen <dalej@apple.com>, <gcc-patches@gcc.gnu.org>
> 
> On 4 Dec 2001, Geoff Keating wrote:
> 
> > Dale Johannesen <dalej@apple.com> writes:
> > 
> > > This adds some additional patterns for multiply-add instructions.
> > > Bootstrapped and tested on Darwin.  (The !POWERPC variants are
> > > included, analogous to what was already there, but I was unable
> > > to test them.)
> > 
> > I think that some of these are cases that should never occur.
> > Perhaps the generic code is not canonifing them properly?
> > 
> > It might be that some of these are not strictly IEEE compliant, in
> > which case the generic code should still fold them... but only when
> > -ffast-math is specified.
> 
> Use of multiply-add - apart from to provide built-in functions for the C99
> fma family, which we ought to where machine instructions are available -
> should be governed by #pragra STDC FP_CONTRACT (default
> implementation-defined), which however we don't yet implement.

Yes.  At present, the ppc backend uses -mno-fused-madd to disable the
multiply-add operations.  I was thinking, though, of transformations
like

(mul:DF (neg:DF (reg:DF ...)) (reg:DF ...))
to
(neg:DF (mul:DF (reg:DF ...) (reg:DF ...)))

which I couldn't work out whether they were IEEE-safe or not.

-- 
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>


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