From 470b6e51608048cdf9e18dafe7dd41b089f0cfe4 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 30 Nov 2011 07:53:45 -0800 Subject: sparc: Convert to atomic_compare_and_swap. * config/sparc/constraints.md ("w"): New. * config/sparc/predicates.md (mem_noofs_operand): New. * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Make static. Generate the boolean result of the atomic_compare_exchange. (sparc_expand_compare_and_swap): New. * config/sparc/sync.md (atomic_compare_and_swap): New. (atomic_compare_and_swap_1): Rename from *sync_compare_and_swap, use mem_noofs_operand. (*atomic_compare_and_swapdi_v8plus): Rename from *sync_compare_and_swapdi_v8plus, use mem_noofs_operand. (sync_compare_and_swap): Remove. (sync_compare_and_swap): Remove. From-SVN: r181851 --- gcc/config/sparc/sparc-protos.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/config/sparc/sparc-protos.h') diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h index b292024..52acc09 100644 --- a/gcc/config/sparc/sparc-protos.h +++ b/gcc/config/sparc/sparc-protos.h @@ -104,7 +104,7 @@ extern int v9_regcmp_p (enum rtx_code); 32 bits of REG are 0 before INSN. */ extern int sparc_check_64 (rtx, rtx); extern rtx gen_df_reg (rtx, int); -extern void sparc_expand_compare_and_swap_12 (rtx, rtx, rtx, rtx); +extern void sparc_expand_compare_and_swap (rtx op[]); extern void sparc_expand_vector_init (rtx, rtx); extern void sparc_expand_vec_perm_bmask(enum machine_mode, rtx); extern bool sparc_expand_conditional_move (enum machine_mode, rtx *); -- cgit v1.1