Joerg Sonnenberger
|
c2f91c37e8
|
Don't depend on undefined macros being 0, there are options for the
preprocessor to warn about it.
llvm-svn: 147466
|
2012-01-03 19:22:38 +00:00 |
NAKAMURA Takumi
|
96d77daa49
|
clang/lib/Headers/CMakeLists.txt: Unbreak cmake build.
llvm-svn: 147373
|
2011-12-30 10:38:16 +00:00 |
Craig Topper
|
b4ceb6fd52
|
Add FMA4 intrinsics.
llvm-svn: 147372
|
2011-12-30 09:15:03 +00:00 |
Craig Topper
|
ba418d8e91
|
Remove an accidental change from r147370. Would only break if the new fma4 flag was used.
llvm-svn: 147371
|
2011-12-30 07:35:49 +00:00 |
Craig Topper
|
ffdb46ceef
|
Add FMA4 feature flag. Intrinsics coming soon. Also make sse4a feature flag imply sse3. Matches gcc behavior.
llvm-svn: 147370
|
2011-12-30 07:33:42 +00:00 |
Richard Smith
|
6b751dc2c6
|
Unbreak cmake build after r147340.
llvm-svn: 147355
|
2011-12-29 21:42:29 +00:00 |
Craig Topper
|
1de8348db7
|
Add popcnt feature flag to match gcc. This flag is implied when sse42 is enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc.
llvm-svn: 147340
|
2011-12-29 16:10:46 +00:00 |
NAKAMURA Takumi
|
9a3f299f0e
|
clang/lib/Headers/CMakeLists.txt: Unbreak cmake build to add bmi2intrin.h since r147275.
llvm-svn: 147276
|
2011-12-26 03:20:06 +00:00 |
Craig Topper
|
c334dd68a7
|
Add BMI2 intrinsics.
llvm-svn: 147275
|
2011-12-26 02:31:10 +00:00 |
NAKAMURA Takumi
|
dceeeb8918
|
lib/Headers/CMakeLists.txt: Fix cmake build since r147263, for two missing headers.
llvm-svn: 147266
|
2011-12-25 12:47:46 +00:00 |
Craig Topper
|
a06d4a1c40
|
Add the rest of the BMI intrinsics.
llvm-svn: 147265
|
2011-12-25 07:27:12 +00:00 |
Craig Topper
|
f2855ade2b
|
Add intrinsics for lzcnt and tzcnt instructions.
llvm-svn: 147263
|
2011-12-25 06:25:37 +00:00 |
Craig Topper
|
22967d4a61
|
Add BMI, BMI2, and LZCNT feature flags to enable adding intrinsics.
llvm-svn: 147262
|
2011-12-25 05:06:45 +00:00 |
Craig Topper
|
175543ac78
|
Add last of the AVX2 intrinsics except for gather.
llvm-svn: 147253
|
2011-12-24 17:20:15 +00:00 |
Craig Topper
|
9f00948a82
|
Add AVX2 permute intrinsics. Also add parentheses on some macro arguments in other intrinsic headers.
llvm-svn: 147241
|
2011-12-24 07:55:14 +00:00 |
Craig Topper
|
9479895928
|
Add AVX2 intrinsics for FP vbroadcast, vbroadcasti128, and vpblendd.
llvm-svn: 147239
|
2011-12-24 05:19:29 +00:00 |
Craig Topper
|
a6fdbd1807
|
Intrinsics for AVX2 unpack instructions.
llvm-svn: 147237
|
2011-12-24 03:58:43 +00:00 |
Craig Topper
|
f4bb952533
|
More AVX2 intrinsics for shift, psign, some shuffles, and psadbw.
llvm-svn: 147236
|
2011-12-24 03:28:57 +00:00 |
Craig Topper
|
235a365d58
|
Add AVX2 multiply intrinsics.
llvm-svn: 147219
|
2011-12-23 08:31:16 +00:00 |
Craig Topper
|
1f2460ad43
|
Add AVX2 intrinsics for max, min, sign extend, and zero extend.
llvm-svn: 147141
|
2011-12-22 09:18:58 +00:00 |
Craig Topper
|
a73baa8050
|
Add a few more AVX2 intrinsics and fix the type strings on a couple SSE intrinsics.
llvm-svn: 147048
|
2011-12-21 08:35:05 +00:00 |
Craig Topper
|
3fe5ac40db
|
Add AVX2 horizontal add/sub intrinsics.
llvm-svn: 147047
|
2011-12-21 08:17:40 +00:00 |
Craig Topper
|
a89747dd1e
|
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 >.
llvm-svn: 146969
|
2011-12-20 09:55:26 +00:00 |
Craig Topper
|
a557e1c122
|
Add AVX2 intrinsics for and, andn, or, and xor.
llvm-svn: 146862
|
2011-12-19 09:03:48 +00:00 |
Craig Topper
|
94aba2c260
|
More AVX2 intrinsic support including saturating add/sub and palignr.
llvm-svn: 146857
|
2011-12-19 07:03:25 +00:00 |
Craig Topper
|
dec792ebb5
|
Begin adding AVX2 intrinsics. Necessitated increasing the number of bits used to store builtinID when serializing identifier table.
llvm-svn: 146855
|
2011-12-19 05:04:33 +00:00 |
Chad Rosier
|
7caca84ce4
|
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
llvm-svn: 146810
|
2011-12-17 01:51:05 +00:00 |
Chad Rosier
|
93375d5fa5
|
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.
llvm-svn: 146807
|
2011-12-17 01:39:56 +00:00 |
Chad Rosier
|
0adfe7aa2f
|
Fix _mm256_extractf128_* AVX intrinsics to use "I" (ICE) markings. Fix
avxintrin.h to take them into account.
Part of rdar://10595450
llvm-svn: 146804
|
2011-12-17 01:22:27 +00:00 |
Chad Rosier
|
3648646b2b
|
Partial revert of r146791; vpermilps/vpermilpd instructions accepts ymm/mem/imm8.
llvm-svn: 146797
|
2011-12-17 00:50:42 +00:00 |
Chad Rosier
|
060d03be1c
|
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
llvm-svn: 146791
|
2011-12-17 00:15:26 +00:00 |
Chad Rosier
|
33d22d8def
|
Fix vinsertf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to
take them into account.
rdar://10590282
llvm-svn: 146758
|
2011-12-16 21:40:31 +00:00 |
Chad Rosier
|
9138fea25e
|
Fix vperm2f128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to
take them into account.
rdar://10576962
llvm-svn: 146757
|
2011-12-16 21:07:34 +00:00 |
Bob Wilson
|
16c4195548
|
Fix obvious error in _mm_test_all_zeros. PR11565.
Patch by Mathias Gaunard!
llvm-svn: 146565
|
2011-12-14 17:17:16 +00:00 |
Chandler Carruth
|
222c66db38
|
Fix a blatant typo or cut/paste-o reported by users of this header.
llvm-svn: 146251
|
2011-12-09 09:23:55 +00:00 |
Rafael Espindola
|
7a284b2e78
|
Use default visibility in the the symbols declared in unwind.h. This matches
the behavior of gcc's unwind.h.
llvm-svn: 146208
|
2011-12-09 00:08:01 +00:00 |
Rafael Espindola
|
18c7920d6b
|
Add a minimal unwind.h that knows how to forward to the system one in systems
that have it in /usr/include (only OS X Lion so far).
llvm-svn: 146140
|
2011-12-08 05:01:39 +00:00 |
Daniel Dunbar
|
e946e361ab
|
Headers: wmmintrin.h only needs xmmintrin.h.
- Fixes <rdar://problem/10261246> clang -maes option is not sufficient to
include <wmmintrin.h>
llvm-svn: 145939
|
2011-12-06 16:17:54 +00:00 |
Rafael Espindola
|
488ea473db
|
Install cpuid.h when building with cmake too.
llvm-svn: 145935
|
2011-12-06 15:46:47 +00:00 |
Rafael Espindola
|
49118520de
|
Fix comment.
llvm-svn: 145271
|
2011-11-28 20:05:27 +00:00 |
Rafael Espindola
|
0618d14edf
|
Error on non x86 architectures.
llvm-svn: 145185
|
2011-11-27 15:21:33 +00:00 |
Rafael Espindola
|
fd03d0b733
|
Fix file name in comments.
llvm-svn: 145184
|
2011-11-27 15:13:54 +00:00 |
Rafael Espindola
|
d086573a4d
|
Add the minimum implementation of cpuid.h. This works on "modern" intel cpus
and on clang, which seams to handled "=b" correctly even when ebx is the
PIC register.
llvm-svn: 145149
|
2011-11-26 20:53:19 +00:00 |
Eli Friedman
|
f16beb3942
|
Fix some additional x86 intrinsics to use "I" (ICE) markings. Fix *mmintrin.h to take them into account.
<rdar://problem/10341145>
llvm-svn: 144246
|
2011-11-10 00:11:13 +00:00 |
Eli Friedman
|
9586cdb01e
|
Misc fixes to pcmp*stri.
llvm-svn: 144073
|
2011-11-08 04:13:51 +00:00 |
Bob Wilson
|
c9b97cc1da
|
Fix vector macros to correctly check argument types. <rdar://problem/10261670>
llvm-svn: 143792
|
2011-11-05 06:08:06 +00:00 |
Eli Friedman
|
89c11337ba
|
Add _mm_comige_sd to emmintrin.h, since I apparently forgot to do this in r138769.
<rdar://problem/10230751>
llvm-svn: 141310
|
2011-10-06 20:31:50 +00:00 |
Peter Collingbourne
|
d937a99465
|
Clang-side build system infrastructure for multiple tblgens.
llvm-svn: 141267
|
2011-10-06 01:52:10 +00:00 |
Peter Collingbourne
|
2f3cf4b158
|
Add support for alignment-specifiers in C1X and C++11, remove
support for the C++0x draft [[align]] attribute and add the C1X
standard header file stdalign.h
llvm-svn: 140796
|
2011-09-29 18:04:28 +00:00 |
Eli Friedman
|
9bb51adcce
|
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
llvm-svn: 139874
|
2011-09-15 23:15:27 +00:00 |