diff options
author | claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-12-10 13:32:21 +0000 |
---|---|---|
committer | claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-12-10 13:32:21 +0000 |
commit | 307c7fdc7b85f2ab122983ea05d0febc3ea8ea59 (patch) | |
tree | a9808e70899f6acf23ab79a385b0f2232a3e4e98 /gcc/config/avr/avrlibc.h | |
parent | 17948368dd02057627c0cb11a92edee925c9f77e (diff) | |
download | gcc-307c7fdc7b85f2ab122983ea05d0febc3ea8ea59.tar.gz |
[ARC] Add support for atomic memory built-in.
gcc/
2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-protos.h (arc_expand_atomic_op): Prototype.
(arc_split_compare_and_swap): Likewise.
(arc_expand_compare_and_swap): Likewise.
* config/arc/arc.c (arc_init): Check usage atomic option.
(arc_pre_atomic_barrier): New function.
(arc_post_atomic_barrier): Likewise.
(emit_unlikely_jump): Likewise.
(arc_expand_compare_and_swap_qh): Likewise.
(arc_expand_compare_and_swap): Likewise.
(arc_split_compare_and_swap): Likewise.
(arc_expand_atomic_op): Likewise.
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro.
(ASM_SPEC): Enable mlock option when matomic is used.
* config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define.
(VUNSPEC_ARC_CAS): Likewise.
(VUNSPEC_ARC_LL): Likewise.
(VUNSPEC_ARC_SC): Likewise.
(VUNSPEC_ARC_EX): Likewise.
* config/arc/arc.opt (matomic): New option.
* config/arc/constraints.md (ATO): New constraint.
* config/arc/predicates.md (mem_noofs_operand): New predicate.
* doc/invoke.texi: Document -matomic.
* config/arc/atomic.md: New file.
gcc/testsuite
2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
* lib/target-supports.exp (check_effective_target_arc_atomic): New
function.
(check_effective_target_sync_int_long): Add checks for ARC atomic
feature.
(check_effective_target_sync_char_short): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231509 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/avr/avrlibc.h')
0 files changed, 0 insertions, 0 deletions