History log of /external/clang/lib/include/avxintrin.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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