emit-rtl.c (need_atomic_barrier_p): Mask model with MEMMODEL_BASE_MASK.
authorUros Bizjak <ubizjak@gmail.com>
Fri, 12 Jun 2015 09:06:27 +0000 (11:06 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 12 Jun 2015 09:06:27 +0000 (11:06 +0200)
* emit-rtl.c (need_atomic_barrier_p): Mask model with
MEMMODEL_BASE_MASK.  Remove MEMMODEL_SYNC_* cases.

From-SVN: r224410

gcc/ChangeLog
gcc/emit-rtl.c

index 3504194eca40444d4c2f6c5258fda261f9103c08..9949703612ee4981c743b8e79e99057fbd4ae730 100644 (file)
@@ -1,3 +1,8 @@
+2015-06-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * emit-rtl.c (need_atomic_barrier_p): Mask model with
+       MEMMODEL_BASE_MASK.  Remove MEMMODEL_SYNC_* cases.
+
 2015-06-11  David Edelsohn  <dje.gcc@gmail.com>
 
        * dbxout.c (xcoff_debug_hooks): Provide a function for
index 7d3feb13b1df364d8906bd9b11ecd69d2c12f931..e064d4ece10041d64b9ea9287cdc3f66bf8bcac6 100644 (file)
@@ -6315,20 +6315,17 @@ insn_location (const rtx_insn *insn)
 bool
 need_atomic_barrier_p (enum memmodel model, bool pre)
 {
-  switch (model & MEMMODEL_MASK)
+  switch (model & MEMMODEL_BASE_MASK)
     {
     case MEMMODEL_RELAXED:
     case MEMMODEL_CONSUME:
       return false;
     case MEMMODEL_RELEASE:
-    case MEMMODEL_SYNC_RELEASE:
       return pre;
     case MEMMODEL_ACQUIRE:
-    case MEMMODEL_SYNC_ACQUIRE:
       return !pre;
     case MEMMODEL_ACQ_REL:
     case MEMMODEL_SEQ_CST:
-    case MEMMODEL_SYNC_SEQ_CST:
       return true;
     default:
       gcc_unreachable ();