fcea06acb5 
								
							 
						 
						
							
							
								
								AVX-512: Added FMA instructions, intrinsics an tests for KNL and SKX targets  
							
							... 
							
							
							
							by Asaf Badouh
http://reviews.llvm.org/D6456 
llvm-svn: 224764 
							
						 
						
							2014-12-23 10:30:39 +00:00  
				
					
						
							
							
								 
						
							
								949b0d46bf 
								
							 
						 
						
							
							
								
								AVX-512: Added all forms of BLENDM instructions,  
							
							... 
							
							
							
							intrinsics, encoding tests for AVX-512F and skx instructions.
llvm-svn: 224707 
							
						 
						
							2014-12-22 13:52:48 +00:00  
				
					
						
							
							
								 
						
							
								72860c341e 
								
							 
						 
						
							
							
								
								AVX-512: Added EXPAND instructions and intrinsics.  
							
							... 
							
							
							
							llvm-svn: 224241 
							
						 
						
							2014-12-15 10:03:52 +00:00  
				
					
						
							
							
								 
						
							
								5fb084e798 
								
							 
						 
						
							
							
								
								[AVX512] Add support for 512b variable bit shift intrinsics.  
							
							... 
							
							
							
							llvm-svn: 224028 
							
						 
						
							2014-12-11 17:13:05 +00:00  
				
					
						
							
							
								 
						
							
								908dbf48c8 
								
							 
						 
						
							
							
								
								AVX-512: Added all forms of COMPRESS instruction  
							
							... 
							
							
							
							+ intrinsics + tests
llvm-svn: 224019 
							
						 
						
							2014-12-11 15:02:24 +00:00  
				
					
						
							
							
								 
						
							
								68e04b8613 
								
							 
						 
						
							
							
								
								X86 intrinsics moved form X86ISelLowering.cpp to X86IntrinsicsInfo.h  
							
							... 
							
							
							
							X86ISelLowering.cpp has a long switch for intrinsics. I moved a part of
this long switch to the new intrinsics table in X86IntrinsicsInfo.h.
No functional changes, just code and compile time optimization.
llvm-svn: 223641 
							
						 
						
							2014-12-08 09:03:08 +00:00  
				
					
						
							
							
								 
						
							
								8b54286d1c 
								
							 
						 
						
							
							
								
								[X86] Refactor PMOV[SZ]Xrm to add missing AVX2 patterns.  
							
							... 
							
							
							
							Most patterns will go away once the extload legalization changes land.
Differential Revision: http://reviews.llvm.org/D6125 
llvm-svn: 223567 
							
						 
						
							2014-12-06 01:31:07 +00:00  
				
					
						
							
							
								 
						
							
								5bf9578ce4 
								
							 
						 
						
							
							
								
								[X86] Clean up whitespace as well as minor coding style  
							
							... 
							
							
							
							llvm-svn: 223339 
							
						 
						
							2014-12-04 05:20:33 +00:00  
				
					
						
							
							
								 
						
							
								905a5a606f 
								
							 
						 
						
							
							
								
								AVX-512: Scalar ERI intrinsics  
							
							... 
							
							
							
							including SAE mode and memory operand.
Added AVX512_maskable_scalar template, that should cover all scalar instructions in the future.
The main difference between AVX512_maskable_scalar<> and AVX512_maskable<> is using X86select instead of vselect.
I need it, because I can't create vselect node for MVT::i1 mask for scalar instruction.
http://reviews.llvm.org/D6378 
llvm-svn: 222820 
							
						 
						
							2014-11-26 10:46:49 +00:00  
				
					
						
							
							
								 
						
							
								9b7c15a364 
								
							 
						 
						
							
							
								
								[AVX512] Add 512b integer shift by variable intrinsics and patterns.  
							
							... 
							
							
							
							llvm-svn: 222786 
							
						 
						
							2014-11-25 20:41:51 +00:00  
				
					
						
							
							
								 
						
							
								73a6bca32b 
								
							 
						 
						
							
							
								
								[AVX512] Add integer shift by immediate intrinsics.  
							
							... 
							
							
							
							llvm-svn: 221811 
							
						 
						
							2014-11-12 19:58:54 +00:00  
				
					
						
							
							
								 
						
							
								be8808dc3f 
								
							 
						 
						
							
							
								
								AVX-512: Intrinsics for ERI  
							
							... 
							
							
							
							3 instructions: vrcp28, vrsqrt28, vexp2, only vector forms.
Intrinsics include SAE (Suppres All Exceptions) parameter.
http://reviews.llvm.org/D6214 
llvm-svn: 221774 
							
						 
						
							2014-11-12 07:31:03 +00:00  
				
					
						
							
							
								 
						
							
								b51bb22611 
								
							 
						 
						
							
							
								
								[AVX512] Added intrinsics for 128-, 256- and 512-bit versions of VPCMP/VPCMPU{BWDQ}  
							
							... 
							
							
							
							Added CMP_MASK_CC intrinsic type.
Added tests for intrinsics.
Patch by Sergey Lisitsyn <sergey.lisitsyn@intel.com>
llvm-svn: 219316 
							
						 
						
							2014-10-08 15:49:26 +00:00  
				
					
						
							
							
								 
						
							
								28a7df0b5f 
								
							 
						 
						
							
							
								
								[AVX512] Added intrinsics for 128-, 256- and 512-bit versions of VCMPGT{BWDQ}.  
							
							... 
							
							
							
							Patch by Sergey Lisitsyn <sergey.lisitsyn@intel.com>
llvm-svn: 218670 
							
						 
						
							2014-09-30 12:15:52 +00:00  
				
					
						
							
							
								 
						
							
								5aa4445bde 
								
							 
						 
						
							
							
								
								[AVX512] Added intrinsics for 128- and 256-bit versions of VCMPEQ{BWDQ}  
							
							... 
							
							
							
							Fixed lowering of this intrinsics in case when mask is v2i1 and v4i1.
Now cmp intrinsics lower in the following way:
 (i8 (int_x86_avx512_mask_pcmpeq_q_128
             (v2i64 %a), (v2i64 %b), (i8 %mask))) ->
 (i8 (bitcast
   (v8i1 (insert_subvector undef,
           (v2i1 (and (PCMPEQM %a, %b),
                      (extract_subvector
                         (v8i1 (bitcast %mask)), 0))), 0))))
llvm-svn: 218669 
							
						 
						
							2014-09-30 11:41:54 +00:00  
				
					
						
							
							
								 
						
							
								b25e562d14 
								
							 
						 
						
							
							
								
								[AVX512] Added intrinsics for VPCMPEQB and VPCMPEQW.  
							
							... 
							
							
							
							Added new operand type for intrinsics (IIT_V64)
llvm-svn: 218668 
							
						 
						
							2014-09-30 11:32:22 +00:00  
				
					
						
							
							
								 
						
							
								a27c8e0fd9 
								
							 
						 
						
							
							
								
								[AVX512] Enabled intrinsics for VPCMPEQD and VPCMPEQQ.  
							
							... 
							
							
							
							Added CMP_MASK intrinsic type
llvm-svn: 218667 
							
						 
						
							2014-09-30 11:19:50 +00:00  
				
					
						
							
							
								 
						
							
								0f54a0b02a 
								
							 
						 
						
							
							
								
								Fixed compilation problem on Windows (initialization of non-aggregate type).  
							
							... 
							
							
							
							After commit 217131.
llvm-svn: 217134 
							
						 
						
							2014-09-04 07:20:39 +00:00  
				
					
						
							
							
								 
						
							
								228ab3d7b3 
								
							 
						 
						
							
							
								
								X86 Intrinsics table - changed to a static table sorted by intrinsic id.  
							
							... 
							
							
							
							Used binary search over the tables.
llvm-svn: 217131 
							
						 
						
							2014-09-04 06:34:34 +00:00  
				
					
						
							
							
								 
						
							
								22e735d725 
								
							 
						 
						
							
							
								
								X86 intrinsics table - simplifies intrinsics lowering.  
							
							... 
							
							
							
							The tables are initialized when X86TargetLowering object is created.
llvm-svn: 216345 
							
						 
						
							2014-08-24 09:19:56 +00:00  
				
					
						
							
							
								 
						
							
								c0b420fdf5 
								
							 
						 
						
							
							
								
								Reverted last commit  
							
							... 
							
							
							
							llvm-svn: 215827 
							
						 
						
							2014-08-17 09:36:07 +00:00  
				
					
						
							
							
								 
						
							
								2bb991a0c5 
								
							 
						 
						
							
							
								
								Added a table for intrinsics on X86.  
							
							... 
							
							
							
							It should remove dosens of lines in handling instrinsics (in a huge switch) and give an easy way to add new intrinsics.
I did not completed to move al intrnsics to the table, I'll do this in the upcomming commits.
llvm-svn: 215826 
							
						 
						
							2014-08-17 09:00:20 +00:00