This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: GCC in-line assembly and the removal of -mcx16
On 26/05/17 12:51, Alexander Monakov wrote:
> On Fri, 26 May 2017, Toebs Douglass wrote:
>> I filed a bug for it;
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878
>>
>> And although the reply is hardly canonical, it does for what it's worth
>> seem to indicate that the switch has gone away.
>
> No; what changed in gcc-7 is how __atomic builtins that would previously use
> cmpxchg16 are expanded: now they always yield a library call, but libatomic
> tries to implement those calls efficiently via cmpxchg16, provided that the CPU
> is capable of it, and the code generation target supports ifunc dispatch.
>
> Note that the behavior with regards to __sync builtins (as opposed to __atomic)
> remains unchanged, so uses of __sync_val_compare_and_swap can emit cmpxchg16 if
> -mcx16 is given on the command line.
Thankyou *very* much, Alex. I understand.