rs6000.opt (mmulhw): New option.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 22 Nov 2005 00:35:48 +0000 (00:35 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Tue, 22 Nov 2005 00:35:48 +0000 (00:35 +0000)
commit131aeb82d18736392c992c79c2184b2ad16c6190
tree7ab67e5bc186d42f2dd5968d92d477a5936aeb7f
parentb967bf2560748664c1afbdb7d4576a522b00175d
rs6000.opt (mmulhw): New option.

* config/rs6000/rs6000.opt (mmulhw): New option.
* doc/invoke.texi (-mmulhw): Document.
* config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
for 405 and 440.
* config/rs6000/rs6000.md: Add half-word multiply and
multiply-accumulate instructions for 405 and 440.

testsuite:
* gcc.target/powerpc/405-macchw-1.c,
gcc.target/powerpc/405-macchw-2.c,
gcc.target/powerpc/405-macchwu-1.c,
gcc.target/powerpc/405-macchwu-2.c,
gcc.target/powerpc/405-machhw-1.c,
gcc.target/powerpc/405-machhw-2.c,
gcc.target/powerpc/405-machhwu-1.c,
gcc.target/powerpc/405-machhwu-2.c,
gcc.target/powerpc/405-maclhw-1.c,
gcc.target/powerpc/405-maclhw-2.c,
gcc.target/powerpc/405-maclhwu-1.c,
gcc.target/powerpc/405-maclhwu-2.c,
gcc.target/powerpc/405-mulchw-1.c,
gcc.target/powerpc/405-mulchw-2.c,
gcc.target/powerpc/405-mulchwu-1.c,
gcc.target/powerpc/405-mulchwu-2.c,
gcc.target/powerpc/405-mulhhw-1.c,
gcc.target/powerpc/405-mulhhw-2.c,
gcc.target/powerpc/405-mulhhwu-1.c,
gcc.target/powerpc/405-mulhhwu-2.c,
gcc.target/powerpc/405-mullhw-1.c,
gcc.target/powerpc/405-mullhw-2.c,
gcc.target/powerpc/405-mullhwu-1.c,
gcc.target/powerpc/405-mullhwu-2.c,
gcc.target/powerpc/405-nmacchw-1.c,
gcc.target/powerpc/405-nmacchw-2.c,
gcc.target/powerpc/405-nmachhw-1.c,
gcc.target/powerpc/405-nmachhw-2.c,
gcc.target/powerpc/405-nmaclhw-1.c,
gcc.target/powerpc/405-nmaclhw-2.c,
gcc.target/powerpc/440-macchw-1.c,
gcc.target/powerpc/440-macchw-2.c,
gcc.target/powerpc/440-macchwu-1.c,
gcc.target/powerpc/440-macchwu-2.c,
gcc.target/powerpc/440-machhw-1.c,
gcc.target/powerpc/440-machhw-2.c,
gcc.target/powerpc/440-machhwu-1.c,
gcc.target/powerpc/440-machhwu-2.c,
gcc.target/powerpc/440-maclhw-1.c,
gcc.target/powerpc/440-maclhw-2.c,
gcc.target/powerpc/440-maclhwu-1.c,
gcc.target/powerpc/440-maclhwu-2.c,
gcc.target/powerpc/440-mulchw-1.c,
gcc.target/powerpc/440-mulchw-2.c,
gcc.target/powerpc/440-mulchwu-1.c,
gcc.target/powerpc/440-mulchwu-2.c,
gcc.target/powerpc/440-mulhhw-1.c,
gcc.target/powerpc/440-mulhhw-2.c,
gcc.target/powerpc/440-mulhhwu-1.c,
gcc.target/powerpc/440-mulhhwu-2.c,
gcc.target/powerpc/440-mullhw-1.c,
gcc.target/powerpc/440-mullhw-2.c,
gcc.target/powerpc/440-mullhwu-1.c,
gcc.target/powerpc/440-mullhwu-2.c,
gcc.target/powerpc/440-nmacchw-1.c,
gcc.target/powerpc/440-nmacchw-2.c,
gcc.target/powerpc/440-nmachhw-1.c,
gcc.target/powerpc/440-nmachhw-2.c,
gcc.target/powerpc/440-nmaclhw-1.c,
gcc.target/powerpc/440-nmaclhw-2.c: New tests.

From-SVN: r107344
66 files changed:
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/rs6000.opt
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/405-macchw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-macchw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-macchwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-macchwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-machhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-machhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-machhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-machhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-maclhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-maclhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-maclhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-maclhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulchw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulchw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulchwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulchwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulhhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulhhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulhhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mulhhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mullhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mullhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mullhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-mullhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-nmacchw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-nmacchw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-nmachhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-nmachhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-nmaclhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/405-nmaclhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-macchw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-macchw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-macchwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-macchwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-machhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-machhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-machhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-machhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-maclhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-maclhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-maclhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-maclhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulchw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulchw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulchwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulchwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulhhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulhhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulhhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mulhhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mullhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mullhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mullhwu-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-mullhwu-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-nmacchw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-nmacchw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-nmachhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-nmachhw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-nmaclhw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/440-nmaclhw-2.c [new file with mode: 0644]