summaryrefslogtreecommitdiffstats
path: root/clang/lib/Headers/intrin.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-06-14 18:43:52 +0000
committerCraig Topper <craig.topper@intel.com>2018-06-14 18:43:52 +0000
commitb521dc3acfae26cef62f1ab3bfe1c3753c0c9955 (patch)
tree0e33cda44492afb2d3c7757b75643b710c4f8c83 /clang/lib/Headers/intrin.h
parent866d9f02be2337ad1c540ccecd0541ffcf6274eb (diff)
downloadbcm5719-llvm-b521dc3acfae26cef62f1ab3bfe1c3753c0c9955.tar.gz
bcm5719-llvm-b521dc3acfae26cef62f1ab3bfe1c3753c0c9955.zip
[X86] Add inline assembly versions of _InterlockedExchange_HLEAcquire/Release and _InterlockedCompareExchange_HLEAcquire/Release for MSVC compatibility.
Clang/LLVM doesn't have a way to pass an HLE hint through to the X86 backend to emit HLE prefixed instructions. So this is a good short term fix. Differential Revision: https://reviews.llvm.org/D47672 llvm-svn: 334751
Diffstat (limited to 'clang/lib/Headers/intrin.h')
-rw-r--r--clang/lib/Headers/intrin.h10
1 files changed, 0 insertions, 10 deletions
diff --git a/clang/lib/Headers/intrin.h b/clang/lib/Headers/intrin.h
index 4118fb7d8f1..5ac8e300874 100644
--- a/clang/lib/Headers/intrin.h
+++ b/clang/lib/Headers/intrin.h
@@ -170,12 +170,6 @@ void __cdecl _enable(void);
long _InterlockedAddLargeStatistic(__int64 volatile *_Addend, long _Value);
unsigned char _interlockedbittestandreset(long volatile *, long);
unsigned char _interlockedbittestandset(long volatile *, long);
-long _InterlockedCompareExchange_HLEAcquire(long volatile *, long, long);
-long _InterlockedCompareExchange_HLERelease(long volatile *, long, long);
-__int64 _InterlockedcompareExchange64_HLEAcquire(__int64 volatile *, __int64,
- __int64);
-__int64 _InterlockedCompareExchange64_HLERelease(__int64 volatile *, __int64,
- __int64);
void *_InterlockedCompareExchangePointer_HLEAcquire(void *volatile *, void *,
void *);
void *_InterlockedCompareExchangePointer_HLERelease(void *volatile *, void *,
@@ -278,10 +272,6 @@ unsigned char _InterlockedCompareExchange128_np(__int64 volatile *_Destination,
__int64 *_ComparandResult);
short _InterlockedCompareExchange16_np(short volatile *_Destination,
short _Exchange, short _Comparand);
-__int64 _InterlockedCompareExchange64_HLEAcquire(__int64 volatile *, __int64,
- __int64);
-__int64 _InterlockedCompareExchange64_HLERelease(__int64 volatile *, __int64,
- __int64);
__int64 _InterlockedCompareExchange64_np(__int64 volatile *_Destination,
__int64 _Exchange, __int64 _Comparand);
void *_InterlockedCompareExchangePointer_np(void *volatile *_Destination,
OpenPOWER on IntegriCloud