]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/mips/constraints.md
2007-xx-xx Chao-ying Fu <fu@mips.com> Richard Sandiford <richard@nildram.co.uk>
authorRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 24 Apr 2007 05:51:57 +0000 (05:51 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 24 Apr 2007 05:51:57 +0000 (05:51 +0000)
commit7f9844caf1ebd513d8720afa3ce857fada9e94c6
tree414ebf4e011654eddd3531c3e652690d778992c9
parentec9ac2bc429d48bfd2466d56ddea4244ebfba990
2007-xx-xx Chao-ying Fu <fu@mips.com> Richard Sandiford <richard@nildram.co.uk>

gcc/
2007-xx-xx  Chao-ying Fu  <fu@mips.com>
    Richard Sandiford  <richard@nildram.co.uk>

* doc/md.texi (madd@var{m}@var{n}4, umadd@var{m}@var{n}4): Document.
* optabs.h (OTI_smadd_widen, OTI_umadd_widen): New optab_indexes.
(smadd_widen_optab, umadd_widen_optab): Define.
* optabs.c (init_optabs): Initialize smadd_widen_optab and
umadd_widen_optab.
* genopinit.c (optabs): Fill in smadd_widen_optab and
umadd_widen_optab.
* expr.c (expand_expr_real_1): Try to use smadd_widen_optab
and umadd_widen_optab to implement multiply-add sequences.
* config/mips/mips.md (*<su>mul_acc_di): Rename to...
(<u>maddsidi4): ...this.  Extend condition to include
GENERATE_MADD_MSUB and TARGET_DSPR2.  Change the constraint
of operand 0 to "ka" and use the three-operand form of madd<u>
for TARGET_DSPR2.
* config/mips/mips-dspr2.md (mips_madd, mips_maddu): Convert
to define_expands.
* config/mips/constraints.md (ka): New register constraint.

gcc/testsuite/
2007-xx-xx  Richard Sandiford  <richard@nildram.co.uk>

* gcc.target/mips/madd-1.c, gcc.target/mips/madd-2.c,
* gcc.target/mips/madd-3.c, gcc.target/mips/madd-4.c,
* gcc.target/mips/maddu-1.c, gcc.target/mips/maddu-2.c,
* gcc.target/mips/maddu-3.c, gcc.target/mips/maddu-4.c: New tests.

From-SVN: r124095
18 files changed:
gcc/ChangeLog
gcc/config/mips/constraints.md
gcc/config/mips/mips-dspr2.md
gcc/config/mips/mips.md
gcc/doc/md.texi
gcc/expr.c
gcc/genopinit.c
gcc/optabs.c
gcc/optabs.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/madd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/madd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/madd-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/madd-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/maddu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/maddu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/maddu-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/maddu-4.c [new file with mode: 0644]