mips.c (mips_rtx_costs): Handle FMA.
authorRichard Sandiford <rdsandiford@googlemail.com>
Sun, 7 Nov 2010 08:31:21 +0000 (08:31 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sun, 7 Nov 2010 08:31:21 +0000 (08:31 +0000)
commitc7c0f73d6801b4e839775ec2a09c1acf6378dbda
treeedb7d2ffaa18aad04bf1fc786b747a7550468a9b
parent4de2f020aaca3d0a8112acc6234a34bb5d578fa0
mips.c (mips_rtx_costs): Handle FMA.

gcc/
* config/mips/mips.c (mips_rtx_costs): Handle FMA.
* config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
(*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
(*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
(*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
to use FMA.
(fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
(fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
(fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
(fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.

gcc/testsuite/
* gcc.target/mips/mips.exp: Add support for -ffp-contract.
* gcc.target/mips/fma-1.c: New test.
* gcc.target/mips/fma-2.c: Likewise.
* gcc.target/mips/fma-3.c: Likewise.
* gcc.target/mips/fma-4.c: Likewise.
* gcc.target/mips/fma-5.c: Likewise.
* gcc.target/mips/fma-6.c: Likewise.
* gcc.target/mips/fma-7.c: Likewise.
* gcc.target/mips/fma-8.c: Likewise.
* gcc.target/mips/fma-9.c: Likewise.
* gcc.target/mips/fma-10.c: Likewise.
* gcc.target/mips/fma-11.c: Likewise.
* gcc.target/mips/fma-12.c: Likewise.
* gcc.target/mips/fma-13.c: Likewise.
* gcc.target/mips/fma-14.c: Likewise.
* gcc.target/mips/fma-15.c: Likewise.
* gcc.target/mips/fma-16.c: Likewise.
* gcc.target/mips/fma-17.c: Likewise.
* gcc.target/mips/fma-18.c: Likewise.
* gcc.target/mips/fma-19.c: Likewise.
* gcc.target/mips/fma-20.c: Likewise.

From-SVN: r166414
25 files changed:
gcc/ChangeLog
gcc/config/mips/mips.c
gcc/config/mips/mips.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/fma-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-17.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-18.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-19.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-20.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fma-9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/mips.exp