Igor Breger
98a045c978
AVX512: Add encoding tests for vscatter instructions
...
Differential Revision: http://reviews.llvm.org/D11941
llvm-svn: 246431
2015-08-31 11:33:50 +00:00
Igor Breger
f2460112ad
Implemented encoding and intrinsics of the following instructions
...
vunpckhps/pd, vunpcklps/pd,
vpunpcklbw, vpunpckhbw, vpunpcklwd, vpunpckhwd, vpunpckldq, vpunpckhdq, vpunpcklqdq, vpunpckhqdq
Added tests for intrinsics and encoding.
Differential Revision: http://reviews.llvm.org/D11509
llvm-svn: 243246
2015-07-26 14:41:44 +00:00
Igor Breger
074a64e72c
AVX-512: Implemented encoding , DAG lowering and intrinsics for Integer Truncate with/without saturation
...
Added tests for DAG lowering ,encoding and intrinsic
Differential Revision: http://reviews.llvm.org/D11218
llvm-svn: 243122
2015-07-24 17:24:15 +00:00
Chandler Carruth
fe414353db
Revert r242990: "AVX-512: Implemented encoding , DAG lowering and ..."
...
This commit broke the build. Numerous build bots broken, and it was
blocking my progress so reverting.
It should be trivial to reproduce -- enable the BPF backend and it
should fail when running llvm-tblgen.
llvm-svn: 242992
2015-07-23 08:03:44 +00:00
Igor Breger
da1b2ea955
AVX-512: Implemented encoding , DAG lowering and intrinsics for Integer Truncate with/without saturation
...
Added tests for DAG lowering ,encoding and intrinsic
Differential Revision: http://reviews.llvm.org/D11218
llvm-svn: 242990
2015-07-23 07:39:21 +00:00
Asaf Badouh
a5b2e5e2a7
[X86][AVX512] add reduce/range/scalef/rndScale
...
include encoding and intrinsics
Differential Revision: http://reviews.llvm.org/D11222
llvm-svn: 242896
2015-07-22 12:00:43 +00:00
Elena Demikhovsky
0f370936a0
AVX-512: Added all AVX-512 forms of Vector Convert for Float/Double/Int/Long types.
...
In this patch I have only encoding. Intrinsics and DAG lowering will be in the next patch.
I temporary removed the old intrinsics test (just to split this patch).
Half types are not covered here.
Differential Revision: http://reviews.llvm.org/D11134
llvm-svn: 242023
2015-07-13 13:26:20 +00:00
Igor Breger
a7a8e9a018
AVX-512: Implemented missing encoding and intrinsics for FMA instructions
...
Added tests for DAG lowering ,encoding and intrinsics
Differential Revision: http://reviews.llvm.org/D10796
llvm-svn: 240926
2015-06-29 09:10:00 +00:00
Asaf Badouh
7ec4b7a8bb
[x86][AVX512]
...
Add vscalef support
include encoding and intrinsics
review:
http://reviews.llvm.org/D10730
llvm-svn: 240906
2015-06-28 14:30:39 +00:00
Elena Demikhovsky
d3057e5e37
AVX-512: (fixed) Added encoding of all forms of VPERMT2W/D/Q/PS/PD and VPERMI2W/D/Q/PS/PD.
...
Intrinsics and tests for them are comming in the next patch.
llvm-svn: 240003
2015-06-18 08:56:19 +00:00
Elena Demikhovsky
4f13f3f9b8
reverted 239999 due to test failures
...
llvm-svn: 240001
2015-06-18 08:06:49 +00:00
Elena Demikhovsky
975a637cd9
AVX-512: Added encoding of all forms of VPERMT2W/D/Q/PS/PD
...
and VPERMI2W/D/Q/PS/PD.
Intrinsics and tests for them are comming in the next patch.
llvm-svn: 239999
2015-06-18 07:29:40 +00:00
Igor Breger
00d9f8457b
AVX-512: Implemented 256/128bit VALIGND/Q instructions for SKX and KNL
...
Implemented DAG lowering for all these forms.
Added tests for DAG lowering and encoding.
Differential Revision: http://reviews.llvm.org/D10310
llvm-svn: 239300
2015-06-08 14:03:17 +00:00
Asaf Badouh
402ebb34af
re-apply 238809
...
AVX-512: Implemented GETEXP instruction for KNL and SKX
Added rounding mode modifier for SQRTPS/PD
Added tests for encoding and intrinsics.
CR:
http://reviews.llvm.org/D9991
llvm-svn: 238923
2015-06-03 13:41:48 +00:00
Elena Demikhovsky
9e38086534
AVX-512: Implemented SHUFF32x4/SHUFF64x2/SHUFI32x4/SHUFI64x2 instructions for SKX and KNL.
...
Added tests for encoding.
By Igor Breger (igor.breger@intel.com )
llvm-svn: 238917
2015-06-03 10:56:40 +00:00
Asaf Badouh
8d897dd05f
revert 238809
...
llvm-svn: 238810
2015-06-02 07:45:19 +00:00
Asaf Badouh
17de10f37e
AVX-512: Implemented GETEXP instruction for KNL and SKX
...
Added rounding mode modifier for SQRTPS/PD
Added tests for encoding and intrinsics.
llvm-svn: 238809
2015-06-02 07:18:14 +00:00
Asaf Badouh
f6289f24f7
First commit test.
...
llvm-svn: 238745
2015-06-01 13:56:00 +00:00
Elena Demikhovsky
75ede68793
AVX-512: added all forms of VPSHUFD and VPSHUFHW, VPSHUFLW
...
including encodings.
llvm-svn: 238729
2015-06-01 07:17:23 +00:00
Elena Demikhovsky
42c96d9c0a
AVX-512: Implemented VFIXUPIMMPD and VFIXUPIMMPS instructions for KNL and SKX
...
Implemented DAG lowering for all these forms.
Added tests for encoding.
by Igor Breger (igor.breger@intel.com )
llvm-svn: 238728
2015-06-01 06:50:49 +00:00
Elena Demikhovsky
3948c590e3
AVX-512: Implemented all forms of sign-extend and zero-extend instructions for KNL and SKX
...
Implemented DAG lowering for all these forms.
Added tests for DAG lowering and encoding.
By Igor Breger (igor.breger@intel.com )
llvm-svn: 238301
2015-05-27 08:15:19 +00:00
Elena Demikhovsky
ad9c396838
AVX-512: Added VBROADCASTF64X4, VBROADCASTF64X2, VBROADCASTI32X8, and other instructions from this set
...
Added encoding tests.
llvm-svn: 237557
2015-05-18 06:42:57 +00:00
Elena Demikhovsky
29792e9a80
AVX-512: Added all forms of FP compare instructions for KNL and SKX.
...
Added intrinsics for the instructions. CC parameter of the intrinsics was changed from i8 to i32 according to the spec.
By Igor Breger (igor.breger@intel.com )
llvm-svn: 236714
2015-05-07 11:24:42 +00:00
Elena Demikhovsky
50b88ddb87
AVX-512: Added logical and arithmetic instructions for SKX
...
by Asaf Badouh (asaf.badouh@intel.com )
llvm-svn: 235375
2015-04-21 10:27:40 +00:00
Elena Demikhovsky
5d06b4c80c
AVX-512: Added encoding tests for VPROR, VPROL instructions,
...
fixed opcode.
llvm-svn: 232018
2015-03-12 07:28:41 +00:00
Elena Demikhovsky
0b9dbe33aa
AVX-512: Added SKX forms of shift instructions.
...
Added rotation instructions, encoding only.
Added encoding tests for all these forms.
llvm-svn: 231916
2015-03-11 10:25:42 +00:00
Elena Demikhovsky
18fd49602b
AVX-512: Add assembly parser support for Rounding mode
...
By Asaf Badouh <asaf.badouh@intel.com>
llvm-svn: 230962
2015-03-02 15:00:34 +00:00
Robert Khasanov
cbc5703aeb
[AVX512] Added VPBROADCAST{BWDQ} (Load with Broadcast Integer Data from General Purpose Register) encodings for AVX512-BW/VL subsets
...
Added encoding tests.
llvm-svn: 223787
2014-12-09 16:38:41 +00:00
Robert Khasanov
af318f7073
[AVX512] Added VBROADCAST{SS/SD} encoding for VL subset.
...
Refactored through AVX512_maskable
llvm-svn: 220908
2014-10-30 14:21:47 +00:00
Robert Khasanov
595e598869
[AVX512] Implemented AVX512VL FP bnary packed instructions (VADDP*, VSUBP*, VMULP*, VDIVP*, VMAXP*, VMINP*)
...
Refactored through AVX512_maskable
Added encoding tests for them.
llvm-svn: 220858
2014-10-29 15:43:02 +00:00
Robert Khasanov
eb12639375
[AVX512] Extended avx512_sqrt_packed (sqrt instructions) to VL subset.
...
Refactored through AVX512_maskable
llvm-svn: 220806
2014-10-28 18:15:20 +00:00
Robert Khasanov
3e534c93b9
[AVX-512] Expanded rsqrt/rcp instructions to VL subset.
...
Refactored multiclass through AVX512_maskable
llvm-svn: 220783
2014-10-28 16:37:13 +00:00
Robert Khasanov
d5b14f7994
[AVX512] Extended avx512_binop_rm for AVX512VL subsets.
...
Added avx512_binop_rm_vl multiclass for VL subset
Added encoding tests
llvm-svn: 219390
2014-10-09 08:38:48 +00:00
Robert Khasanov
29e3b96734
[SKX] Added new versions of cmp instructions in avx512_icmp_cc multiclass, added VL multiclass.
...
Added encoding tests
llvm-svn: 216532
2014-08-27 09:34:37 +00:00
Robert Khasanov
2ea081d4d1
[SKX] avx512_icmp_packed multiclass extension
...
Extended avx512_icmp_packed multiclass by masking versions.
Added avx512_icmp_packed_rmb multiclass for embedded broadcast versions.
Added corresponding _vl multiclasses.
Added encoding tests for CPCMP{EQ|GT}* instructions.
Add more fields for X86VectorVTInfo.
Added AVX512VLVectorVTInfo that include X86VectorVTInfo for 512/256/128-bit versions
Differential Revision: http://reviews.llvm.org/D5024
llvm-svn: 216383
2014-08-25 14:49:34 +00:00
Robert Khasanov
ed8829703f
[SKX] Extended non-temporal load/store instructions for AVX512VL subsets.
...
Added avx512_movnt_vl multiclass for handling 256/128-bit forms of instruction.
Added encoding and lowering tests.
Reviewed by Elena Demikhovsky <elena.demikhovsky@intel.com>
llvm-svn: 215536
2014-08-13 10:46:00 +00:00
Robert Khasanov
7ca7df0bf9
[SKX] Enabling load/store instructions: encoding
...
Instructions: VMOVAPD, VMOVAPS, VMOVDQA8, VMOVDQA16, VMOVDQA32,VMOVDQA64, VMOVDQU8, VMOVDQU16, VMOVDQU32,VMOVDQU64, VMOVUPD, VMOVUPS,
Reviewed by Elena Demikhovsky <elena.demikhovsky@intel.com>
llvm-svn: 214719
2014-08-04 14:35:15 +00:00