492d84c0f737840d6ff8f894879405dacb3dd88b |
|
17-Jun-2013 |
Manman Ren <mren@apple.com> |
X86 intrinsics: cmpge|gt|nge|ngt_ss|_sd These intrinsics should return the comparision result in the low bits and keep the high bits of the first source operand. When calling to builtin functions, the source operands are swapped and the high bits of the second source operand are kept. To fix the issue, an extra shufflevector is used. rdar://14153896 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.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/emmintrin.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/emmintrin.h
|
c5713cfd87b028d3fcf2e11d8baa67fbc4e18916 |
|
01-May-2012 |
Chad Rosier <mcrosier@apple.com> |
Get rid of storelv4si builtin as it can be expressed directly. This is general goodness because it provides opportunites to cleanup things. For example, uint64_t t1(__m128i vA) { uint64_t Alo; _mm_storel_epi64((__m128i*)&Alo, vA); return Alo; } was generating movq %xmm0, -8(%rbp) movq -8(%rbp), %rax and now generates movd %xmm0, %rax rdar://11282581 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
279114c861d8746cedd1b0a991c0412054bcd53e |
|
04-Feb-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Comment mystery code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
f42f85ce6c2c1ddbe57535898dfbe3a37f7199af |
|
04-Feb-2012 |
Nick Lewycky <nicholas@mxc.ca> |
Make _mm_cmpgt_epi8 immute to -funsigned-char. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.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/emmintrin.h
|
8052a4f1f62afb2a20fd453fa465fb4a11cfc5c6 |
|
06-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add _mm_comige_sd to emmintrin.h, since I apparently forgot to do this in r138769. <rdar://problem/10230751> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
7c06f6b319b272ea9e2df8ef03793c7b89e8dfab |
|
16-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Tweak *mmintrin.h so that they don't make any bad assumptions about alignment (which probably has little effect in practice, but better to get it right). Make the load in _mm_loadh_pi and _mm_loadl_pi a single LLVM IR instruction to make optimizing easier for CodeGen. rdar://10054986 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
ef534ce30f70aa3bbedefc2a25a8e38110ae270d |
|
29-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add missing function _mm_ucomige_sd to emmintrin.h. PR10803. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
8e3ec9caeb2653b676896ddf05cdf826edc2c3f1 |
|
13-May-2011 |
Bill Wendling <isanbard@gmail.com> |
Add 'may_alias' attribute. Noticed by Eli. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
eed92a18829575f316313659d6294fd2ef275838 |
|
13-May-2011 |
Bill Wendling <isanbard@gmail.com> |
Represent the unaligned loads natively. These are converted into a call to the correct unaligned load. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
0c9643008e5a35cac76cf3419b3308dcad97e53e |
|
12-May-2011 |
Bill Wendling <isanbard@gmail.com> |
LLVM doesn't always optimize away the four loads from this: (__m128){ p[0], p[1], p[2], p[3] } which produces really bad code. This could be done in instcombine, but it's probably better to do it in the front-end instead. <rdar://problem/9424836> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
4d375831e20cdb37b8b0698e98dbb72bf7ace043 |
|
07-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
PR9866: Fix the implementation of _mm_loadl_pd and _mm_loadh_pd to not make bad assumptions about the alignment of the double* argument. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
85e59d79e3033510d615625d1da421ac4fe7f38f |
|
25-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
don't use compound literals in MM macros, since they will be instantiated into user code which may warn about them with -pedantic. Patch by Jonathan Sauer! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
60cb5e9d39ec1ec8f476eb700c423bfe574fbac8 |
|
13-Apr-2011 |
Bill Wendling <isanbard@gmail.com> |
Just use a native "load" instead of translating the builtin later. Clang can take it! I wasn't able to get __builtin_ia32_loaddqu to transform into an unaligned load...I'll have to look into it further. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
fcb0b2587ddd2e2250b2460e8dd942151380f359 |
|
01-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
__builtin_ia32_psrldqi128 too git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
8a72034e41781e947fa16c42cce912e13868f912 |
|
01-Oct-2010 |
Chris Lattner <sabre@nondot.org> |
the second argument to __builtin_ia32_pslldqi128 must be an immediate, so it needs to be called from a macro, not a function. This is a necessary but insufficient step towards fixing PR8221 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
faf9404ae2001b949dd0b7ba9cd72a41d629a90b |
|
26-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Move some type defines from smmintrin.h to emmintrin.h to match where gcc defines them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
0930b6e6c819aa5c871c4cfb7f8f4bb5a15af5af |
|
20-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix header comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
d6b84b9455202c8a93a306c02770cdfecf13fda0 |
|
20-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
fix some vector extractions to return properly zero extended values (instead of sign extending) to match ICC. GCC is changing this in a series of their own PRs (e.g. 41323). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
b085f79e4f8f34b73a524f1946b94f797b7358c7 |
|
08-Jul-2010 |
Eli Friedman <eli.friedman@gmail.com> |
PR7588: Fix the _mm_shufflehi_epi16 macro. (The issue was an oversight involving operator precedence.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
eb941559a175a8f058f589ae4fa3a6b896133ca2 |
|
15-May-2010 |
Chris Lattner <sabre@nondot.org> |
fix _mm_shuffle_pd too, thanks to Joel Falcou for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
1bddbcbd11de09c7bcb48c3d661c447967db73a7 |
|
22-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
fix PR6658: inline isn't a keyword in C89 mode, use __inline__ instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
020f1ed8a97a630780f6aca8a6d6515ca7717ea9 |
|
20-Mar-2010 |
Eric Christopher <echristo@apple.com> |
Migrate typedefs to the top level of xmmintrin.h and remove the same one from emmintrin.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
4bf4e3034e23cc3c177b7c6dda39b28e689e7ed6 |
|
18-Sep-2009 |
Anders Carlsson <andersca@mac.com> |
Make our char vector types not be explicitly signed to match GCC and to fix compilation with C++ and -fno-lax-vector-conversions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
9436ed50b0923368d5ae7a97f1b67c56b6837430 |
|
18-Sep-2009 |
Anders Carlsson <andersca@mac.com> |
Fix PR4923. Fix error in _mm_set_pd/_mm_setr_pd and add _mm_set_epi64x/_mm_set1_epi64x. Patch by Laurent Morichetti! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
3a266f28ffb1a1710084a7eb86f140d445c77746 |
|
22-Jul-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Switch some functions from using x86 builtins to using vector operations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
8fff25719eb9363ac197ac4b375699a9afe9d36d |
|
07-Jun-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Remove a few more vector builtins. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
098136a8cd0b1017187d65c89ffbee4c15c9a1fa |
|
06-Jun-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Replace more calls to builtins with generic code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
17d2e3a7d15dc809a25896973d4aa2205e63c122 |
|
06-Jun-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Fix some casts to work without -flax-vector-conversions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
80c800465865aa15ec4b094407170c149ce344cd |
|
06-Jun-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Misc fixes to MMX/SSE intrinsics: a few small bug fixes, and getting rid of calls to builtins for constructs which can be expressed directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
db7351af8e9f9b46075e62137a29a84c666404b2 |
|
02-Jun-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Add aliases for a couple of SSE intrinsics. Patch by Ed Schouten. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
79dcf5f96ad75259867d19bbf69512f320032fce |
|
18-May-2009 |
Anders Carlsson <andersca@mac.com> |
Add 'cmp' SSE builtins and get rid of a bunch of other builtins. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
ae8ecdd6dbaac2fc3e10f3146ec6bae28428cea3 |
|
06-Apr-2009 |
Anders Carlsson <andersca@mac.com> |
Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
a2f12ae0e3893cfa703abbe43c74d513abebe1a1 |
|
14-Feb-2009 |
Anders Carlsson <andersca@mac.com> |
Add the nodebug attribute to intrinsics git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
dae4413d77b3e7599ce81307eb7a7d1dedbac547 |
|
13-Feb-2009 |
Mike Stump <mrs@apple.com> |
80col. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
bbd1fa24fc939819079ca2c104b05dcfefe166b0 |
|
21-Jan-2009 |
Anders Carlsson <andersca@mac.com> |
Fix more bugs I discovered git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
4bcd44d3b38a9aece40142ea54c07288eb0517f6 |
|
26-Dec-2008 |
Anders Carlsson <andersca@mac.com> |
Fix implementation of _mm_pause. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|
4fd3e63cb043cbd140a3e8028374bd2e4312b90e |
|
26-Dec-2008 |
Anders Carlsson <andersca@mac.com> |
OK, all tests pass. Let's start using the SSE2 header git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Headers/emmintrin.h
|