This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [powerpc64le] seq_cst memory order possibly not honored


On 14 August 2015 at 01:37, Andrey Semashev wrote:
> 1. Is my test valid or is there a flaw that I'm missing?

The cppmem tool at http://svr-pes20-cppmem.cl.cam.ac.uk/cppmem/ shows
that there are consistent executions where (x==0 && y==0) is true. I
used this code:

int main() {
  atomic_int a = 0;
  atomic_int b = 0;
  int x, y;
  {{{
    {
      a.store(1,mo_seq_cst);
      a.load(mo_relaxed);
      x = b.load(mo_relaxed);
    }
  |||
    {
      b.store(1, mo_seq_cst);
      b.load(mo_relaxed);
      y = a.load(mo_relaxed);
    }
  }}}
  return 0;
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]