From: Richard Henderson <rth@redhat.com>
To: gcc-patches@gcc.gnu.org
Cc: amacleod@redhat.com
Subject: [PATCH 9/9] Update ChangeLogs.
Date: Fri, 28 Oct 2011 05:11:00 -0000 [thread overview]
Message-ID: <1319774858-9181-10-git-send-email-rth@redhat.com> (raw)
In-Reply-To: <1319774858-9181-1-git-send-email-rth@redhat.com>
---
gcc/ChangeLog.mm | 58 +++++++++++++++++++++++++++++++++++++++++++++
gcc/c-family/ChangeLog.mm | 4 +++
2 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/gcc/ChangeLog.mm b/gcc/ChangeLog.mm
index 498cc15..758b510 100644
--- a/gcc/ChangeLog.mm
+++ b/gcc/ChangeLog.mm
@@ -1,3 +1,61 @@
+2011-10-27 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md (UNSPECV_CMPXCHG): Split into ...
+ (UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2,
+ UNSPECV_CMPXCHG_3, UNSPECV_CMPXCHG_4): New.
+ * config/i386/sync.md (mem_thread_fence): Rename from memory_barrier.
+ Handle the added memory model parameter.
+ (mfence_nosse): Rename from memory_barrier_nosse.
+ (sync_compare_and_swap<CASMODE>): Split into ...
+ (atomic_compare_and_swap<SWI124>): this and ...
+ (atomic_compare_and_swap<CASMODE>): this. Handle the new parameters.
+ (atomic_compare_and_swap_single<SWI>): Rename from
+ sync_compare_and_swap<SWI>; rewrite to use split unspecs.
+ (atomic_compare_and_swap_double<DCASMODE>): Rename from
+ sync_double_compare_and_swap<DCASMODE>; rewrite to use split unspecs.
+ (*atomic_compare_and_swap_doubledi_pic): Rename from
+ sync_double_compare_and_swapdi_pic; rewrite to use split unspecs.
+ (atomic_fetch_add<SWI>): Rename from sync_old_add<SWI>; add memory
+ model parameter.
+ (*atomic_fetch_add_cmp<SWI>): Similarly.
+ (atomic_add<SWI>, atomic<any_logic><SWI>): Similarly.
+ (atomic_sub<SWI>): Similarly. Use x86_maybe_negate_const_int.
+ (sync_lock_test_and_set<SWI>): Merge with ...
+ (atomic_exchange<SWI>): ... this.
+
+ * optabs.c (get_atomic_op_for_code): Split out from ...
+ (maybe_emit_op): ... here.
+ * optabs.h (struct atomic_op_functions): Move from optabs.c and
+ rename from struct op_functions.
+ (get_atomic_op_for_code): Declare.
+ * omp-low.c (expand_omp_atomic_fetch_op): Use get_atomic_op_for_code
+ and test both atomic and sync optabs.
+
+ * genopinit.c (optabs): Add atomic_add, atomic_sub, atomic_and,
+ atomic_nand, atomic_xor, atomic_or.
+
+ * optabs.c (expand_val_compare_and_swap_1): Remove.
+ (expand_val_compare_and_swap, expand_bool_compare_and_swap): Remove.
+ (expand_atomic_compare_and_swap): Rename from
+ expand_atomic_compare_exchange. Rewrite to return both success and
+ oldval return values; expand via both atomic and sync optabs.
+ (expand_compare_and_swap_loop): Use expand_atomic_compare_and_swap.
+ (expand_atomic_load): Likewise.
+ * builtins.c (expand_builtin_compare_and_swap): Likewise.
+ (expand_builtin_atomic_compare_exchange): Likewise.
+ * expr.h, optabs.h: Update.
+
+ * optabs.c (can_compare_and_swap_p): New.
+ (expand_atomic_exchange, expand_atomic_fetch_op): Use it.
+ * builtins.c (fold_builtin_atomic_always_lock_free): Likewise.
+ * omp-low.c (expand_omp_atomic_pipeline): Likewise.
+ * optabs.h: Update.
+
+ * optabs.c (maybe_gen_insn): Handle 8 operands.
+
+ * builtins.c (expand_builtin_mem_thread_fence): Fixup thinko in
+ mem_thread_fence case.
+
2011-10-26 Andrew MacLeod <amacleod@redhat.com>
* builtins.c (expand_builtin_atomic_fetch_op): External calls for
diff --git a/gcc/c-family/ChangeLog.mm b/gcc/c-family/ChangeLog.mm
index f23e1c0..5845d68 100644
--- a/gcc/c-family/ChangeLog.mm
+++ b/gcc/c-family/ChangeLog.mm
@@ -1,3 +1,7 @@
+2011-10-27 Richard Henderson <rth@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
+
2011-10-25 Andrew MacLeod <amacleod@redhat.com>
* c-common.c (get_atomic_generic_size): New. Find size of generic
--
1.7.6.4
next prev parent reply other threads:[~2011-10-28 4:08 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-28 4:08 [cxx-mem-model][PATCH 0/9] Convert i386 to new atomic optabs Richard Henderson
2011-10-28 4:08 ` [PATCH 2/9] Handle expanding insns with 8 operands Richard Henderson
2011-10-28 4:08 ` [PATCH 1/9] Fix thinko in gen_mem_thread_fence operand Richard Henderson
2011-10-28 4:08 ` [PATCH 7/9] Update omp for new atomic optabs Richard Henderson
2011-10-28 4:08 ` [PATCH 3/9] Introduce and use can_compare_and_swap_p Richard Henderson
2011-10-28 5:11 ` Richard Henderson [this message]
2011-10-28 5:11 ` [PATCH 6/9] Update cppbuiltins for atomic-compare-and-swap Richard Henderson
2011-10-28 5:20 ` [PATCH 8/9] Convert i386 backend to new atomic patterns Richard Henderson
2011-10-28 5:30 ` [PATCH 5/9] Add missing atomic optab initializations Richard Henderson
2011-10-28 5:40 ` [PATCH 4/9] Rewrite all compare-and-swap in terms of expand_atomic_compare_and_swap Richard Henderson
2011-10-28 11:29 ` [cxx-mem-model][PATCH 0/9] Convert i386 to new atomic optabs Jakub Jelinek
2011-10-28 15:25 ` Richard Henderson
2011-10-29 17:28 ` Andrew MacLeod
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1319774858-9181-10-git-send-email-rth@redhat.com \
--to=rth@redhat.com \
--cc=amacleod@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).