History log of /external/clang/include/clang/Basic/BuiltinsX86.def
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1bfc28c48c1b86a05d2e07b403107ef3da5a0f8e 29-Mar-2013 Michael Liao <michael.liao@intel.com> Add RDSEED intrinsic support defined in AVX2 extension



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
f91210d6f2596645f164684fb1fd804727c9fc0e 29-Mar-2013 Michael Liao <michael.liao@intel.com> Add XTEST intrinsic defined in TSX extension



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
463eb89d5e36b05d74c14b937384076d745b3b84 10-Nov-2012 Michael Liao <michael.liao@intel.com> Add clang support of RTM from TSX

- 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
/external/clang/include/clang/Basic/BuiltinsX86.def
146e5a4a787a2ebfe89a6b74e7c22d850bf1c858 11-Oct-2012 Manman Ren <mren@apple.com> X86: add F16C support in Clang

Support the following intrinsics:
_mm_cvtph_ps, _mm256_cvtph_ps, _mm_cvtps_ph, _mm256_cvtps_ph

rdar://12407875


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
427435fb15593f19f86aee0c25e2b96e03aadf69 06-Aug-2012 Craig Topper <craig.topper@gmail.com> Re-enable pcmpistri/pcmpestri builtins in clang now that llvm supports them properly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
9a50249cd35f3d9d4d2b194a3edd6815ccf746d7 12-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> Add _rdrand{16,32,64}_step intrinsics to immintrin.h

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
c84804a7409927813430f5bb1b56bb7b8afbcee8 29-Jun-2012 Manman Ren <mren@apple.com> X86: add more GATHER intrinsics in Clang

Corrected type for index of _mm256_mask_i32gather_pd
from 256-bit to 128-bit
Corrected types for src|dst|mask of _mm256_mask_i64gather_ps
from 256-bit to 128-bit

Support the following intrinsics:
_mm_mask_i32gather_epi64, _mm256_mask_i32gather_epi64,
_mm_mask_i64gather_epi64, _mm256_mask_i64gather_epi64,
_mm_mask_i32gather_epi32, _mm256_mask_i32gather_epi32,
_mm_mask_i64gather_epi32, _mm256_mask_i64gather_epi32


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
5283c99365ec4697a5a6bb2b2505469a9aa474d5 26-Jun-2012 Manman Ren <mren@apple.com> X86: add GATHER intrinsics (AVX2) in Clang

Support the following intrinsics:
_mm_mask_i32gather_pd, _mm256_mask_i32gather_pd, _mm_mask_i64gather_pd
_mm256_mask_i64gather_pd, _mm_mask_i32gather_ps, _mm256_mask_i32gather_ps
_mm_mask_i64gather_ps, _mm256_mask_i64gather_ps


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
cda8df0bb55203a07f824668220aba48ed4e5cdf 15-Jun-2012 Craig Topper <craig.topper@gmail.com> Add XOP frcz instrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
5daa4deddbfc27516e89bbd6d8035cecc52ce03f 12-Jun-2012 Craig Topper <craig.topper@gmail.com> Add XOP permute intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
ecbc00929cde5db985b38682b1f62fcc62b3a2fe 11-Jun-2012 Craig Topper <craig.topper@gmail.com> Add XOP shift and compare intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
3335eb7f7c5b82f109c585fb4009ff8240b11a84 10-Jun-2012 Craig Topper <craig.topper@gmail.com> Add XOP vprot* instruction intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
18b73eacc21c8a7c03168aa30c401d072cc6ffc9 10-Jun-2012 Craig Topper <craig.topper@gmail.com> More XOP intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
239c030aa4bde597f45c80c50f653620bdd72922 10-Jun-2012 Craig Topper <craig.topper@gmail.com> Begin adding XOP intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
3c0bc15afbcbbf6942a64798ba8a23bb8d9a77d9 31-May-2012 Craig Topper <craig.topper@gmail.com> Add builtin for pclmulqdq instruction.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
3783eff3c372903033dacfc4954965a91e48897f 30-May-2012 Craig Topper <craig.topper@gmail.com> Mark extrqi and insertqi immediate arguments as being ICE.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
6b97877cc34facbd5b0e033b37a771421d794486 29-May-2012 Benjamin Kramer <benny.kra@googlemail.com> Add an ammintrin.h header for SSE4a intrinsics.

This is a clean-room implementation based on public documentation and
I tried to validate it as much as possible against gcc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
b5491f3d7b688b37745397fafd6c1f10548fd5c2 16-Apr-2012 Craig Topper <craig.topper@gmail.com> Change _mm256_permute4x64_epi64 and _mm256_permute4x64_pd to use builtin_shufflevector instead of specific builtins. Old builtins will be removed from llvm now that vpermq/vpermpd are supported by shuffle lowering code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
5228982f07d3420672060b2429a797b0cd3e00d5 30-Mar-2012 Craig Topper <craig.topper@gmail.com> Add _mm_minpos_epu16 to smmintrin.h. Fixes PR12399.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
f8495d67ca4dd2ea15a4dc59e9a2fa32a9bfa475 30-Jan-2012 Craig Topper <craig.topper@gmail.com> Cleanup 3dnow builtin handling. Most of them were already handled by LLVM connecting intrinsics and builtins in IntrinsicsX86.td.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
a49a2839266f0bac2b6286e9f49fdc0c292938fe 28-Jan-2012 Benjamin Kramer <benny.kra@googlemail.com> Make the __builtin_c[lt]zs builtins target independent.

There is really no reason to have these only available on x86. It's
just __builtin_c[tl]z for shorts.

Modernize the test while at it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
7feb321af47e65ddfe88f44f5fd994bbeba53fcf 30-Dec-2011 Craig Topper <craig.topper@gmail.com> Add FMA4 intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
f58f3647b19c40455065c7395db82848d8830981 26-Dec-2011 Craig Topper <craig.topper@gmail.com> Add BMI2 intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
0b269c1f3641511fb397488f8b82850416892fc9 25-Dec-2011 Craig Topper <craig.topper@gmail.com> Add the rest of the BMI intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
5c75208a5b88c835bce0a1671015c7e22c72f35f 25-Dec-2011 Craig Topper <craig.topper@gmail.com> Add intrinsics for lzcnt and tzcnt instructions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
5cbd751a2f9d73248c5336140d73680fcd4669a3 24-Dec-2011 Craig Topper <craig.topper@gmail.com> Add last of the AVX2 intrinsics except for gather.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
7bb034065ec8bf54f54e4a87e77cbfae704ea419 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@147242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
967cd889e59ff73a53b71463d33df7bdfc4b8567 24-Dec-2011 Craig Topper <craig.topper@gmail.com> Add AVX2 intrinsics for FP vbroadcast, vbroadcasti128, and vpblendd.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
cbe627b54eaeeeac7a28725de6c9b60b4d3ab32d 24-Dec-2011 Craig Topper <craig.topper@gmail.com> More AVX2 intrinsics for shift, psign, some shuffles, and psadbw.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
28a324a30b0677309a4c5d73ef5197398265e129 23-Dec-2011 Craig Topper <craig.topper@gmail.com> Add AVX2 multiply intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
231f793326e3a3ad6e07949adb776f45c07f0f7b 22-Dec-2011 Craig Topper <craig.topper@gmail.com> Add AVX2 intrinsics for max, min, sign extend, and zero extend.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
4a4f25a5a80dd594acf68c882bcdbf1a38468a45 21-Dec-2011 Craig Topper <craig.topper@gmail.com> Add a few more AVX2 intrinsics and fix the type strings on a couple SSE intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
318e460ada6e589bd864d9ecb86053cc6852cabf 21-Dec-2011 Craig Topper <craig.topper@gmail.com> Add AVX2 horizontal add/sub intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
4c07c5dfebd270b2f0660e86f056eeafdb26a4fb 20-Dec-2011 Craig Topper <craig.topper@gmail.com> Add AVX2 intrinsics for pavg, pblend, and pcmp instructions. Also remove unneeded builtins for SSE pcmp. Change SSE pcmpeqq and pcmpgtq to not use builtins and just use vector == and >.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
9c2ffd803af03f1728423d0d73ff87d988642633 19-Dec-2011 Craig Topper <craig.topper@gmail.com> More AVX2 intrinsic support including saturating add/sub and palignr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
925be547b163675b312e3cac0cc7f37f31d787c1 19-Dec-2011 Craig Topper <craig.topper@gmail.com> 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
/external/clang/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
75d0fe7100939c8f32ddf25e7b3f25e22e4a5878 09-Nov-2011 Eli Friedman <eli.friedman@gmail.com> Add "I" (ICE) annotations onto a few more x86 intrinsics.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
355130fde923c7284d32cc61fc3a34673bf14852 08-Nov-2011 Eli Friedman <eli.friedman@gmail.com> Misc fixes to pcmp*stri.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
377fde82248fc0162d04f72c26485303f3058ff1 02-Jul-2011 Eli Friedman <eli.friedman@gmail.com> Reorganize builtins to separate out builtins which require MMX registers. No functional change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
600d57ff204fb8167134aa4a4b9a3f74d5113a50 13-May-2011 Bill Wendling <isanbard@gmail.com> Remove the 'unaligned load' builtins now that they're no longer used in the *mmintrin.h files.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
a10ae7b895737694ddc3f0f3fc6105c4871fef23 21-Apr-2011 Bill Wendling <isanbard@gmail.com> Remove __builtin_ia32_loadup[sd] since clang can represent the actions natively.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
8b36a9ee7fe7204b30a85b95b11850aeb4b63ee3 15-Apr-2011 Michael J. Spencer <bigcheesegs@gmail.com> Add 3DNow! Intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
02b3774347158753dd72c1bb8a29eb78a16440ab 09-Mar-2011 NAKAMURA Takumi <geek4civic@gmail.com> include/clang/Basic/BuiltinsX86.def: __builtin_ia32_crc32**() should be defined to take unsigned args and to return unsigned value.

mingw-w64's intrin.h declares __builtin_ia32_crc32**() as external.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
374677ce3f4b09678c711b8ce4e7722a0898f048 03-Oct-2010 Chris Lattner <sabre@nondot.org> Change to match 115473.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
69993392d2e9e0560a184e65bdbe64527de3046f 02-Oct-2010 Chris Lattner <sabre@nondot.org> the mmx intrinsic for pshufw should map to the IR intrinsic, not
to a shufflevector. Otherwise it doesn't turn into a pshufw.
This bug was introduced in the mmx rewrite.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
393bd8e185692a451b2ba16bdfc9e7d3543b4217 01-Oct-2010 Chris Lattner <sabre@nondot.org> Various builtins a require an integer constant. Not providing
one results in an obscure error from the backend that doesn't make
sense. Capture this information in the .def files for builtins with
a new "I" modifier letter indicating the an argument needs to be an ICE.

Nothing uses this yet, but sema will eventually enforce this (eliminating
some special cases from semachecking.cpp) and codegen will use this to
force an ICE value, preventing backend error messages.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
2e81caa14337cfa8973a1a073ef4dbbb8273238c 21-Sep-2010 Bill Wendling <isanbard@gmail.com> Add a comment explaining why the MMX builtins are segregated and what we plan on
doing with them. It's a "FIXME" right now because this change hasn't been
implemented yet.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
957b03be80ee712344bc0ff67c5ab7d768e88005 20-Sep-2010 Bill Wendling <isanbard@gmail.com> The builtins __builtin_ia32_paddq and __builtin_ia32_psubq were missing.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
315a2f207900745f6ef6e599f795edb2fe81e24f 18-Sep-2010 Bill Wendling <isanbard@gmail.com> Remove FIXME. The type is correct.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
798ad97198bfa4a227916d2ca65ee2c7f91d60b3 03-Sep-2010 Bill Wendling <isanbard@gmail.com> Add a couple of FIXMEs. The types of palignr are different here than in GCC.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
1c4345e1066bc8de27d027bccd193dec13d40bf2 03-Sep-2010 Bill Wendling <isanbard@gmail.com> Reorder the MMX builtins to be in their own ostracized group.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
65206c552ae5215c2225502686b5e164ebe2c2da 02-Sep-2010 Bill Wendling <isanbard@gmail.com> Add some MMX builtins to correspond with the intrinsics now accepted by
LLVM. This will be used by the mmintrin.h header, but that bit still needs to be
worked out.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
4fbe7aad307dba8d668b7878cd5e833c9467d1d8 11-Aug-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Remove rsqrtps_nr256 and sqrtps_nr256 builtins, at least until we need them

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
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/include/clang/Basic/BuiltinsX86.def
c2350b20d4cd98b0d2680ed45a65f4e97eba3663 10-Aug-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Use i32 instead of i8 for AVX dot product intrinsic

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
368b76ee98535eec93c487ae4b213fa0598a9eff 10-Aug-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Consider the last argument of vblend builtin to be i32 instead of i8

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
f8c6db4cacaa733cf335deb03a9ccd0c9c488b3e 06-Aug-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> We don't want to support built-ins which aren't needed by the intrinsics. Remove them

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
e898ed5f165e0e8cdc6b52115b41ecc3df63168c 04-Aug-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Add more AVX 256-bit intrinsics and test cases for them

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
5ce946291c2c23ed71b112b2ba13acf11807e319 03-Aug-2010 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Support x86 AVX 256-bit instructions built-ins. Right now support all of them, but
as soon as we properly codegen the simple vector operations, remove the
unnecessary built-ins/intrinsics from clang and llvm. Also add tests for the new
built-ins



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
60a52575782d8391c31ac0b0bde7df69ba2670a5 27-Jul-2010 Eric Christopher <echristo@apple.com> APIs that take different sized arguments than the instruction
should be taken out and shot.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
e57aa9e367af227214140e1a174cc561aabaa0b9 15-Apr-2010 Eric Christopher <echristo@apple.com> Rewrite handling of 64-bit palignr intrinsics to be vector shuffles.
Stop multiplying constant by 8 accordingly in the header and change
intrinsic definition for what types we expect.

Add to existing palignr test to check that we're emitting the correct things.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
33c903208e8e2f91b8986b0ba7e5f7e077398ea6 01-Apr-2010 Eric Christopher <echristo@apple.com> First start at wmmintrin.h file with Intel AES-NI instructions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
67a5936a1d60fff1ec12441de63fd27ea50b0130 20-Mar-2010 Eric Christopher <echristo@apple.com> Add sse4.2 header and builtin support.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
7bd0dfd322d7a2d6a5461dcbdb2a83fd729dd8e2 16-Mar-2010 Eric Christopher <echristo@apple.com> Add remaining sse4.1 intrinsics and builtins.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
0c2b4f40ac17156a424d4faa20ba5d862ecc8416 12-Mar-2010 Eric Christopher <echristo@apple.com> Add SSE4 packed integer comparisons and corresponding intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
d6b162e7e6f0cc2be634f16f023b65db546cdc4e 07-Mar-2010 Eric Christopher <echristo@apple.com> Add in movntdqa intrinsic for load hint.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
31b2ac71e40c02cb587ebcc24361a6f94f87a7c7 07-Mar-2010 Eric Christopher <echristo@apple.com> Add in dot product intrinsics for dpps and dppd.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
2ac7472f87cdb157f23ef47422d3dcf1bc66013a 04-Mar-2010 Eric Christopher <echristo@apple.com> Fix __builtin_ia32_roundss and __builtin_ia32_roundsd definitions.
Re-enable test.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
41bdf0d35ceab9ed2967ed836f050e5cec9c656d 16-Jan-2010 Tanya Lattner <tonic@nondot.org> The codegen for these builtins was removed long ago, but their definitions remained. Removing them totally.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
c3420ffb282c6ffc0192013bf8045b6c21eddece 14-Dec-2009 Nate Begeman <natebegeman@mac.com> Revert mmx palignr to use an intrinsic, since mmx shuffle patterns are missing.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
ce5818a19a8f77d1540d0352649d6687eca4af6b 14-Dec-2009 Nate Begeman <natebegeman@mac.com> Support x86's PALIGNR instruction without the use of a palignr intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
56cd500ff6851b081261d72c98b25662c3c4a4fb 20-Nov-2009 Daniel Dunbar <daniel@zuster.org> Update for palign intrinsic fix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def
6b15cdc1312f8fc45c86ee75e2a85106700e97f6 14-Jun-2009 Chris Lattner <sabre@nondot.org> move the various builtins stuff from libast to libbasic. This
fixes a layering violation in lib/Basic/Targets.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Basic/BuiltinsX86.def