[PATCH] D24609: [ARM] Add missing Interlocked intrinsics

Martin Storsjö via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 15 05:46:58 PDT 2016


mstorsjo created this revision.
mstorsjo added a reviewer: compnerd.
mstorsjo added a subscriber: cfe-commits.
Herald added subscribers: samparker, rengolin, aemerson.

On ARM, there are multiple versions of each of the intrinsics, with acquire/relaxed/release barrier semantics.

The 64 bit versions that so far were within "ifdef __x86_64__" also are fit for arm - I think the reason why they were in ifdefs is that winnt.h have got inline versions of them for, within ifdef _M_IX86.

The versions without a width suffix (32 bit) are currently provided as builtins instead of as inline functions here. The _acq/_nf/_rel suffixed ones of those are provided as inline functions here, since they should only be available on certain archs (arm/aarch64).

This is necessary in order to compile C++ code for ARM in MSVC mode.

https://reviews.llvm.org/D24609

Files:
  lib/Headers/intrin.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24609.71497.patch
Type: text/x-patch
Size: 23146 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160915/a7ade464/attachment-0001.bin>


More information about the cfe-commits mailing list