]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: rs6000.c (rs6000_emit_sync): Use gen_lwsync().
authorBen Elliston <bje@au.ibm.com>
Wed, 1 Jul 2009 00:24:49 +0000 (00:24 +0000)
committerBen Elliston <bje@gcc.gnu.org>
Wed, 1 Jul 2009 00:24:49 +0000 (10:24 +1000)
Backport from mainline:

2008-10-04  Anton Blanchard  <anton@samba.org>

* config/rs6000/rs6000.c (rs6000_emit_sync): Use gen_lwsync().
(rs6000_split_atomic_op): Same.
(rs6000_split_compare_and_swap): Same.
(rs6000_split_compare_and_swapqhi): Same.

From-SVN: r149127

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 4a2bdff05b0313b58c36957d6f5999b93f6cf88f..065439d9c35a4789437d4bab177a64b192d353d6 100644 (file)
@@ -1,3 +1,14 @@
+2009-07-01  Ben Elliston  <bje@au.ibm.com>
+
+       Backport from mainline:
+
+       2008-10-04  Anton Blanchard  <anton@samba.org>
+
+       * config/rs6000/rs6000.c (rs6000_emit_sync): Use gen_lwsync().
+       (rs6000_split_atomic_op): Same.
+       (rs6000_split_compare_and_swap): Same.
+       (rs6000_split_compare_and_swapqhi): Same.
+
 2009-06-30  Ira Rosen  <irar@il.ibm.com>
 
        PR tree-optimization/40542
index 26460f173312edfa958334f2c112ae3fe51b685d..97fceef7f7fd4e529d25bcbc005d8dce9bec7429 100644 (file)
@@ -13498,7 +13498,7 @@ rs6000_emit_sync (enum rtx_code code, enum machine_mode mode,
   rtx shift = NULL_RTX;
 
   if (sync_p)
-    emit_insn (gen_memory_barrier ());
+    emit_insn (gen_lwsync ());
 
   if (GET_CODE (m) == NOT)
     used_m = XEXP (m, 0);
@@ -13738,7 +13738,7 @@ rs6000_split_atomic_op (enum rtx_code code, rtx mem, rtx val,
   enum machine_mode mode = GET_MODE (mem);
   rtx label, x, cond = gen_rtx_REG (CCmode, CR0_REGNO);
 
-  emit_insn (gen_memory_barrier ());
+  emit_insn (gen_lwsync ());
 
   label = gen_label_rtx ();
   emit_label (label);
@@ -13778,7 +13778,7 @@ rs6000_split_compare_and_swap (rtx retval, rtx mem, rtx oldval, rtx newval,
   enum machine_mode mode = GET_MODE (mem);
   rtx label1, label2, x, cond = gen_rtx_REG (CCmode, CR0_REGNO);
 
-  emit_insn (gen_memory_barrier ());
+  emit_insn (gen_lwsync ());
 
   label1 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
   label2 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
@@ -13885,7 +13885,7 @@ rs6000_split_compare_and_swapqhi (rtx dest, rtx mask,
 {
   rtx label1, label2, x, cond = gen_rtx_REG (CCmode, CR0_REGNO);
 
-  emit_insn (gen_memory_barrier ());
+  emit_insn (gen_lwsync ());
   label1 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
   label2 = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
   emit_label (XEXP (label1, 0));