summaryrefslogtreecommitdiff
path: root/gcc/config/alpha/alpha-protos.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-09 18:28:23 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-09 18:28:23 +0000
commit596d318479e9b67a4cca4efdca48a0b32b1855d0 (patch)
treefa5c58ca03b4af0a62ad46d5f7e3bd0344b48e93 /gcc/config/alpha/alpha-protos.h
parent91be5bb8dba33956172bb95113edee1bb370036c (diff)
downloadgcc-596d318479e9b67a4cca4efdca48a0b32b1855d0.tar.gz
* config/alpha/alpha.c (emit_insxl, alpha_expand_compare_and_swap_12,
alpha_split_compare_and_swap_12, alpha_expand_lock_test_and_set_12, alpha_split_lock_test_and_set_12): New functions. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.md (UNSPEC_MB, UNSPEC_ATOMIC, UNSPEC_CMPXCHG, UNSPEC_XCHG): Rename from UNSPECV_FOO. * config/alpha/sync.md (I12MODE): New. (memory_barrier, mb_internal): Use unspec instead of unspec_volatile. (sync_<fetchop_name><I48MODE>): Likewise. (sync_nand<I48MODE>): Likewise. (sync_old_<fetchop_name><I48MODE>): Likewise. (sync_new_<fetchop_name><I48MODE>): Likewise. (sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise. (sync_compare_and_swap<I48MODE>): Likewise. (sync_lock_test_and_set<I48MODE>): Likewise. (sync_compare_and_swap<I12MODE>): New. (sync_compare_and_swap<I12MODE>_1): New. (sync_lock_test_and_set<I12MODE>): New. (sync_lock_test_and_set<I12MODE>_1): New. * lib/target-supports.exp (check_effective_target_sync_char_short): Add alpha. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101833 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/alpha/alpha-protos.h')
-rw-r--r--gcc/config/alpha/alpha-protos.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index d854e35ca41..5dd57343c58 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -103,7 +103,13 @@ extern void alpha_emit_xfloating_arith (enum rtx_code, rtx[]);
extern void alpha_emit_xfloating_cvt (enum rtx_code, rtx[]);
extern void alpha_split_atomic_op (enum rtx_code, rtx, rtx, rtx, rtx, rtx);
extern void alpha_split_compare_and_swap (rtx, rtx, rtx, rtx, rtx);
+extern void alpha_expand_compare_and_swap_12 (rtx, rtx, rtx, rtx);
+extern void alpha_split_compare_and_swap_12 (enum machine_mode, rtx, rtx,
+ rtx, rtx, rtx, rtx, rtx);
extern void alpha_split_lock_test_and_set (rtx, rtx, rtx, rtx);
+extern void alpha_expand_lock_test_and_set_12 (rtx, rtx, rtx);
+extern void alpha_split_lock_test_and_set_12 (enum machine_mode, rtx, rtx,
+ rtx, rtx, rtx);
#endif
extern rtx alpha_need_linkage (const char *, int);