https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70934
Bug ID: 70934 Summary: 16-byte atomics are unimplemented on s390x, but __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 is defined Product: gcc Version: 5.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: koriakin at 0x04 dot net Target Milestone: --- $ cat at128.c typedef int ti __attribute__((mode(TI))); ti a, b, c; int main(void) { #ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 __sync_val_compare_and_swap(&a, b, c); #endif } $ gcc at128.c /tmp/cc1ezNAw.o: In function `main': at128.c:(.text+0x66): undefined reference to `__sync_val_compare_and_swap_16' collect2: error: ld returned 1 exit status