d9d57e99793df47a8fc86cde9ecd656411f02777 |
|
05-Aug-2013 |
Craig Topper <craig.topper@gmail.com> |
Use a shuffle with undef elements instead of inserting 0s in the 128-bit to 256-bit casting intrinsics to improve performance. Thanks to Katya Romanova for identifying this issue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
7cb4fae8da8f541f43d39896c989b06c69fd7821 |
|
14-Jul-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add missing include guards into headers in lib/Headers. While it may appear that these headers should not be included more than once, they are in fact included twice when building our builtins module (in order for it to generate submodules for them), and without this, any modular build enabling AVX and including any builtin header fails. Testing this is tricky because including any of these headers in a modular build is liable to fail, due to unrelated builtin headers in the same module including headers which might not be available on the system running the tests. Suggestion on that front are welcome (but we're getting close to being able to run a buildbot that has modules enabled for all tests, which would nicely solve the testing problem). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
f0cdc84298103e57919674bd1781624c74ab76d3 |
|
19-Apr-2013 |
Reid Kleckner <reid@kleckner.net> |
Avoid names like __in that conflict with SAL in builtin headers Microsoft's Source Annotation Language (SAL) defines a bunch of keywords for annotating the inputs and outputs of functions. Empty definitions for the keywords are provided by <stdlib.h> -> <crtdefs.h> -> <sal.h>. This makes it basically impossible to include MSVC's stdlib.h and Clang's *mmintrin.h headers at the same time if they have variables named __in. As a workaround, I've renamed those variables. This fixes the Modules/compiler_builtins.m test which was XFAILed, presumably due to this conflict. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
41a5fc56b5d66372318a984e30bae5a832787691 |
|
17-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
Readd an open paren that was lost while reformatting code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
4f918aed75d4927e88365541c7200f0b5fe5014b |
|
17-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
PR14964: intrinsic headers using non-reserved identifiers Several of the intrinsic headers were using plain non-reserved identifiers. C++11 17.6.4.3.2 [global.names] p1 reservers names containing a double begining with an underscore followed by an uppercase letter for any use. I think I got them all, but open to being corrected. For the most part I didn't bother updating function-like macro parameter names because I don't believe they're subject to any such collission - though some function-like macros already follow this convention (I didn't update them in part because the churn was more significant as several function-like macros use the double underscore prefixed version of the same name as a parameter in their implementation) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
49a110db4c43835681bb89671f8f73c8d8c7c28c |
|
17-Apr-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert vperm2f128 and vperm2i128 intrinsics back to using llvm intrinsics. Unfortunately, these instructions have behavior that can't be modeled with shuffle vector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
41a7e89183116ea89c71d78564a4a7fd7712c0f6 |
|
12-Apr-2012 |
Chad Rosier <mcrosier@apple.com> |
Fix the signatures for the _mm256_storeu2_* intrinsics. PR12532 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
5629646711d9c748feb1043a7df2d5ca7d1bdfc4 |
|
30-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Fix shuffle vector calculation for mm_permute_ps. Fixes PR 12401. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
db163c87f990653b59fcc5f6e4864b652f4a49bd |
|
20-Mar-2012 |
Chad Rosier <mcrosier@apple.com> |
[avx] Define the _mm256_loadu2_xxx and _mm256_storeu2_xxx intrinsics. From the Intel Optimization Reference Manual, Section 11.6.2. When data cannot be aligned or alignment is not known, 16-byte memory accesses may provide better performance. rdar://11076953 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
cfa8e6530dbc5ed6147281be78bc319dea928d76 |
|
08-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove vperm2f* and vperm2i builtins. Same effect can be achieved with builtin_shufflevector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
10c57a87d97adb0390c1dd0a69feb7862d5db4a3 |
|
08-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove vpermilp* builtins. Same effect can be achieved with builtin_shufflevector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
2ee2ac2293f313dfe1c6eb7034527a92b5d23158 |
|
25-Jan-2012 |
Craig Topper <craig.topper@gmail.com> |
Represent 256-bit unaligned loads natively and remove the builtins. Similar change was made for 128-bit versions a while back. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
34a1da4354959522cd1721ce9ca099cc5c743f01 |
|
24-Dec-2011 |
Craig Topper <craig.topper@gmail.com> |
Add AVX2 permute intrinsics. Also add parentheses on some macro arguments in other intrinsic headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
d7dd7755fc5092c69f492d6f32cb0e34e63c6a53 |
|
17-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix _mm_permute_ps and _mm256_permute_ps AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
c17f88efa20c9e12c7e07bf02041fd1f0e65d65b |
|
17-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Revert r146797, which was a partial revert of r146791; It was correct in the first place. The permutevar_* (note the *var*) intrinsics use ymm/mem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
1e4faf56cd310dbd89b7d192db57c3d120bec8a2 |
|
17-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix _mm256_extractf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
197808762de70edd67be1e4adbcc6cfc1823f53a |
|
17-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Partial revert of r146791; vpermilps/vpermilpd instructions accepts ymm/mem/imm8. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
b8786c4dc4d5a4c72f23a2d46cac5f9bc2641926 |
|
17-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix _mm256_round_pd, _mm256_round_ps, _mm_permute_pd and _mm256_permute_pd AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. Part of rdar://10595450 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
b95ddf15e75a6ea27f10c410bbc7a82308b19f4b |
|
16-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix vinsertf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. rdar://10590282 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
c5cda1121e270548ecf258d0ed72919a5211a94e |
|
16-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix vperm2f128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to take them into account. rdar://10576962 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
347208968c303a9c11fe29012f6dc49680465182 |
|
10-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix some additional x86 intrinsics to use "I" (ICE) markings. Fix *mmintrin.h to take them into account. <rdar://problem/10341145> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
32bae37b821e6ade738849ac14e3d3de06afb0be |
|
05-Nov-2011 |
Bob Wilson <bob.wilson@apple.com> |
Fix vector macros to correctly check argument types. <rdar://problem/10261670> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
426344dc225978deaa79545e8e14366fa4f8e68d |
|
24-Aug-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Fix _mm256_shuffle_ps mask! Example, for mask=203, Instead of: <i32 3, i32 2, i32 8, i32 11, i32 3, i32 6, i32 12, i32 15> generate: <i32 3, i32 2, i32 8, i32 11, i32 7, i32 6, i32 12, i32 15> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
d688bc0e927193c1df1586b4000683fce7f38287 |
|
06-Apr-2011 |
John McCall <rjmccall@apple.com> |
Implement the AVX cmp builtins as macros instead of static inlines. Patch by Syoyo Fujita! Reviewed by Chris Lattner! Checked in by me! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
01b57e362a2c8abb18ba6139ca212e6c7f2288b0 |
|
21-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Disallow direct inclusion of avxintrin.h. Users should include immintrin.h instead. This matches GCC's behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
70141c2d11ba555ff5922d8b4a014be2f629e2ec |
|
11-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Fix define inserting a comma :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
7fc3702694996d7d373e3280812a4172cf451aac |
|
11-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Remove 256-bit cast built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
f0e96c925858a513c275f0aec89f049e065c78db |
|
11-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Remove 256-bit unpack built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
b33aa0f7dfa3a6cadc8ac1ac910f36680cbf7a76 |
|
11-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Remove 256-bit shuffle built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
4a5496bdd50f6cec5f8eb252665503e5431708d9 |
|
10-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Make replicate intrinsics use shufflevector instead of dup builtins, also remove the dup builtins git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
da6adc43542616701a406bf767608ea2de929019 |
|
06-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Fix AVX 256-bit intrinsics headers by using the right cast type while dealing with logical ops git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
b8727e514393e036c88497a15ae4f61e3a4a28b3 |
|
05-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Logical AVX instrinsics can be matched directly, no need to use builtins here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|
55db5b874416cde3f2601a717e25d0974bf02f80 |
|
05-Aug-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add AVX intrinsics header git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/avxintrin.h
|