Simon Pilgrim
|
427154db2a
|
[X86][AVX512] Converted the VSHUFPD intrinsics to generic IR
llvm-svn: 274523
|
2016-07-04 21:30:47 +00:00 |
Simon Pilgrim
|
30db811526
|
[X86][AVX512] Converted the VPERMPD/VPERMQ intrinsics to generic IR
llvm-svn: 274502
|
2016-07-04 13:34:44 +00:00 |
Craig Topper
|
ac1823f6e9
|
[AVX512] Modify what indices we emit for the zero vector we use for zero extension of the result of a v2i1 or v4i1 masked compare. This way we emit something that the backend easily interprets as a concatenation rather than a true shuffle. This delivers slightly better codegen with the current backend capabilities.
llvm-svn: 274484
|
2016-07-04 07:09:46 +00:00 |
Simon Pilgrim
|
275d721485
|
[X86][AVX512] Converted the MOVDDUP/MOVSLDUP/MOVSHDUP masked intrinsics to generic IR
llvm companion patch imminent
llvm-svn: 274442
|
2016-07-02 17:16:25 +00:00 |
Craig Topper
|
b3a4477b13
|
[X86] Replace 128-bit and 256 masked vpermilps/vpermilpd builtins with native IR.
llvm-svn: 274425
|
2016-07-02 05:36:43 +00:00 |
Igor Breger
|
2c880cf9b1
|
[AVX512] Zero extend cmp intrinsic return value.
Differential Revision: http://reviews.llvm.org/D21746
llvm-svn: 274110
|
2016-06-29 08:14:17 +00:00 |
Artur Pilipenko
|
70d4bb566c
|
Update the expected masked load/store intrinsics names in tests
The mangling of their names was changed in order to support arbitrary addrspace pointers as arguments in rL274043.
llvm-svn: 274044
|
2016-06-28 18:28:45 +00:00 |
Craig Topper
|
79f53ca0b5
|
[AVX512] Replace masked unpack builtins with shufflevector and selects.
llvm-svn: 273533
|
2016-06-23 06:36:42 +00:00 |
Craig Topper
|
d1691c7026
|
[AVX512] Replace masked integer cmp and ucmp builtins with native IR.
llvm-svn: 273378
|
2016-06-22 04:47:58 +00:00 |
Craig Topper
|
879b0978f4
|
[AVX512] Move the 128-bit and 256-bit lzcnt intrinsics to avx512vlcdintrin.h where they belong.
llvm-svn: 273249
|
2016-06-21 06:53:58 +00:00 |
Craig Topper
|
a54c21e742
|
[AVX512] Use native IR for mask pcmpeq/pcmpgt intrinsics.
llvm-svn: 272787
|
2016-06-15 14:06:34 +00:00 |
Craig Topper
|
fc07498e4a
|
[AVX512] Masked pcmpeqd, pcmpeqq, pcmpgtd, and pcmpgtq don't require avx512bw, just avx512vl.
llvm-svn: 272532
|
2016-06-13 04:15:11 +00:00 |
Craig Topper
|
46422562f5
|
[AVX512] Use a regular expression instead of checking for a specific name in a CHECK line in test.
llvm-svn: 272470
|
2016-06-11 13:35:43 +00:00 |
Craig Topper
|
7cc9263ec2
|
[AVX512] Implement masked and 512-bit pshufd intrinsics directly with __builtin_shufflevector and __builtin_ia32_select.
llvm-svn: 272467
|
2016-06-11 12:50:19 +00:00 |
Igor Breger
|
aadb876200
|
[AVX512] Emit select instruction instead of using x86 specific instrinsics.
This will allow us to remove the x86 instrinics from the backend.
Differential Revision: http://reviews.llvm.org/D21060
llvm-svn: 272141
|
2016-06-08 13:59:20 +00:00 |
Craig Topper
|
4d302448ae
|
[AVX512] Remove 512-bit andnot tests from the avx512vl test file.
llvm-svn: 271795
|
2016-06-04 16:37:38 +00:00 |
Michael Zuckerman
|
9e7d0a98fa
|
[Clang][AVX512][INTRINSICS] adding round cvt and fix regular cvtps_ph
Differential Revision: http://reviews.llvm.org/D20870
llvm-svn: 271498
|
2016-06-02 07:44:08 +00:00 |
Craig Topper
|
4b060e31c9
|
[AVX512] Convert masked load builtins to generic masked load intrinsics instead of the x86 specific ones.
This will allow the x86 intrinsics to be removed from the backend.
llvm-svn: 271253
|
2016-05-31 06:58:07 +00:00 |
Craig Topper
|
6e891fbdd2
|
[AVX512] Emit generic masked store instrinsics instead of using x86 specific intrinsics.
This will allow us to remove the x86 instrinics from the backend.
llvm-svn: 271246
|
2016-05-31 01:50:10 +00:00 |
Michael Zuckerman
|
eb5f178c4b
|
Fix instrinsics names:
_mm128_cmp_ps_mask-->_mm_cmp_ps_mask
_mm128_mask_cmp_ps_mask-->_mm_mask_cmp_ps_mask
_mm128_cmp_pd_mask-->_mm_cmp_pd_mask
_mm128_mask_cmp_pd_mask-->_mm_mask_cmp_pd_mask
llvm-svn: 270830
|
2016-05-26 08:10:12 +00:00 |
Michael Zuckerman
|
e6542002fc
|
[Clang][AVX512][BUILTIN]adding missing intrinsics for movdaq instruction set
Differential Revision: http://reviews.llvm.org/D20514
llvm-svn: 270401
|
2016-05-23 08:01:48 +00:00 |
Craig Topper
|
39c871038a
|
[X86] Add immediate range checks for many of the builtins.
This time allow -128 to 255 for builtins that use a char type immediate."
llvm-svn: 269878
|
2016-05-18 03:18:12 +00:00 |
Filipe Cabecinhas
|
09fbfcafc3
|
Revert "[X86] Add immediate range checks for many of the builtins."
This reverts commit r269619.
llvm-svn: 269765
|
2016-05-17 14:07:43 +00:00 |
Craig Topper
|
0f7ea93541
|
[X86] Add immediate range checks for many of the builtins.
llvm-svn: 269619
|
2016-05-15 22:18:00 +00:00 |
Michael Zuckerman
|
8bfb7776e4
|
[Clang][AVX512][Builtin] Adding intrinsics for vcvt{ph|ps}2{ps|ph} instruction set
Differential Revision: http://reviews.llvm.org/D19767
llvm-svn: 268376
|
2016-05-03 12:45:04 +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
|
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
|
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
|
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
|
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
|
c2b6128a8f
|
[Clang][AVX512][Builtin] Adding support for VBROADCAST and VPBROADCASTB/W/D/Q instruction set
Differential Revision: http://reviews.llvm.org/D19012
llvm-svn: 266195
|
2016-04-13 12:58:01 +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
|
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
|
fa7ccc5bcf
|
[Clang][AVX512][BuiltIn] Adding avx512 ( store ) builtin to clang
Differential Revision: http://reviews.llvm.org/D18925
llvm-svn: 265895
|
2016-04-10 10:51:04 +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
|
912be16a0e
|
[CLANG][AVX512][BUILTIN] Adding vpmultishiftqb{128|256|512}
Differential Revision: http://reviews.llvm.org/D17914
llvm-svn: 262817
|
2016-03-07 08:29:10 +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
|
d15c95a793
|
[CLANG] [AVX512] [BUILTIN] Adding PSRAV
Differential Revision: http://reviews.llvm.org/D17699
llvm-svn: 262471
|
2016-03-02 09:05:46 +00:00 |