On 26/05/17 20:52, Toebs Douglass wrote: > On 26/05/17 12:51, Alexander Monakov wrote: >> 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. > > Just as a note to any future readers, although I may well be wrong, I > think this is only true for GCC 4.8.0 onwards, with the introduction of > the 128 bit types. > > Prior to that, the only option is inline assembly. *sigh* Often in life you should think more before you act. I *think* -mcx16 was introduced in 4.3.0. Why would it *be* introduced here if GCC could not use it? Was there then another way to indicate to the __sync functions they were being given a 128-bit type?