- Jun 13, 2016
-
-
David Majnemer authored
There is no need to use a target-specific intrinsic to implement _bit_scan_forward or _bit_scan_reverse, reimplementing them using generic intrinsics makes it more likely that the middle end will understand what's going on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272564 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 01, 2016
-
-
Michael Zuckerman authored
Adding front-end support to several intrinsics (bit scanning, conversion and state reading intrinsics) Adding LLVM front-end support to two intrinsics dealing with bit scan: _bit_scan_forward and _bit_scan_reverse. Their functionality is as described in Intel intrinsics guide: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_bit_scan_forward&expand=371,370 https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_bit_scan_reverse&expand=371,370 Furthermore, adding clang front-end support to these conversion intrinsics: _mm256_cvtsd_f64, _mm256_cvtsi256_si32 and _mm256_cvtss_f32. Finally, adding tests to all of the above, as well as to the state reading intrinsics _rdpmc and _rdtsc. Their functionality is also specified in the Intel intrinsics guide. Commit on behalf of Omer Paparo Bivas git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271387 91177308-0d34-0410-b5e6-96231b3b80d8
-
- May 16, 2016
-
-
Nico Weber authored
Visual Studio's C++ standard library headers include intrin.h, so the intrinsic headers get included a lot more often in Microsoft mode than elsewhere. The AVX512 intrinsics are a lot of code (0.7 MB, causing 30% compile time overhead for small programs including e.g. <string> and 6% compile time overhead for larger projects like e.g. v8). Since multiversioning can't be relied on in Microsoft mode (cl.exe doesn't support it), having faster compiles seems like the much better tradeoff until we have a better intrinsic story going forward (which we'll need for e.g. PR19898). Actually using intrinsics on Windows already requires the right /arch: settings, so this patch should have no big behavior change. See also thread "The intrinsics headers (especially avx512) are too big. What to do about it?" on cfe-dev. http://reviews.llvm.org/D20291 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269675 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 27, 2016
-
-
Michael Zuckerman authored
[Clang][BuiltIn][AVX512] Adding intrinsics without mask for VBROADCAST and VPBROADCAST instruction set . Differential Revision: http://reviews.llvm.org/D19196 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267696 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 21, 2016
-
-
Michael Zuckerman authored
[Clang][AVX512][BuiltIn] Adding intrinsics of VGATHER{DPS|DPD} , VPGATHER{QD|QQ|DD|DQ} and VGATHERPF{0|1}{DPS|QPS|DPD|QPD} instruction set . Differential Revision: http://reviews.llvm.org/D19224 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@266983 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 07, 2016
-
-
Michael Zuckerman authored
[CLANG][AVX512][BUILTIN] Adding new feature flag headed files and new BUILTIN vpermi2varq{i|t}{128|256|512}{mask|maskz} Differential Revision: http://reviews.llvm.org/D17917 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262834 91177308-0d34-0410-b5e6-96231b3b80d8
-
Michael Zuckerman authored
[CLANG][AVX512][BUILTIN] Adding new feature flag header file and new builtin vpmadd52{h|l}uq{128|256|512}{mask|maskz} Differential Revision: http://reviews.llvm.org/D17915 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262820 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 31, 2015
-
-
Asaf Badouh authored
Differential Revision: http://reviews.llvm.org/D15837 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256672 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 02, 2015
-
-
Paul Robinson authored
This more closely matches their locations as described by Intel documentation, and lets us remove a pair of redundant typedefs. Differential Revision: http://reviews.llvm.org/D15127 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254528 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 13, 2015
-
-
Amjad Aboud authored
Add intrinsics for the XSAVE instructions (XSAVE/XSAVE64/XRSTOR/XRSTOR64) XSAVEOPT instructions (XSAVEOPT/XSAVEOPT64) XSAVEC instructions (XSAVEC/XSAVEC64) XSAVES instructions (XSAVES/XSAVES64/XRSTORS/XRSTORS64) Differential Revision: http://reviews.llvm.org/D13014 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@250158 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 25, 2015
-
-
Michael Kuperstein authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245929 91177308-0d34-0410-b5e6-96231b3b80d8
-
Michael Kuperstein authored
_rotl, _rotwl and _lrotl (and their right-shift counterparts) are official x86 intrinsics, and should be supported regardless of environment. This is in contrast to _rotl8, _rotl16, and _rotl64 which are MS-specific. Note that the MS documentation for _lrotl is different from the Intel documentation. Intel explicitly documents it as a 64-bit rotate, while for MS, since sizeof(unsigned long) for MSVC is always 4, a 32-bit rotate is implied. Differential Revision: http://reviews.llvm.org/D12271 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245923 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 30, 2015
-
-
Michael Kuperstein authored
Add intrinsics for the FXSR instructions (FXSAVE/FXSAVE64/FXRSTOR/FXRSTOR64) These were previously declared in Intrin.h for MSVC compatibility, but now that we have them implemented, these declarations can be removed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241053 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 29, 2015
-
-
Asaf Badouh authored
include tests review http://reviews.llvm.org/D10795 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240941 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 17, 2015
-
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239926 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239925 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
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
-
- Apr 30, 2015
-
-
Elena Demikhovsky authored
by Asaf Badouh (asaf.badouh@intel.com) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236218 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 03, 2014
-
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221130 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 08, 2014
-
-
Robert Khasanov authored
Added tests. Patch by Maxim Blumenthal <maxim.blumenthal@intel.com> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219319 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Sep 19, 2014
-
-
Robert Khasanov authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218117 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 22, 2014
-
-
Elena Demikhovsky authored
The set is small, that what I have right now. Everybody is welcome to add more. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213641 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 04, 2014
-
-
Roman Divacky authored
and one for PCLMUL support. The current immintrin.h header only includes wmmintrin.h if AES support is enabled. It should include it if either AES or PCLMUL is enabled (GCC's version of immintrin.h does this). Patch by John Baldwin! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202871 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Sep 19, 2013
-
-
Ben Langmuir authored
This is consistent with ICC and Intel's SHA-enabled GCC version. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191002 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 29, 2013
-
-
Michael Liao authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178330 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 10, 2012
-
-
Michael Liao authored
- New options '-mrtm'/'-mno-rtm' are added to enable/disable RTM feature - Builtin macro '__RTM__' is defined if RTM feature is enabled - RTM intrinsic header is added and introduces 3 new intrinsics, namely '_xbegin', '_xend', and '_xabort'. - 3 new builtins are added to keep compatible with gcc, namely '__builtin_ia32_xbegin', '__builtin_ia32_xend', and '__builtin_ia32_xabort'. - Test cases for pre-defined macro and new intrinsic codegen are added. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167665 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jul 12, 2012
-
-
Benjamin Kramer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160118 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jun 04, 2012
-
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157913 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 26, 2011
-
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147275 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 25, 2011
-
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147263 91177308-0d34-0410-b5e6-96231b3b80d8
-
Craig Topper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147262 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Dec 19, 2011
-
-
Craig Topper authored
Begin adding AVX2 intrinsics. Necessitated increasing the number of bits used to store builtinID when serializing identifier table. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146855 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 20, 2010
-
-
Benjamin Kramer authored
- This is the official way to get AVX intrinsics, we might want to disallow direct inclusion of avxintrin.h, just like GCC does. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111660 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111645 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 08, 2010
-
-
Chris Lattner authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100708 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 20, 2010
-
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99051 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99026 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Christopher authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99025 91177308-0d34-0410-b5e6-96231b3b80d8
-