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