aarch64.md (define_attr "sync_*"): Remove.
[gcc.git] / gcc / ChangeLog
index 9041558ff5f18533c64923983032864740d14d3d..9e0b0d363fa3e401502fc48f736502b1363ba877 100644 (file)
@@ -1,3 +1,55 @@
+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