Elena Demikhovsky
29da2fba46
AVX-512: added clang intrinsics for logical and, or xor for 512 bits
...
by Asaf Badouh (asaf.badouh@intel.com )
llvm-svn: 233794
2015-04-01 06:54:16 +00:00
David Majnemer
1cf22e690d
Headers: Don't use attribute keywords which aren't reserved
...
Instead of using 'unavailable', use '__unavailable__'
llvm-svn: 228087
2015-02-04 00:26:10 +00:00
Craig Topper
53565c60e7
[X86] Add other flavors of AVX512 cmpps/cmppd intrinsics.
...
llvm-svn: 227773
2015-02-01 22:27:40 +00:00
Craig Topper
67826a5883
[X86] Rename _mm512_valign_epi64/32 intrinsics to _mm512_alignr_epi64/32 to match Intel docs. Make immediate argument to them an ICE. Fix mask size for the alignd version.
...
llvm-svn: 227713
2015-02-01 07:35:40 +00:00
Craig Topper
72c7d51251
[X86] Change rounding parameter of all the AVX512 builtins to an ICE.
...
llvm-svn: 227712
2015-02-01 07:35:35 +00:00
Craig Topper
4cac1c2318
[X86] Add AVX512F integer comparision intrinsics to header file.
...
llvm-svn: 227067
2015-01-25 23:30:07 +00:00
Adam Nemet
f893edeaea
[AVX512] Add sub-vector FP extracts
...
Analogous to AVX2, these need to be implemented as macros to properly
propagate the immediate index operand.
Part of <rdar://problem/17688758>
llvm-svn: 226496
2015-01-19 20:12:05 +00:00
Craig Topper
f557b09f14
[x86] Mark that the AVX-512 cmpps/cmppd builtins need an ICE for the comparison immediate. This requires converting to a macro in the header file.
...
llvm-svn: 226421
2015-01-19 01:18:19 +00:00
Adam Nemet
c0cff244fc
[AVX512] Add intrinsics for masked aligned FP loads and stores
...
Part of <rdar://problem/17688758>
llvm-svn: 226298
2015-01-16 18:51:50 +00:00
Adam Nemet
63a951eb1c
[AVX512] Add FP unpack intrinsics
...
These are implemented with __builtin_shufflevector just like AVX.
We have some tests on the LLVM side to assert that these shufflevectors do
indeed generate the corresponding unpck instruction.
Part of <rdar://problem/17688758>
llvm-svn: 225922
2015-01-14 01:31:17 +00:00
Robert Khasanov
b9f3a911c9
[AVX512] Added VPCMPEQ intrinisics to headers.
...
Added tests.
Patch by Maxim Blumenthal <maxim.blumenthal@intel.com>
llvm-svn: 219319
2014-10-08 17:18:13 +00:00
Adam Nemet
2278fcbf0c
[AVX512] Add FMA intrinsics
...
Part of <rdar://problem/17688758>
llvm-svn: 215666
2014-08-14 17:17:57 +00:00
Adam Nemet
4abc07cb75
[AVX512] Add intrinsics for FP scalar broadcasts
...
Similar approach to the set1 intrinsics is used: implement in terms of vector
initializers and then ensure with an LLVM test that a broadcast is generated
at the end.
Part of <rdar://problem/17688758>
llvm-svn: 215486
2014-08-13 00:29:01 +00:00
Adam Nemet
5bf7baa938
[AVX512] Add intrinsic for valignd/q
...
Note that similar to palingr, we could further optimize these to emit
shufflevector when the shift count is <=64. This however does not
change the overall design that unlike palignr we would still need the LLVM
intrinsic corresponding to this intruction to handle the >64 cases. (palignr
uses the psrldq intrinsic in this case.)
llvm-svn: 214891
2014-08-05 17:28:23 +00:00
Adam Nemet
da82bcc4dd
[AVX512] Add unaligned FP load intrinsics
...
Part of <rdar://problem/17688758>
llvm-svn: 214380
2014-07-31 04:00:39 +00:00
Adam Nemet
2db1d2fb32
[AVX512] Add intrinsic for knot
...
Part of <rdar://problem/17688758>
llvm-svn: 214316
2014-07-30 16:51:27 +00:00
Adam Nemet
c871ff95f3
[AVX512] Add some of the FP cast intrinsics
...
Part of <rdar://problem/17688758>
llvm-svn: 214315
2014-07-30 16:51:24 +00:00
Adam Nemet
f42e7a274a
[AVX512] Add set1 intrinsics
...
(Dropped the byte and word variants from the patch. Turns out these are not
part of AVX512F but only AVX512BW/VL.)
Part of <rdar://problem/17688758>
llvm-svn: 214314
2014-07-30 16:51:22 +00:00
Adam Nemet
fce1ad0b99
[AVX512] Add non-masking FP store intrinsics
...
Part of <rdar://problem/17688758>
llvm-svn: 214099
2014-07-28 17:14:45 +00:00
Adam Nemet
a3ebe6214b
[AVX512] Add FP add/sub/mul intrinsics
...
Part of <rdar://problem/17688758>
llvm-svn: 214098
2014-07-28 17:14:42 +00:00
Adam Nemet
0d5bb5530d
[AVX512] Reorder functions in avx512fintrin.h
...
There is no functional change here.
The idea is to have a similar order and categories of functions that we have
in avxintrin.h.
llvm-svn: 214097
2014-07-28 17:14:40 +00:00
Adam Nemet
9a3ea60a2c
[AVX512] Bring the formatting of avx512fintrin.h closer to avxintrin.h
...
llvm-svn: 214096
2014-07-28 17:14:38 +00:00
Elena Demikhovsky
fcc6df310d
AVX-512: Added intrinsics to clang.
...
The set is small, that what I have right now.
Everybody is welcome to add more.
llvm-svn: 213641
2014-07-22 11:31:39 +00:00