summaryrefslogtreecommitdiff
path: root/gcc/config/sh/sh.opt
diff options
context:
space:
mode:
authorolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-29 20:26:41 +0000
committerolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-29 20:26:41 +0000
commite10782c95fe24b65ed60056cabb8f0cacbdf1c44 (patch)
tree76356e565c5926add00d238c3ec6c9fe0bd95e27 /gcc/config/sh/sh.opt
parent59c7f52cc3459f21616a58ecbad90c593444ec8d (diff)
downloadgcc-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.opt6
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)