Sanjay Patel
							
						 | 
						
							
							
							
							
							
								
							
							
								309c4f93e5
								
							
						 | 
						
							
							
								
								[x86] replace integer logic ops with packed SSE FP logic ops
							
							
							
							
							
							
							
							If we have an operand to a bitwise logic op that's already in
an XMM register and the result is going to be sent to an XMM
register, then use an SSE logic op to avoid moves between the
integer and vector register files.
Related commits:
http://reviews.llvm.org/rL248395
http://reviews.llvm.org/rL248399
http://reviews.llvm.org/rL248404
http://reviews.llvm.org/rL248409
http://reviews.llvm.org/rL248415
This should solve PR22428:
https://llvm.org/bugs/show_bug.cgi?id=22428
llvm-svn: 251378 
							
						 | 
						
							2015-10-27 01:28:07 +00:00 | 
						
					
				
					
						
							
							
								 
								Sanjay Patel
							
						 | 
						
							
							
							
							
							
								
							
							
								28d1598e5b
								
							
						 | 
						
							
							
								
								add FP logic test cases to show current codegen (PR22428)
							
							
							
							
							
							
							
							llvm-svn: 251370 
							
						 | 
						
							2015-10-26 23:52:42 +00:00 | 
						
					
				
					
						
							
							
								 
								Sanjay Patel
							
						 | 
						
							
							
							
							
							
								
							
							
								1a6534661b
								
							
						 | 
						
							
							
								
								[x86] replace integer 'xor' ops with packed SSE FP 'xor' ops when operating on FP scalars
							
							
							
							
							
							
							
							Turn this:
movd %xmm0, %eax
movd %xmm1, %ecx
xorl %eax, %ecx
movd %ecx, %xmm0
into this:
xorps %xmm1, %xmm0
This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428
This is an extension of:
http://reviews.llvm.org/rL248395
llvm-svn: 248415 
							
						 | 
						
							2015-09-23 18:33:42 +00:00 | 
						
					
				
					
						
							
							
								 
								Sanjay Patel
							
						 | 
						
							
							
							
							
							
								
							
							
								aba37553c4
								
							
						 | 
						
							
							
								
								[x86] replace integer 'or' ops with packed SSE FP 'or' ops when operating on FP scalars
							
							
							
							
							
							
							
							Turn this:
movd %xmm0, %eax
movd %xmm1, %ecx
orl %eax, %ecx
movd %ecx, %xmm0
into this:
orps %xmm1, %xmm0
This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428
This is an extension of:
http://reviews.llvm.org/rL248395
llvm-svn: 248409 
							
						 | 
						
							2015-09-23 18:19:07 +00:00 | 
						
					
				
					
						
							
							
								 
								Sanjay Patel
							
						 | 
						
							
							
							
							
							
								
							
							
								df2495f331
								
							
						 | 
						
							
							
								
								[x86] replace integer 'and' ops with packed SSE FP 'and' ops when operating on FP scalars
							
							
							
							
							
							
							
							Turn this:
   movd %xmm0, %eax
   movd %xmm1, %ecx
   andl %eax, %ecx
   movd %ecx, %xmm0
into this:
   andps %xmm1, %xmm0
This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428
Differential Revision: http://reviews.llvm.org/D13065
llvm-svn: 248395 
							
						 | 
						
							2015-09-23 17:00:06 +00:00 | 
						
					
				
					
						
							
							
								 
								Sanjay Patel
							
						 | 
						
							
							
							
							
							
								
							
							
								bab5d6c636
								
							
						 | 
						
							
							
								
								add test file ahead of any functional changes for PR22428
							
							
							
							
							
							
							
							llvm-svn: 248123 
							
						 | 
						
							2015-09-20 15:58:00 +00:00 |