summaryrefslogtreecommitdiffstats
path: root/clang/lib/Headers/intrin.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Separate builtins for x84-64 and i386; implement __mulh and __umulhAlbert Gutowski2016-10-041-6/+3
| | | | | | | | | | | | Summary: We need x86-64-specific builtins if we want to implement some of the MS intrinsics - winnt.h contains definitions of some functions for i386, but not for x86-64 (for example _InterlockedOr64), which means that we cannot treat them as builtins for both i386 and x86-64, because then we have definitions of builtin functions in winnt.h on i386. Reviewers: thakis, majnemer, hans, rnk Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24598 llvm-svn: 283264
* [Headers] Replace stray indentation with tabs with spaces. NFC.Martin Storsjo2016-09-281-9/+9
| | | | | | This matches the rest of the surrounding file. llvm-svn: 282569
* headers: add missing Windows ARM Interlocked intrinsicsSaleem Abdulrasool2016-09-261-0/+474
| | | | | | | | | | | | | | On ARM, there are multiple versions of each of the intrinsics, with acquire/relaxed/release barrier semantics. The newly added ones are provided as inline functions here instead of builtins, 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. Patch by Martin Storsjö! llvm-svn: 282447
* Add some MS aliases for existing intrinsicsAlbert Gutowski2016-09-141-70/+57
| | | | | | | | | | Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: alexshap, cfe-commits Differential Revision: https://reviews.llvm.org/D24330 llvm-svn: 281540
* Temporary fix for MS _Interlocked intrinsicsAlbert Gutowski2016-09-131-0/+57
| | | | llvm-svn: 281401
* Reverse commit 281375 (breaks building Chromium)Albert Gutowski2016-09-131-0/+13
| | | | llvm-svn: 281399
* Add bunch of _Interlocked builtinsAlbert Gutowski2016-09-131-171/+0
| | | | | | | | | | Reviewers: compnerd, thakis, Prazek, majnemer, rnk Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24153 llvm-svn: 281378
* Add some MS aliases for existing intrinsicsAlbert Gutowski2016-09-131-13/+0
| | | | | | | | | | Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24330 llvm-svn: 281375
* Implement MS _rot intrinsicsAlbert Gutowski2016-09-081-55/+0
| | | | | | | | | | Reviewers: thakis, Prazek, compnerd, rnk Subscribers: majnemer, cfe-commits Differential Revision: https://reviews.llvm.org/D24311 llvm-svn: 280997
* Add MS __nop intrinsic to intrin.hReid Kleckner2016-09-071-0/+5
| | | | | | | | | | | | | | | Summary: There was no definition for __nop function - added inline assembly. Patch by Albert Gutowski! Reviewers: rnk, thakis Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24286 llvm-svn: 280826
* Revert "[X86] Add xgetbv/x[X86] Add xgetbv xsetbv intrinsics to non-windows ↵Reid Kleckner2016-08-161-0/+10
| | | | | | | | platforms" This reverts commit r278783. It breaks usage of _xgetbv on Windows. llvm-svn: 278814
* [X86] Add xgetbv/x[X86] Add xgetbv xsetbv intrinsics to non-windows platformsMarina Yatsina2016-08-161-10/+0
| | | | | | | | commit on behalf of guyblank Differential Revision: https://reviews.llvm.org/D21959 llvm-svn: 278783
* Headers: Add ARM support to intrin.h for MSVC compatibilitySaleem Abdulrasool2016-08-061-0/+4
| | | | | | | | | | | | | | | | | This fixes compiling with headers from the Windows SDK for ARM, where the YieldProcessor function (in winnt.h) refers to _ARM_BARRIER_ISHST. The actual MSVC armintr.h contains a lot more definitions, but this is enough to build code that uses the Windows SDK but doesn't use ARM intrinsics directly. An alternative would to just keep the addition to intrin.h (to include armintr.h), but not actually ship armintr.h, instead having clang's intrin.h include armintr.h from MSVC's include directory. (That one works fine with clang, at least for building code that uses the Windows SDK.) Patch by Martin Storsjö! llvm-svn: 277928
* [intrin.h] Certain _Interlocked intrinsics return the old valueDavid Majnemer2016-06-281-12/+12
| | | | | | This fixes PR28326. llvm-svn: 273986
* s/Intrin.h/intrin.h/, trying to fix the build after r272701Hans Wennborg2016-06-141-2/+2
| | | | llvm-svn: 272702
* Rename Intrin.h to intrin.h, that's how all the documentation calls it.Nico Weber2016-06-141-0/+957
| | | | llvm-svn: 272701
* Remove the 'intrin.h' builtin header file and its tests for now.Chandler Carruth2012-05-071-368/+0
| | | | | | | | | After discussion with several people, including Doug Gregor, we've decided to change our approach here. If you have questions about this header file, the commit removing it, etc., please reach out to me off-list. llvm-svn: 156322
* Adding information about what intrinsics still need to be implemented for ↵Aaron Ballman2012-04-241-0/+302
| | | | | | MSVC compatibility. llvm-svn: 155441
* Fix a typo spotted by Matt.Chandler Carruth2012-04-241-1/+1
| | | | llvm-svn: 155427
* Introduce an initial sketch of a MSVC compatible 'intrin.h' builtinChandler Carruth2012-04-241-0/+66
header, along with a stub test to make sure it compiles in the appropriate modes. Thanks to Aaron Ballman for working with me to figure out the initial strategy here, and to Nico for reviewing and pestering me to actually commit it. llvm-svn: 155425
OpenPOWER on IntegriCloud