Pete Cooper
71dfcb42eb
Change test to use regex instead of explicit value numbers. NFC.
...
We were seeing an internal failure when running this test. I can't
see a good reason for the difference, but the simple fix is to use
%{{.*}} instead of %1.
llvm-svn: 268416
2016-05-03 18:32:01 +00:00
Michael Zuckerman
c66770313a
[clang][AVX512][BuiltIn] Adding intrinsics for cast{pd|ps|si}128_{pd|ps|si}512 and castsi256_si512 instruction set
...
Differential Revision: http://reviews.llvm.org/D19858
llvm-svn: 268387
2016-05-03 14:26:52 +00:00
Michael Zuckerman
138fc5b5a8
[Clang][AVX512][Builtin] Adding intrinsics for vcvttpd2udq instruction set
...
Differential Revision: http://reviews.llvm.org/D19768
llvm-svn: 268373
2016-05-03 11:05:24 +00:00
Michael Zuckerman
708e759b86
[Clang][AVX512][BUILTIN] Adding intrinsics for compressstore{df|di|sf|si} instruction set.
...
Differential Revision: http://reviews.llvm.org/D19808
llvm-svn: 268372
2016-05-03 10:42:46 +00:00
Michael Zuckerman
5f0e96e56a
[CLANG][AVX512][BUILTIN]movap{d|s}{128|256|512}
...
Differential Revision: http://reviews.llvm.org/D17818
llvm-svn: 268230
2016-05-02 14:02:01 +00:00
Michael Zuckerman
d6e68ce75f
[Clang][AVX512][BuiltIn] Adding intrinsics for cvtps2pd instruction set
...
Differential Revision: http://reviews.llvm.org/D19774
llvm-svn: 268217
2016-05-02 09:42:31 +00:00
Michael Zuckerman
6a0e0871db
[Clang][avx512][builtin] Adding intrinsics for vexpand{d|q|ps|pd} instrctuon set
...
Differential Revision: http://reviews.llvm.org/D19467
llvm-svn: 268214
2016-05-02 08:36:41 +00:00
Michael Zuckerman
c62f27e3f4
[Clang][BuiltIn][avx512] Adding intrinsics for vpshufd instruction set
...
Differential Revision: http://reviews.llvm.org/D19580
llvm-svn: 268213
2016-05-02 07:35:27 +00:00
Michael Zuckerman
ac1e519944
[clang][Builtin][AVX512] Adding intrinsics for vmovshdup and vmovsldup instruction set
...
Differential Revision: http://reviews.llvm.org/D19595
llvm-svn: 268196
2016-05-01 14:43:43 +00:00
Michael Zuckerman
0b9d105a16
[clang][BuiltIn][AVX512]Adding intrinsics for cmp{ss|sd} instruction set.
...
Differential Revision: http://reviews.llvm.org/D19601
llvm-svn: 268028
2016-04-29 11:01:16 +00:00
Michael Zuckerman
41f5a37707
[Clang][AVX512][Builtin] Adding intrinsics for compress instruction set
...
Differential Revision: http://reviews.llvm.org/D19599
llvm-svn: 268013
2016-04-29 08:52:02 +00:00
Michael Zuckerman
533e065bdc
[Clang][BuiltIn][AVX512] Adding intrinsics fot align{d|q} and palignr instruction set
...
Differential Revision: http://reviews.llvm.org/D19588
llvm-svn: 267876
2016-04-28 12:47:30 +00:00
Michael Zuckerman
8c2900f44d
[Clang][BuiltIn][AVX512] Adding intrinsics without mask for VBROADCAST and VPBROADCAST instruction set .
...
Differential Revision: http://reviews.llvm.org/D19196
llvm-svn: 267696
2016-04-27 11:43:14 +00:00
Michael Zuckerman
7c85a8cb46
[Clang][BuiltIn][AVX512]Adding intrinsics for vmovntdqa vmovntpd vmovntps instruction set
...
Differential Revision: http://reviews.llvm.org/D19529
llvm-svn: 267690
2016-04-27 10:44:15 +00:00
Michael Zuckerman
fa508e8b6d
[Clang][Builtin][AVX512]Adding k-register logic intrinsics KAND, KANDN, KOR, KORTEST, KXNOR, KXOR, KUNPACK instruction set.
...
Differential Revision: http://reviews.llvm.org/D19466
llvm-svn: 267425
2016-04-25 16:42:29 +00:00
Michael Zuckerman
fcf32c2f00
[Clang][AVX512][BUILTIN] Adding intrinsics for VSCATTERPF{1|0}{DPS|QPS|DPD|QPD} instruction set
...
Differential Revision: http://reviews.llvm.org/D19313
llvm-svn: 267398
2016-04-25 13:01:40 +00:00
Michael Zuckerman
8938e836c4
[Clang][AVX512][BuiltIn] Adding support to intrinsics of VPERMD and VPERMW instruction set
...
Differential Revision: http://reviews.llvm.org/D19195
llvm-svn: 267380
2016-04-25 05:32:35 +00:00
Michael Zuckerman
743d68c3cb
[clang][AVX512][Builtin] adding intrinsics for vf{n}madd{ss|sd} and vf{n}sub{ss|sd} instruction set
...
Differential Revision: http://reviews.llvm.org/D19320
llvm-svn: 267135
2016-04-22 10:56:24 +00:00
Michael Zuckerman
a1ceca20b6
[Clang][AVX512][BUILTIN] Adding scalar intrinsics for rsqrt14 ,rcp14, getexp and getmant instruction set
...
Differential Revision: http://reviews.llvm.org/D19326
llvm-svn: 267129
2016-04-22 10:06:10 +00:00
Michael Zuckerman
4fa96af4db
[Clang][AVX512][BuiltIn] Adding intrinsics of VGATHER{DPS|DPD} , VPGATHER{QD|QQ|DD|DQ} and VGATHERPF{0|1}{DPS|QPS|DPD|QPD} instruction set .
...
Differential Revision: http://reviews.llvm.org/D19224
llvm-svn: 266983
2016-04-21 12:47:27 +00:00
Michael Zuckerman
6fa512cecf
[Clang][Builtin][AVX512] Adding intrinsics for VGETMANT{PD|PS} and VGETEXP{PD|PS} instruction set
...
Differential Revision: http://reviews.llvm.org/D19197
llvm-svn: 266763
2016-04-19 17:10:29 +00:00
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
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
Chad Rosier
803f43bf6d
[x86] Filecheck is case sensitive. Capitalize directives.
...
llvm-svn: 255916
2015-12-17 19:01:55 +00:00
Eric Christopher
cd875efa78
Canonicalize some of the x86 builtin tests and either remove or comment
...
about optimization options.
llvm-svn: 250271
2015-10-14 05:40:21 +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
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
Asaf Badouh
5a26b25471
minor test fix
...
llvm-svn: 238924
2015-06-03 13:42:46 +00:00
Elena Demikhovsky
23fccde1b1
AVX-512: Changed CC parameter in "cmp" intrinsic
...
from i8 to i32 according to the Intel Spec
llvm-svn: 236980
2015-05-11 09:03:41 +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 Blaikie
a953f2825b
Update Clang tests to handle explicitly typed load changes in LLVM.
...
llvm-svn: 230795
2015-02-27 21:19:58 +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
2f25a5a875
[X86] Add more of the AVX512 integer comparision intrinsics. This adds 128 and 256 bit vectors of dwords and qwords.
...
llvm-svn: 227075
2015-01-26 08:11:49 +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
d47dec4690
Fix typo in r225922.
...
llvm-svn: 226297
2015-01-16 18:51:46 +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
062ba618f5
[AVX512] Add CHECK-LABELs to test/CodeGen/avx512f-builtins.c
...
llvm-svn: 214095
2014-07-28 17:14:36 +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