This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch: rs6000 specific
- From: Geoff Keating <geoffk at geoffk dot org>
- To: jsm28 at cam dot ac dot uk
- Cc: dalej at apple dot com, gcc-patches at gcc dot gnu dot org
- Date: Tue, 4 Dec 2001 16:58:24 -0800
- Subject: Re: patch: rs6000 specific
- References: <Pine.LNX.4.33.0112042347450.2345-100000@kern.srcf.societies.cam.ac.uk>
- Reply-to: Geoff Keating <geoffk at redhat dot com>
> 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>