summaryrefslogtreecommitdiffstats
path: root/lib/Headers/bmiintrin.h
Commit message (Collapse)AuthorAgeFilesLines
* [DOXYGEN] Corrected typos and incorrect parameters description.Ekaterina Romanova2017-07-121-1/+1
| | | | | | | | | | | | Corrected several typos and incorrect parameters description that Sony 's techinical writer found during review. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307838 91177308-0d34-0410-b5e6-96231b3b80d8
* [DOXYGEN] Corrected several typos and incorrect parameters description that ↵Ekaterina Romanova2017-06-061-4/+4
| | | | | | | | | | | Sony's techinical writer found during review. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304840 91177308-0d34-0410-b5e6-96231b3b80d8
* [DOXYGEN] Minor improvements in doxygen comments.Ekaterina Romanova2017-04-281-166/+0
| | | | | | | | | | | | | | - I removed doxygen comments for the intrinsics that "alias" the other existing documented intrinsics and that only sligtly differ in spelling (single underscores vs. double underscores). #define _tzcnt_u16(a) (__tzcnt_u16((a))) It will be very hard to keep the documentation for these "aliases" in sync with the documentation for the intrinsics they alias to. Out of sync documentation will be more confusing than no documentation. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@301652 91177308-0d34-0410-b5e6-96231b3b80d8
* [DOXYGEN] Improved doxygen comments for x86 intrinsics.Ekaterina Romanova2016-12-271-4/+4
| | | | | | | | | | | | | | Improved doxygen comments for the following intrinsics headers: __wmmintrin_pclmul.h, bmiintrin.h, emmintrin.h, f16cintrin.h, immintrin.h, mmintrin.h, pmmintrin.h, tmmintrin.h Added \n commands to insert a line breaks where necessary, since one long line of documentation is nearly unreadable. Formatted comments to fit into 80 chars. In some cases added \a command in front of the parameter names to display them in italics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290561 91177308-0d34-0410-b5e6-96231b3b80d8
* [DOXYGEN] Improved doxygen comments for x86 intrinsics headers.Ekaterina Romanova2016-12-091-28/+28
| | | | | | | | | | | | Tagged instruction names with <c> INSTR_NAME </c> to display them in typewriter font. In the past, \c command was used, unfortunately it applied to only one word. <c> .. </c> has the same meaning, but applies to all words in between the tags. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289249 91177308-0d34-0410-b5e6-96231b3b80d8
* [Clang][bmi][intrinsics] Adding _mm_tzcnt_64 _mm_tzcnt_32 intrinsics to clang.Michael Zuckerman2016-06-221-0/+32
| | | | | | | Differential Revision: http://reviews.llvm.org/D21373 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273401 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygen comments for avxintrin.h.Ekaterina Romanova2016-05-161-1/+1
| | | | | | | | | | | | | | | | | | Added doxygen comments to avxintrin.h's intrinsics. As of now, only around 50% of the intrinsics in this file are documented here. The patches for the other half will be sent out later. Updated bmiintrin.h to fix an incorrect section name. Updated f16cintrin.h to fix incorect parameter names. The doxygen comments are automatically generated based on Sony's intrinsics document. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269718 91177308-0d34-0410-b5e6-96231b3b80d8
* Add doxygen comments to bmiintrin.h's intrinsics.Ekaterina Romanova2016-03-081-0/+361
| | | | | | | | | | The doxygen comments are automatically generated based on Sony's intrinsics document. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262895 91177308-0d34-0410-b5e6-96231b3b80d8
* bmiintrin.h: Allow using the tzcnt intrinsics for non-BMI targetsHans Wennborg2015-11-171-3/+9
| | | | | | | | | | | | The tzcnt intrinsics are used non non-BMI targets by code (e.g. ffmpeg) that uses it as a potentially faster BSF. The TZCNT instruction is special in that it's encoded in a backward-compatible way and behaves as BSF on non-BMI targets. Differential Revision: http://reviews.llvm.org/D14748 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253358 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTRMichael Kuperstein2015-06-301-17/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241065 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the intel intrinsic headers to use the target attribute support.Eric Christopher2015-06-171-5/+1
| | | | | | | | | | | | | | | | | | | This involved removing the conditional inclusion and replacing them with target attributes matching the original conditional inclusion and checks. The testcase update removes the macro checks for each file and replaces them with usage of the __target__ attribute, e.g.: int __attribute__((__target__(("sse3")))) foo(int a) { _mm_mwait(0, 0); return 4; } This usage does require the enclosing function have the requisite __target__ attribute for inlining and code generation - also for any macro intrinsic uses in the enclosing function. There's no change for existing uses of the intrinsic headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239883 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a define for per-file function attributes for the Intel intrinsic headers.Eric Christopher2015-06-171-15/+20
| | | | | | | This is a precursor to changing them to use the new target attribute code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239882 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid undefined behavior in the x86 bmi header file by explicitly checking ↵Craig Topper2014-11-011-3/+3
| | | | | | for 0 before calling __builtin_ctz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.cttz with defined zero behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221065 91177308-0d34-0410-b5e6-96231b3b80d8
* added Intel's BMI intrinsic variants Sanjay Patel2014-05-281-1/+34
| | | | | | | (fixes PR19431 - http://llvm.org/bugs/show_bug.cgi?id=19431) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209769 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename tzcnt intrinsics to match gcc.Craig Topper2012-07-021-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159515 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the rest of the BMI intrinsics.Craig Topper2011-12-251-0/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147265 91177308-0d34-0410-b5e6-96231b3b80d8
* Add intrinsics for lzcnt and tzcnt instructions.Craig Topper2011-12-251-0/+55
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147263 91177308-0d34-0410-b5e6-96231b3b80d8