gcc/
commit749bd779032567a20ca707479d73a68311572d54
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 15 Nov 2008 14:26:07 +0000 (15 14:26 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 15 Nov 2008 14:26:07 +0000 (15 14:26 +0000)
tree3d42c705e5726ec340df30a25b4740a024daf292
parent14a80f8f04a2868d2eef795ca6b1e51bb43e1704
gcc/
2008-11-15  Joshua Kinard  <kumba@gentoo.org>

* doc/invoke.texi (-mfix-r10000): Document.
* config/mips/mips.opt (mfix-r10000): New option.
* config/mips/mips-protos.h (mips_output_sync_loop): Declare.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Use %?.
(MIPS_COMPARE_AND_SWAP_12): Likewise.
(MIPS_SYNC_OP): Likewise.
(MIPS_SYNC_OP_12): Likewise.
(MIPS_SYNC_OLD_OP_12): Likewise.
(MIPS_SYNC_NEW_OP_12): Likewise.
(MIPS_SYNC_OLD_OP): Likewise.
(MIPS_SYNC_NAND): Likewise.
(MIPS_SYNC_OLD_NAND): Likewise.
(MIPS_SYNC_EXCHANGE): Likewise.
(MIPS_SYNC_EXCHANGE_12): Likewise.
(MIPS_SYNC_NEW_OP): Likewise, using %~ to fill branch-likely
delay slots.
(MIPS_SYNC_NEW_NAND): Likewise.
* config/mips/mips.c (mips_print_operand_punctuation): Handle '~'.
(mips_init_print_operand_punct): Treat '~' as a punctuation character.
(mips_output_sync_loop): New function.
(mips_override_options): Make -march=r10000 imply -mfix-r10000.
Make -mfix-r10000 require branch-likely instructions.
* config/mips/sync.md (sync_compare_and_swap<mode>): Use
mips_output_sync_loop.
(compare_and_swap_12): Likewise.
(sync_add<mode>): Likewise.
(sync_<optab>_12): Likewise.
(sync_old_<optab>_12): Likewise.
(sync_new_<optab>_12): Likewise.
(sync_nand_12): Likewise.
(sync_old_nand_12): Likewise.
(sync_new_nand_12): Likewise.
(sync_sub<mode>): Likewise.
(sync_old_add<mode>): Likewise.
(sync_old_sub<mode>): Likewise.
(sync_new_add<mode>): Likewise.
(sync_new_sub<mode>): Likewise.
(sync_<optab><mode>): Likewise.
(sync_old_<optab><mode>): Likewise.
(sync_new_<optab><mode>): Likewise.
(sync_nand<mode>): Likewise.
(sync_old_nand<mode>): Likewise.
(sync_new_nand<mode>): Likewise.
(sync_lock_test_and_set<mode>): Likewise.
(test_and_set_12): Likewise.

gcc/testsuite/
2008-11-15  Joshua Kinard  <kumba@gentoo.org>
    Richard Sandiford  <rdsandiford@goolemail.com>

* gcc.target/mips/fix-r10000-1.c: New test.
* gcc.target/mips/fix-r10000-2.c: Likewise.
* gcc.target/mips/fix-r10000-3.c: Likewise.
* gcc.target/mips/fix-r10000-4.c: Likewise.
* gcc.target/mips/fix-r10000-5.c: Likewise.
* gcc.target/mips/fix-r10000-6.c: Likewise.
* gcc.target/mips/fix-r10000-7.c: Likewise.
* gcc.target/mips/fix-r10000-8.c: Likewise.
* gcc.target/mips/fix-r10000-9.c: Likewise.
* gcc.target/mips/fix-r10000-10.c: Likewise.
* gcc.target/mips/fix-r10000-11.c: Likewise.
* gcc.target/mips/fix-r10000-12.c: Likewise.
* gcc.target/mips/fix-r10000-13.c: Likewise.
* gcc.target/mips/fix-r10000-14.c: Likewise.
* gcc.target/mips/fix-r10000-15.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141886 138bc75d-0d04-0410-961f-82ee72b054a4
23 files changed:
gcc/ChangeLog
gcc/config/mips/mips-protos.h
gcc/config/mips/mips.c
gcc/config/mips/mips.h
gcc/config/mips/mips.opt
gcc/config/mips/sync.md
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/fix-r10000-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-13.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-15.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/fix-r10000-9.c [new file with mode: 0644]