[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-12 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 David Edelsohn dje at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-10 09:43:16 UTC --- (In reply to comment #3) It says above them In most cases, these builtins are considered a full barrier. and only __sync_lock_test_and_set and

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #5 from David Edelsohn dje at gcc dot gnu.org 2012-01-10 14:39:16 UTC --- I understand that fixing __sync_* is a hassle. This is why I opened a separate bug for libstdc++. While __sync_* is deprecated in favor of __atomic_*, use of

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-10 14:48:54 UTC --- (In reply to comment #5) I understand that fixing __sync_* is a hassle. This is why I opened a separate bug for libstdc++. While __sync_* is

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-10 15:29:09 UTC --- (In reply to comment #3) It says above them In most cases, these builtins are considered a full barrier. and only __sync_lock_test_and_set and

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #8 from David Edelsohn dje at gcc dot gnu.org 2012-01-10 18:08:23 UTC --- For the way that programmers use __sync_* builtins, release or acquire-release semantics are sufficient. As we see in libstdc++, release semantics are overly

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #9 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-10 18:20:00 UTC --- (In reply to comment #8) For the way that programmers use __sync_* builtins, release or acquire-release semantics are sufficient. Are you claiming you know

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #10 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-10 18:22:01 UTC --- (In reply to comment #8) IBM should have the freedom to choose memory models that benefit its architectures. I meant to add that the new __atomic builtins

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #11 from David Edelsohn dje at gcc dot gnu.org 2012-01-10 18:33:56 UTC --- Jonathan, I understand that the new __atomic_* builtins provide that flexibility. I also am pointing out that GCC followed Intel semantics and Intel chose

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread amacleod at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 Andrew Macleod amacleod at redhat dot com changed: What|Removed |Added CC||amacleod at

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-10 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #14 from David Edelsohn dje at gcc dot gnu.org 2012-01-10 20:25:57 UTC --- Jakub, The POWER implementation of __sync_* was not written intentionally to violate the documentation. I don't think those of us who implemented the feature

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-09 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1 ---

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-09 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-09 15:45:06 UTC --- (In reply to comment #1) The docs of __sync_* say This builtin is not a full barrier, but rather an @dfn{acquire barrier}. This means that references

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-09 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 --- Comment #3 from David Edelsohn dje at gcc dot gnu.org 2012-01-09 16:49:10 UTC --- It says above them In most cases, these builtins are considered a full barrier. and only __sync_lock_test_and_set and __sync_lock_release specify different

[Bug middle-end/51766] [4.7 regression] sync_fetch_and_xxx atomicity

2012-01-05 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51766 David Edelsohn dje at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last