+2012-11-20 Sofiane Naci <sofiane.naci@arm.com>
+
+ * config/aarch64/aarch64.md
+ (define_attr "sync_*"): Remove.
+ (define_attr "length"): Update.
+ Include atomics.md.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_expand_compare_and_swap): Add function prototype.
+ (aarch64_split_compare_and_swap): Likewise.
+ (aarch64_split_atomic_op): Likewise.
+ (aarch64_expand_sync): Remove function prototype.
+ (aarch64_output_sync_insn): Likewise.
+ (aarch64_output_sync_lock_release): Likewise.
+ (aarch64_sync_loop_insns): Likewise.
+ (struct aarch64_sync_generator): Remove.
+ (enum aarch64_sync_generator_tag): Likewise.
+ * config/aarch64/aarch64.c
+ (aarch64_legitimize_sync_memory): Remove function.
+ (aarch64_emit): Likewise.
+ (aarch64_insn_count): Likewise.
+ (aarch64_output_asm_insn): Likewise.
+ (aarch64_load_store_suffix): Likewise.
+ (aarch64_output_sync_load): Likewise.
+ (aarch64_output_sync_store): Likewise.
+ (aarch64_output_op2): Likewise.
+ (aarch64_output_op3): Likewise.
+ (aarch64_output_sync_loop): Likewise.
+ (aarch64_get_sync_operand): Likewise.
+ (aarch64_process_output_sync_insn): Likewise.
+ (aarch64_output_sync_insn): Likewise.
+ (aarch64_output_sync_lock_release): Likewise.
+ (aarch64_sync_loop_insns): Likewise.
+ (aarch64_call_generator): Likewise.
+ (aarch64_expand_sync): Likewise.
+ (* emit_f): Remove variable.
+ (aarch64_insn_count): Likewise.
+ (FETCH_SYNC_OPERAND): Likewise.
+ (aarch64_emit_load_exclusive): New function.
+ (aarch64_emit_store_exclusive): Likewise.
+ (aarch64_emit_unlikely_jump): Likewise.
+ (aarch64_expand_compare_and_swap): Likewise.
+ (aarch64_split_compare_and_swap): Likewise.
+ (aarch64_split_atomic_op): Likewise.
+ * config/aarch64/iterators.md
+ (atomic_sfx): New mode attribute.
+ (atomic_optab): New code attribute.
+ (atomic_op_operand): Likewise.
+ (atomic_op_str): Likewise.
+ (syncop): Rename to atomic_op.
+ * config/aarch64/sync.md: Delete.
+ * config/aarch64/atomics.md: New file.
+
2012-11-20 Jakub Jelinek <jakub@redhat.com>
PR middle-end/55094