This is the mail archive of the
mailing list for the GCC project.
Re: [RFC PATCH, i386]: PR 36793: x86-64 does not get __sync_synchronize right
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Ross Ridge" <rridge at csclub dot uwaterloo dot ca>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 23 Nov 2008 12:29:41 -0800
- Subject: Re: [RFC PATCH, i386]: PR 36793: x86-64 does not get __sync_synchronize right
- References: <20081123195723.A573373F0B@caffeine.csclub.uwaterloo.ca>
On Sun, Nov 23, 2008 at 11:57 AM, Ross Ridge <firstname.lastname@example.org> wrote:
> H.J. Lu writes:
>>I am not sure how useful that is for 32bit since it will generate a
>>nop for most machines which do need mfence.
> I don't understand what you're saying. Using "lock orb" should result
> in a memory fence on any IA-32 SMP system, old or new. It's just a more
> heavyweight way of ordering loads and stores.
> The Linux kernel apparently takes the same approach, using either "lock
> addl" or "mfence" depending on whether SSE2 instructions are available
> at compile time.