+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
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);
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);
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 ());
{
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));