On 11/17/2011 04:50 AM, David Edelsohn wrote:
> On Thu, Nov 17, 2011 at 6:07 AM, Alan Modra <amo...@gmail.com> wrote:
>> Lacking this pattern means the builtin __sync_synchronize() on powerpc
>> is just an asm with a memory clobber (see builtins.c), which is hardly
>> a "full memory barrier" as extend.texi says it should be.  This patch
>> fixes multiple libgomp testsuite failures.  Bootstrapped and
>> regression tested powerpc-linux.  OK for mainline?
>>
>>        * config/rs6000/sync.md: Duplicate hwsync as memory_barrier.
> 
> This is one solution.  Alternatively,the expander for "hwsync" could
> be renamed "memory_barrier" and all uses of gen_hwsync() changed to
> gen_memory_barrier().
> 
> I don't mind either way, but I would like Richard' opinion.
> Consistently using memory_barrier might be clearer to other GCC
> developers who look at the rs6000 port.

We're supposed to be looking at the new atomics patterns first, when
they are available.  Apparently __sync_synchronize got missed.  It
should be looking at mem_thread_fence before looking for memory_barrier.

Will fix.


r~

Reply via email to