Michael Zuckerman
ef2979af50
[Clang][AVX512][BUILTIN] Adding intrinsics support to VEXTRACT{I|F} and VINSERT{I|F} instruction set
...
Differential Revision: http://reviews.llvm.org/D19097
llvm-svn: 266745
2016-04-19 15:18:23 +00:00
Michael Zuckerman
0a3508a8d3
[Clang][AVX512][BUILTIN] Adding support for intrinsics of vpmov{d|q}{b|w|d}{128|256|512} instruction set
...
Differential Revision: http://reviews.llvm.org/D19055
llvm-svn: 266280
2016-04-14 07:56:51 +00:00
Michael Zuckerman
d871531687
[Clang][AVX512][Builtin] Adding intrinsics of vpmovus{d|q}{b|w|d}{128|256|512} instruction set
...
Differential Revision: http://reviews.llvm.org/D19050
llvm-svn: 266278
2016-04-14 06:48:09 +00:00
Michael Zuckerman
e1680617b0
[Clang][AVX512][Builtin] Adding support to intrinsics of pmovs{d|q}{b|w|d}{128|256|512} instruction set
...
Differential Revision: http://reviews.llvm.org/D19023
llvm-svn: 266202
2016-04-13 15:02:04 +00:00
Michael Zuckerman
04fb3bc682
[Clang][BuiltIn][avx512] Adding avx512 (shuf,sqrt{ss|sd},rsqrt ) builtin to clang
...
llvm-svn: 266048
2016-04-12 07:59:39 +00:00
Michael Zuckerman
81f468c859
[Clang][AVX512][BuiltIn] Adding avx512 ( psll{d|q}512,psllv{16si|8di},psra{d|q}512,psrav{16si|8di},pternlog{d|q}{128|256|512} ) builtin to clang
...
Differential Revision: http://reviews.llvm.org/D18926
llvm-svn: 265964
2016-04-11 17:04:21 +00:00
Michael Zuckerman
6b5f4d8ad1
[CLANG] [AVX512] [BUILTIN] Adding PSRA{Q|D|QI|DI}{128|256|512} builtin
...
Differential Revision: http://reviews.llvm.org/D17693
llvm-svn: 265952
2016-04-11 15:46:39 +00:00
Michael Zuckerman
1af947a7b3
[Clang][AVX512][BuiltIn] Adding avx512 ( punpck{h|l}{dq|qdq}{128|256|512},rndscale{ss|sd}, {scalef{ss|sd|pd512|ps512} ) builtin to clang
...
Differential Revision: http://reviews.llvm.org/D18929
llvm-svn: 265935
2016-04-11 12:32:31 +00:00
Michael Zuckerman
07525091e6
[Clang][AVX512][BuiltIn] Adding avx512 ( ptest{n}m{b|w}{128|256|512} ) builtin to clang
...
Differential Revision: http://reviews.llvm.org/D18924
llvm-svn: 265928
2016-04-11 10:22:07 +00:00
Michael Zuckerman
d8d2f62107
[Clang][AVX512][BuiltIn] Adding avx512 ( vperm{i|t}2var, vpermil{var}{ps|pd}{256|512} ) builtin to clang.
...
Differential Revision: http://reviews.llvm.org/D18933
llvm-svn: 265915
2016-04-11 07:15:34 +00:00
Michael Zuckerman
8d16199b7b
[Clang][AVX512][BuiltIn] Adding avx512 ( vcvt ) builtin to clang
...
Differential Revision: http://reviews.llvm.org/D18932
llvm-svn: 265904
2016-04-10 17:24:03 +00:00
Michael Zuckerman
cdd54c83d8
Adding avx512 (unpck{h|l}{pd|ps}, rcp14{pd|ps}{128|256},vplzcnt{d|q} ) builtin to clang
...
Differential Revision: http://reviews.llvm.org/D18931
llvm-svn: 265896
2016-04-10 12:54:23 +00:00
Michael Zuckerman
def78750b7
[CLANG][avx512][BUILTIN] Adding fixupimm{pd|ps|sd|ss}
...
getexp{sd|ss} getmant{sd|ss} kunpck{di|si} loada{pd|ps} loaddqu{di|hi|qi|si} max{sd|ss} min{sd|ss} kmov16 builtins to clang
Differential Revision: http://reviews.llvm.org/D18215
llvm-svn: 264574
2016-03-28 12:23:09 +00:00
Michael Zuckerman
e71d59fc4f
[CLANG][AVX512][BUILTIN] Add builtin vcomi{ss|sd}
...
Differential Revision: http://reviews.llvm.org/D17919
llvm-svn: 262847
2016-03-07 19:15:00 +00:00
Michael Zuckerman
0d67e4b5d6
[CLANG][AVX512][BUILTIN] movddup{128|256|512}
...
Differential Revision: http://reviews.llvm.org/D17826
llvm-svn: 262617
2016-03-03 13:43:05 +00:00
Michael Zuckerman
ffbb67a8e2
[CLANG][AVX512][BUILTIN] movdqa{32|64}{load|store|}{128|256|512}
...
Differential Revision: http://reviews.llvm.org/D17812
llvm-svn: 262598
2016-03-03 09:26:01 +00:00
Michael Zuckerman
d176d744af
[CLANG][AVX512][BUILTIN] Adding PSRL{DI|QI}{128|256|512} builtin
...
Differential Revision: http://reviews.llvm.org/D17714
llvm-svn: 262355
2016-03-01 17:49:03 +00:00
Michael Zuckerman
1ac360cca4
[CLANG] [AVX512] [BUILTIN] Adding PSRA{Q|D|QI|DI}{128|256|512} builtin
...
Differential Revision: http://reviews.llvm.org/D17693
llvm-svn: 262321
2016-03-01 11:38:16 +00:00
Michael Zuckerman
e98cc7477f
[CLANG] [AVX512] [BUILTIN] Adding prorv{d|q}{128|256|512} builtin to clang
...
Differential Revision: http://reviews.llvm.org/D17512
llvm-svn: 261641
2016-02-23 15:59:47 +00:00
Michael Zuckerman
4924c7a2b5
[CLANG] [AVX512] [BUILTIN] Adding pro{lv|r}{d|q}{128|256|512} builtin to clang
...
Adding closer to the end of macro }->})
Differential Revision: http://reviews.llvm.org/D17506
llvm-svn: 261638
2016-02-23 14:23:53 +00:00
Michael Zuckerman
0231f1649b
[CLANG] [AVX512] [BUILTIN] Adding pro{lv|r}{d|q}{128|256|512} builtin to clang
...
Differential Revision: http://reviews.llvm.org/D17506
llvm-svn: 261635
2016-02-23 13:41:13 +00:00
Michael Zuckerman
38a2727764
[CLANG] [AVX512] [BUILTIN] Adding prol{d|q|w}{128|256|512} builtin to clang .
...
Differential Revision: http://reviews.llvm.org/D16985
llvm-svn: 261516
2016-02-22 09:05:41 +00:00
Michael Zuckerman
7a33dce4ef
[CLANG] [AVX512] [BUILTIN] Adding pmovzx{b|d|w}{w|d|q}{128|256|512} builtin to clang
...
Differential Revision: http://reviews.llvm.org/D16961
llvm-svn: 261471
2016-02-21 14:00:11 +00:00
Michael Zuckerman
7cdb72f7ea
[CLANG] [AVX512] [BUILTIN] Adding pmovsx{b|d|w}{w|d|q}{128|256|512} builtin to clang
...
Differential Revision: http://reviews.llvm.org/D16955
llvm-svn: 261196
2016-02-18 09:09:34 +00:00
Igor Breger
9c2a0bfa13
AVX512: Change builtin function name for scalar intrinsics. Add "mask" to function name to reflect the function behavior.
...
Differential Revision: http://reviews.llvm.org/D16957
llvm-svn: 260088
2016-02-08 12:36:48 +00:00
Adam Nemet
e708747129
[AVX512] Fix typo in r226298
...
Hal noticed that the double/float got mixed up on the parameters for
these.
llvm-svn: 258108
2016-01-19 02:02:25 +00:00
Asaf Badouh
5e4248b4e0
[x86][avx512] more changes in intrinsics to be align with gcc format
...
Differential Revision: http://reviews.llvm.org/D15328
llvm-svn: 255012
2015-12-08 12:34:38 +00:00
Asaf Badouh
3e5111e313
[avx512] rename gcc intrinsics to be align with gcc format
...
rename the gcc intrinsics suffix : _mask ->_round
Differential Revision: http://reviews.llvm.org/D15284
llvm-svn: 254906
2015-12-07 13:14:22 +00:00
Craig Topper
3a71f35a67
[X86] Remove temporary variables from intrinsic macros. NFC
...
llvm-svn: 254247
2015-11-29 06:50:33 +00:00
Craig Topper
991d499457
Fix a couple intrinsic header comments. NFC
...
llvm-svn: 251900
2015-11-03 06:16:31 +00:00
Michael Kuperstein
5c2cb0eee2
[X86] Fix some non-reserved parameter names in intrinsic headers
...
Differential Revision: http://reviews.llvm.org/D13009
llvm-svn: 248150
2015-09-21 11:45:27 +00:00
Simon Pilgrim
5aba9925c0
[X86][SSE] Add _mm_undefined_* intrinsics
...
Added missing SSE/AVX 'undefined' intrinsics (PR24040):
_mm_undefined_pd, _mm_undefined_ps + _mm_undefined_si128
_mm256_undefined_pd, _mm256_undefined_ps + _mm256_undefined_si256
_mm512_undefined, _mm512_undefined_ps, _mm512_undefined_pd + _mm512_undefined_epi32
Added builtin intrinsicss:
__builtin_ia32_undef128, __builtin_ia32_undef256 + __builtin_ia32_undef512
Differential Revision: http://reviews.llvm.org/D12052
llvm-svn: 246083
2015-08-26 21:17:12 +00:00
Asaf Badouh
f6a58b6dff
[X86][AVX512F] Add FP scalar intrinsics
...
intrinsics for: add/sub/mul/div/min/max in their FP scalar versions
Differential Revision: http://reviews.llvm.org/D11418
llvm-svn: 243009
2015-07-23 12:13:32 +00:00
Asaf Badouh
ffeb624483
[X86][AVX512F] add FP arithmetic intrinsics
...
add/div/mul/sub include rounding versions
Differential Revision: http://reviews.llvm.org/D11354
llvm-svn: 242790
2015-07-21 15:27:28 +00:00
Michael Kuperstein
e45af54cdb
[X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR
...
llvm-svn: 241065
2015-06-30 13:36:19 +00:00
Elena Demikhovsky
c563c2c61a
AVX-512: Implemented AVX-512 FMA intrinsics and tests.
...
by Igor Breger
http://reviews.llvm.org/D10797
llvm-svn: 240928
2015-06-29 09:20:57 +00:00
Eric Christopher
9fc7fb274e
Update the intel intrinsic headers to use the target attribute support.
...
This involved removing the conditional inclusion and replacing them
with target attributes matching the original conditional inclusion
and checks. The testcase update removes the macro checks for each
file and replaces them with usage of the __target__ attribute, e.g.:
int __attribute__((__target__(("sse3")))) foo(int a) {
_mm_mwait(0, 0);
return 4;
}
This usage does require the enclosing function have the requisite
__target__ attribute for inlining and code generation - also for
any macro intrinsic uses in the enclosing function. There's no change
for existing uses of the intrinsic headers.
llvm-svn: 239883
2015-06-17 07:09:32 +00:00
Eric Christopher
4d185168e9
Use a define for per-file function attributes for the Intel intrinsic headers.
...
This is a precursor to changing them to use the new target attribute
code.
llvm-svn: 239882
2015-06-17 07:09:20 +00:00
Elena Demikhovsky
35dc8c0944
AVX-512: added intrinsics for KNL and SKX
...
by Asaf Badouh (asaf.badouh@intel.com )
llvm-svn: 235986
2015-04-28 13:28:01 +00:00
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