[3.4-bib, Patch] rs6000 floating point multiply-add instructions
Geoff Keating
geoffk@geoffk.org
Tue Nov 19 10:44:00 GMT 2002
Andrew Pinski <pinskia@physics.uc.edu> writes:
> Since I was see some of the rs6000 floating point multiply-add
> instructions being used in the fsf version of the compiler but they
> were generated by the Apple compiler, I thought I would look to
> see what is going on. I saw that in the md file of Apple's version it
> contains more define_insn for the instructions so they could be
> matched with different ways of saying them.
>
>
> ChangeLog:
> 2002-11-18 Andrew Pinski <pinskia@physics.uc.edu>
>
> * config/rs6000/rs6000.md (fmadd): Add a comment
> (fmsub): New patterns. (fnmadd): New patterns.
> (fnmsub): New patterns. (fmadds): Add a comment
> (fmsubs): New patterns. (fnmadds): New patterns.
> (fnmsubs): New patterns.
>
>
>
>
> testsuite/ChangeLog:
> 2002-11-18 Andrew Pinski <pinskia@physics.uc.edu>
>
> * gcc.dg/ppc-fused-multiply-add-1.c: New test.
> * gcc.dg/ppc-fused-multiply-add-2.c: New test.
Your testcases seem to be identical, did you miss something?
Anyway, the first one,
> temp=temp-temp2*temp3;
can't be optimised to a fnmsub in the absence of -ffast-math. If
'temp', 'temp2', and 'temp3' are all +0, the original expression gives
+0, but fnmsub gives -0.
The original discussion of this patch happened at
<http://gcc.gnu.org/ml/gcc-patches/2001-12/msg00368.html>.
--
- Geoffrey Keating <geoffk@geoffk.org>
More information about the Gcc-patches
mailing list