OSDN Git Service

* config/rs6000/rs6000.opt (mmulhw): New option.
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Nov 2005 00:35:48 +0000 (00:35 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Nov 2005 00:35:48 +0000 (00:35 +0000)
commit624e1eec9297f70ad0a205f71092eaa6863dc87b
tree7ab67e5bc186d42f2dd5968d92d477a5936aeb7f
parentd5b896a6b4f4120afe67e37afc1a7110b02426a4
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107344 138bc75d-0d04-0410-961f-82ee72b054a4
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]