aarch64.md (define_attr "sync_*"): Remove.
gcc/ * 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. gcc/testsuite * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: New testcase. * gcc.target/aarch64/atomic-op-acq_rel.c: Likewise. * gcc.target/aarch64/atomic-op-acquire.c: Likewise. * gcc.target/aarch64/atomic-op-char.c: Likewise. * gcc.target/aarch64/atomic-op-consume.c: Likewise. * gcc.target/aarch64/atomic-op-imm.c: Likewise. * gcc.target/aarch64/atomic-op-int.c: Likewise. * gcc.target/aarch64/atomic-op-long.c: Likewise. * gcc.target/aarch64/atomic-op-relaxed.c: Likewise. * gcc.target/aarch64/atomic-op-release.c: Likewise. * gcc.target/aarch64/atomic-op-seq_cst.c: Likewise. * gcc.target/aarch64/atomic-op-short.c: Likewise. From-SVN: r193651
Showing
This diff is collapsed.
Click to expand it.
gcc/config/aarch64/sync.md
deleted
100644 → 0
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment