From: Ben Elliston Date: Wed, 1 Jul 2009 00:24:49 +0000 (+0000) Subject: backport: rs6000.c (rs6000_emit_sync): Use gen_lwsync(). X-Git-Tag: releases/gcc-4.3.4~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=466453d088186f28523bf61f6a2a34e671f43077;p=thirdparty%2Fgcc.git backport: rs6000.c (rs6000_emit_sync): Use gen_lwsync(). Backport from mainline: 2008-10-04 Anton Blanchard * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a2bdff05b03..065439d9c35a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2009-07-01 Ben Elliston + + Backport from mainline: + + 2008-10-04 Anton Blanchard + + * 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 PR tree-optimization/40542 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 26460f173312..97fceef7f7fd 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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));