]> git.ipfire.org Git - thirdparty/gcc.git/commit
Add support for floating-point fused multiply-add on Sparc.
authorDavid S. Miller <davem@davemloft.net>
Sun, 25 Sep 2011 21:28:51 +0000 (21:28 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Sun, 25 Sep 2011 21:28:51 +0000 (14:28 -0700)
commite8b141b593cea20857b5041b4c4f1139e7c67712
treebed5b88ace72ee9f25edf67d046c725807af7b3a
parent7cbcf85bf976f8eaeb2beee113b1ea60bdb39f99
Add support for floating-point fused multiply-add on Sparc.

* configure.ac: Add feature check to make sure the assembler
supports the FMAF, HPC, and VIS 3.0 instructions found on
Niagara-3 and later cpus.
* configure: Rebuild.
* config.in: Likewise.
* config/sparc/sparc.opt: New option '-mfmaf'.
* config/sparc/sparc.md: Add float fused multiply-add patterns.
* config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro.
(ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed.
* config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC,
ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise.
* config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on
by default for Niagara-3 and later.  Turn it off if TARGET_FPU is
disabled.
(sparc_rtx_costs): Handle 'FMA'.
* doc/invoke.texi: Document -mfmaf.

From-SVN: r179174
gcc/ChangeLog
gcc/config.in
gcc/config/sparc/sol2.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h
gcc/config/sparc/sparc.md
gcc/config/sparc/sparc.opt
gcc/configure
gcc/configure.ac
gcc/doc/invoke.texi