]> granicus.if.org Git - clang/commit
[MS] Re-add support for the ARM interlocked bittest intrinscs
authorReid Kleckner <rnk@google.com>
Thu, 7 Jun 2018 21:39:04 +0000 (21:39 +0000)
committerReid Kleckner <rnk@google.com>
Thu, 7 Jun 2018 21:39:04 +0000 (21:39 +0000)
commitc1c07cca8cae5f924cedaac7b202b0f3c167111d
treec38e545cfeefc58d5947f693924d7512f5da877d
parent2dbbac4dddd5ec3c3bfeaf681336831fca254e28
[MS] Re-add support for the ARM interlocked bittest intrinscs

Adds support for these intrinsics, which are ARM and ARM64 only:
  _interlockedbittestandreset_acq
  _interlockedbittestandreset_rel
  _interlockedbittestandreset_nf
  _interlockedbittestandset_acq
  _interlockedbittestandset_rel
  _interlockedbittestandset_nf

Refactor the bittest intrinsic handling to decompose each intrinsic into
its action, its width, and its atomicity.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@334239 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Builtins.def
include/clang/Basic/DiagnosticSemaKinds.td
lib/CodeGen/CGBuiltin.cpp
lib/Headers/intrin.h
lib/Sema/SemaChecking.cpp
test/CodeGen/bittest-intrin.c
test/Sema/bittest-intrinsics.c [new file with mode: 0644]