diff options
author | Richard Henderson <rth@redhat.com> | 2011-11-30 07:53:45 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-11-30 07:53:45 -0800 |
commit | 470b6e51608048cdf9e18dafe7dd41b089f0cfe4 (patch) | |
tree | 0b9d68c7e11d6da48ca5b48d28b9b306c7fb2823 /gcc/config/sparc/sparc-protos.h | |
parent | cfe8fee796ae2d675d22b3e6301829772f188711 (diff) | |
download | gcc-470b6e51608048cdf9e18dafe7dd41b089f0cfe4.zip gcc-470b6e51608048cdf9e18dafe7dd41b089f0cfe4.tar.gz gcc-470b6e51608048cdf9e18dafe7dd41b089f0cfe4.tar.bz2 |
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<I>): New.
(atomic_compare_and_swap<I48MODE>_1): Rename from
*sync_compare_and_swap<I48MODE>, use mem_noofs_operand.
(*atomic_compare_and_swapdi_v8plus): Rename from
*sync_compare_and_swapdi_v8plus, use mem_noofs_operand.
(sync_compare_and_swap<I12MODE>): Remove.
(sync_compare_and_swap<I48MODE>): Remove.
From-SVN: r181851
Diffstat (limited to 'gcc/config/sparc/sparc-protos.h')
-rw-r--r-- | gcc/config/sparc/sparc-protos.h | 2 |
1 files changed, 1 insertions, 1 deletions
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 *); |