This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]