------- Comment #1 from jakub at gcc dot gnu dot org 2008-10-28 15:02 ------- BTW, using + reduction in the same loop (and with asm optimization barrier for that variable) I see the reduction computed value always correct, so the loop body is executed the correct number of times. That means in some cases the memory reads/writes between GOMP_atomic_{start,end} must overlap between threads.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37938