summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/ms-volatile-arm.c
Commit message (Collapse)AuthorAgeFilesLines
* [MS] Make __iso_volatile_* available on all targetsReid Kleckner2019-03-281-13/+0
| | | | | | | | | | | Future versions of MSVC make these intrinsics available on x86 & x64, according to: http://lists.llvm.org/pipermail/cfe-dev/2019-March/061711.html The purpose of these builtins is to emit plain, non-atomic, volatile stores when /volatile:ms (-cc1 -fms-volatile) is enabled. llvm-svn: 357220
* [MS] Implement __iso_volatile loads/stores as builtinsMartin Storsjo2016-09-301-0/+13
These are supposed to produce the same as normal volatile pointer loads/stores. When -volatile:ms is specified, normal volatile pointers are forced to have atomic semantics (as is the default on x86 in MSVC mode). In that case, these builtins should still produce non-atomic volatile loads/stores without acquire/release semantics, which the new test verifies. These are only available on ARM (and on AArch64, although clang doesn't support AArch64/Windows yet). This implements what is missing for PR30394, making it possible to compile C++ for ARM in MSVC mode with MSVC headers. Differential Revision: https://reviews.llvm.org/D24986 llvm-svn: 282900
OpenPOWER on IntegriCloud