[X86] Enabled a bunch of 64-bit Interlocked* functions intrinsics on 32-bit Windows...
authorCraig Topper <craig.topper@intel.com>
Wed, 8 Jul 2020 17:39:56 +0000 (10:39 -0700)
committerCraig Topper <craig.topper@intel.com>
Wed, 8 Jul 2020 17:39:56 +0000 (10:39 -0700)
commit82206e7fb49d9593d946599b107e8a8ad29a7d22
tree67d69e25ccbef202b71b4ad8e4fe5b090feb3655
parent01d5cc5386affeda878e7e21b57c2a7e050d7b0a
[X86] Enabled a bunch of 64-bit Interlocked* functions intrinsics on 32-bit Windows to match recent MSVC

This enables _InterlockedAnd64/_InterlockedOr64/_InterlockedXor64/_InterlockedDecrement64/_InterlockedIncrement64/_InterlockedExchange64/_InterlockedExchangeAdd64/_InterlockedExchangeSub64 on 32-bit Windows

The backend already knows how to expand these to a loop using cmpxchg8b on 32-bit targets.

Fixes PR46595

Differential Revision: https://reviews.llvm.org/D83254
clang/include/clang/Basic/BuiltinsX86.def
clang/include/clang/Basic/BuiltinsX86_64.def
clang/lib/Headers/intrin.h
clang/test/CodeGen/ms-intrinsics.c