https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878
--- Comment #2 from admin_public at liblfds dot org --- Am I right in understanding your comment to mean 128 bit CAS is no longer supported for x86_64? I publish a library of lock-free data structures, liblfds. It has some users, include AT&T, Red Hat and Xen. Contigious double-word compare-and-swap is necessary for a range of such data structures, and even though this means only aarch64, arm, x86_64 and x86, it is still of immense value, as these are common platforms. In particular, all three of those users would find the data structures they are using no longer compile with 7.1.0. This is not death-and-end-of-the-world, however. The library provides an abstraction layer to mask platform differences, and so I would need then to add an additional abstraction layer for GCC 7.1.0 and later on x86_64, where I use inline assembly for 128-bit CAS (such an abstraction already exists in fact for early versions of GCC which lack -mcx16). One minor note : the "-mcx16" command is specific to x86_64 and so its removal means no more double word CAS on that platform. However, aarch64, arm and x86 will still continue to support double word CAS, as they do so natively and without the need for a special argument to GCC.