This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC / CFT] PR c++/66192 - Remove TARGET_RELAXED_ORDERING and use load acquires.
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: Ramana Radhakrishnan <ramana dot radhakrishnan at foss dot arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jim Wilson <wilson at tuliptree dot org>, Steve Ellcey <sellcey at mips dot com>, Richard Henderson <rth at redhat dot com>, Steve Munroe <munroesj at linux dot vnet dot ibm dot com>
- Date: Fri, 22 May 2015 09:55:12 -0400
- Subject: Re: [RFC / CFT] PR c++/66192 - Remove TARGET_RELAXED_ORDERING and use load acquires.
- Authentication-results: sourceware.org; auth=none
- References: <555F1143 dot 4070606 at foss dot arm dot com> <555F11B6 dot 1070001 at foss dot arm dot com> <555F31CF dot 6060201 at redhat dot com>
On Fri, May 22, 2015 at 9:40 AM, Jason Merrill <jason@redhat.com> wrote:
> On 05/22/2015 07:23 AM, Ramana Radhakrishnan wrote:
>>
>> + /* Load the guard value only through an atomic acquire load. */
>> + guard = build_atomic_load (guard, MEMMODEL_ACQUIRE);
>> +
>> /* Check to see if the GUARD is zero. */
>> guard = get_guard_bits (guard);
>
>
> I wonder if these calls should be reversed, to express that we're only
> trying to atomically load a byte (on non-ARM targets)?
That expresses the semantics more directly, but will that lead to less
efficient code on some RISC architectures?
- David