diff options
author | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-29 20:26:41 +0000 |
---|---|---|
committer | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-05-29 20:26:41 +0000 |
commit | e10782c95fe24b65ed60056cabb8f0cacbdf1c44 (patch) | |
tree | 76356e565c5926add00d238c3ec6c9fe0bd95e27 /gcc/config/sh/sh.opt | |
parent | 59c7f52cc3459f21616a58ecbad90c593444ec8d (diff) | |
download | gcc-e10782c95fe24b65ed60056cabb8f0cacbdf1c44.tar.gz |
PR target/52941
* config/sh/predicates.md (atomic_arith_operand,
atomic_logical_operand): New predicates.
* config/sh/sh.c (sh_option_override): Check atomic options.
* config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
UNSUPPORTED_HARD_ATOMIC_CPU): New macros.
(DRIVER_SELF_SPECS): Use UNSUPPORTED_ATOMIC_OPTIONS and
UNSUPPORTED_HARD_ATOMIC_CPU.
* config/sh/sync.md: Update description comments.
(I12): New mode iterator.
(fetchop_predicate, fetchop_constraint): New code attributes.
(atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
atomic_exchangesi_hard, atomic_exchange<mode>_hard,
atomic_fetch_<fetchop_name>si_hard,
atomic_fetch_<fetchop_name><mode>_hard,
atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
atomic_<fetchop_name>_fetchsi_hard,
atomic_<fetchop_name>_fetch<mode>_hard,
atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
atomic_test_and_set_hard): New insns.
(atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
atomic_test_and_set_soft): Use same formatting for the first line of
the asm block as in new insns above.
(atomic_compare_and_swap<mode>, atomic_exchange<mode>,
atomic_fetch_<fetchop_name><mode>, atomic_<fetchop_name>_fetch<mode>,
atomic_test_and_set): Integrate new *_hard insns into expanders.
* config/sh/sh.opt (mhard-atomic): New option.
* doc/invoke.texi (SH Options): Document it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187987 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sh/sh.opt')
-rw-r--r-- | gcc/config/sh/sh.opt | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt index 3ab2c51be4a..6a78d04ed10 100644 --- a/gcc/config/sh/sh.opt +++ b/gcc/config/sh/sh.opt @@ -321,7 +321,11 @@ Follow Renesas (formerly Hitachi) / SuperH calling conventions msoft-atomic Target Report Var(TARGET_SOFT_ATOMIC) -Use software atomic sequences supported by kernel +Use gUSA software atomic sequences + +mhard-atomic +Target Report Var(TARGET_HARD_ATOMIC) +Use hardware atomic sequences menable-tas Target Report RejectNegative Var(TARGET_ENABLE_TAS) |