[all-commits] [llvm/llvm-project] 1c830b: [Preprocessor] Define __GCC_HAVE_SYNC_COMPARE_AND_...

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Dec 11 23:09:27 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1c830b787c0d8ccc863d23fa507182dc7685fcc2
      https://github.com/llvm/llvm-project/commit/1c830b787c0d8ccc863d23fa507182dc7685fcc2
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-11 (Mon, 11 Dec 2023)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/test/Preprocessor/init-aarch64.c

  Log Message:
  -----------
  [Preprocessor] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 for AArch64 (#74954)

GCC sets `#define HAVE_atomic_compare_and_swapti 1` and therefore
defines `__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16`.

Clang compiles the 16-byte legacy `__sync_bool_compare_and_swap` and new
`__atomic_compare_exchange` compile to LDXP/STXP or (with LSE)
CASP{,A,L,AL}.

Link: https://github.com/llvm/llvm-project/issues/71883




More information about the All-commits mailing list