[Bug target/70934] 16-byte atomics are unimplemented on s390x, but __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 is defined

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 4 07:06:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70934

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
They are implemented, you just have to make sure the variable you perform
atomic on is also sufficiently aligned.
a has only 8-byte alignment by default in the s390* ABI, which is not enough.
You need ti a __attribute__((aligned (16))); or something similar.


More information about the Gcc-bugs mailing list