aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/sync.md2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9bb215a..580ccc4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-12 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/42869
+ * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
+
2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR middle-end/42431
diff --git a/gcc/config/ia64/sync.md b/gcc/config/ia64/sync.md
index b40e208..9aec0fe 100644
--- a/gcc/config/ia64/sync.md
+++ b/gcc/config/ia64/sync.md
@@ -135,8 +135,8 @@
if (GET_MODE (dst) != DImode)
dst = gen_reg_rtx (DImode);
- emit_insn (gen_memory_barrier ());
emit_insn (gen_cmpxchg_rel_<mode> (dst, operands[1], ccv, operands[3]));
+ emit_insn (gen_memory_barrier ());
if (dst != operands[0])
emit_move_insn (operands[0], gen_lowpart (<MODE>mode, dst));