This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: rs6000 fused multiply-add patch
- From: Geoff Keating <geoffk at geoffk dot org>
- To: Segher Boessenkool <segher at koffie dot nl>
- Cc: gcc-patches at gcc dot gnu dot org, dje at watson dot ibm dot com, pinskia at physics dot uc dot edu, dalej at apple dot com
- Date: 03 Dec 2002 16:59:25 -0800
- Subject: Re: rs6000 fused multiply-add patch
- References: <200212030300.gB330LRm001329@keatge.apple.com><3DED3FA3.880AD5E@koffie.nl>
Segher Boessenkool <segher@koffie.nl> writes:
> Geoffrey Keating wrote:
> > --- config/rs6000/rs6000.md 16 Nov 2002 18:01:51 -0000 1.222
> > +++ config/rs6000/rs6000.md 3 Dec 2002 02:32:41 -0000
> > @@ -5280,7 +5280,18 @@
> > (neg:SF (plus:SF (mult:SF (match_operand:SF 1 "gpc_reg_operand" "%f")
> > (match_operand:SF 2 "gpc_reg_operand" "f"))
> > (match_operand:SF 3 "gpc_reg_operand" "f"))))]
> > - "TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD"
> > + "TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD
> > + && HONOR_SIGNED_ZEROS (SFmode)"
> > + "fnmadds %0,%1,%2,%3"
> > + [(set_attr "type" "fp")])
> > +
> > +(define_insn ""
> > + [(set (match_operand:SF 0 "gpc_reg_operand" "=f")
> > + (minus:SF (mult:SF (neg:SF (match_operand:SF 1 "gpc_reg_operand" "f"))
> > + (match_operand:SF 2 "gpc_reg_operand" "f"))
> > + (match_operand:SF 3 "gpc_reg_operand" "f")))]
> > + "TARGET_POWERPC && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_FUSED_MADD
> > + && ! HONOR_SIGNED_ZEROS (SFmode)"
> > "fnmadds %0,%1,%2,%3"
> > [(set_attr "type" "fp")])
> We're not supposed to add duplicate patterns to the .md -- that's
> what started all of this, after all?
These patterns aren't duplicates, only one is active at a time.
--
- Geoffrey Keating <geoffk@geoffk.org>