On Fri, 26 May 2017, Toebs Douglass wrote: > > 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. (4.6 actually) > 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? The intended way was via a typedef: typedef int my_int128 __attribute__((mode(TI))); And it appears there's another, undocumented (and thus unsupported afaict) way, via suffixing object size to the builtin name: __sync_val_compare_and_swap_16. Alexander