e5ea3b0239 
								
							 
						 
						
							
							
								
								Remove vperm2f* and vperm2i builtins. Same effect can be achieved with builtin_shufflevector.  
							
							... 
							
							
							
							llvm-svn: 150064 
							
						 
						
							2012-02-08 07:33:36 +00:00  
				
					
						
							
							
								 
						
							
								fec9f8edb7 
								
							 
						 
						
							
							
								
								Remove vpermilp* builtins. Same effect can be achieved with builtin_shufflevector.  
							
							... 
							
							
							
							llvm-svn: 150056 
							
						 
						
							2012-02-08 05:16:54 +00:00  
				
					
						
							
							
								 
						
							
								d6d3a05b4f 
								
							 
						 
						
							
							
								
								Cleanup 3dnow builtin handling. Most of them were already handled by LLVM connecting intrinsics and builtins in IntrinsicsX86.td.  
							
							... 
							
							
							
							llvm-svn: 149233 
							
						 
						
							2012-01-30 08:18:19 +00:00  
				
					
						
							
							
								 
						
							
								80df922f2f 
								
							 
						 
						
							
							
								
								Re-enable test that was broken by r148919  
							
							... 
							
							
							
							llvm-svn: 148932 
							
						 
						
							2012-01-25 06:23:23 +00:00  
				
					
						
							
							
								 
						
							
								f07b612313 
								
							 
						 
						
							
							
								
								disable this test for now.  
							
							... 
							
							
							
							llvm-svn: 148928 
							
						 
						
							2012-01-25 05:38:06 +00:00  
				
					
						
							
							
								 
						
							
								a89747dd1e 
								
							 
						 
						
							
							
								
								Add AVX2 intrinsics for pavg, pblend, and pcmp instructions. Also remove unneeded builtins for SSE pcmp. Change SSE pcmpeqq and pcmpgtq to not use builtins and just use vector == and >.  
							
							... 
							
							
							
							llvm-svn: 146969 
							
						 
						
							2011-12-20 09:55:26 +00:00  
				
					
						
							
							
								 
						
							
								060d03be1c 
								
							 
						 
						
							
							
								
								Fix _mm256_round_pd, _mm256_round_ps, _mm_permute_pd and _mm256_permute_pd AVX  
							
							... 
							
							
							
							intrinsics to use "I" (ICE) markings.  Fix avxintrin.h to take them into 
account.
Part of rdar://10595450
llvm-svn: 146791 
							
						 
						
							2011-12-17 00:15:26 +00:00  
				
					
						
							
							
								 
						
							
								bb455154a1 
								
							 
						 
						
							
							
								
								Remove the 'unaligned load' builtins now that they're no longer used in the *mmintrin.h files.  
							
							... 
							
							
							
							llvm-svn: 131300 
							
						 
						
							2011-05-13 18:52:28 +00:00  
				
					
						
							
							
								 
						
							
								e106c34817 
								
							 
						 
						
							
							
								
								LLVM doesn't always optimize away the four loads from this:  
							
							... 
							
							
							
							(__m128){ p[0], p[1], p[2], p[3] }
which produces really bad code. This could be done in instcombine, but it's
probably better to do it in the front-end instead.
<rdar://problem/9424836>
llvm-svn: 131237 
							
						 
						
							2011-05-12 19:02:15 +00:00  
				
					
						
							
							
								 
						
							
								6826eb816a 
								
							 
						 
						
							
							
								
								Add 3DNow! Intrinsics.  
							
							... 
							
							
							
							llvm-svn: 129570 
							
						 
						
							2011-04-15 15:07:13 +00:00  
				
					
						
							
							
								 
						
							
								a865185ad6 
								
							 
						 
						
							
							
								
								Removing the unaligned load tests from builtins-x86.c since they're generated by a regular 'load' now.  
							
							... 
							
							
							
							llvm-svn: 129464 
							
						 
						
							2011-04-13 20:17:22 +00:00  
				
					
						
							
							
								 
						
							
								073c9cb592 
								
							 
						 
						
							
							
								
								Implement __builtin_ia32_vec_ext_v2si function (required by Qt).  
							
							... 
							
							
							
							llvm-svn: 116162 
							
						 
						
							2010-10-10 03:19:11 +00:00  
				
					
						
							
							
								 
						
							
								762e401911 
								
							 
						 
						
							
							
								
								Remove rsqrtps_nr256 and sqrtps_nr256 builtins, at least until we need them  
							
							... 
							
							
							
							llvm-svn: 110844 
							
						 
						
							2010-08-11 19:18:36 +00:00  
				
					
						
							
							
								 
						
							
								65954ffc69 
								
							 
						 
						
							
							
								
								Remove 256-bit cast built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments  
							
							... 
							
							
							
							llvm-svn: 110771 
							
						 
						
							2010-08-11 02:14:38 +00:00  
				
					
						
							
							
								 
						
							
								a4f1930b75 
								
							 
						 
						
							
							
								
								Remove 256-bit unpack built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments  
							
							... 
							
							
							
							llvm-svn: 110768 
							
						 
						
							2010-08-11 01:43:24 +00:00  
				
					
						
							
							
								 
						
							
								e712a135b7 
								
							 
						 
						
							
							
								
								Remove 256-bit shuffle built-ins and make the AVX intrinsic call llvm __builtin_shufflevector with the appropriate arguments  
							
							... 
							
							
							
							llvm-svn: 110766 
							
						 
						
							2010-08-11 01:17:34 +00:00  
				
					
						
							
							
								 
						
							
								3d3fc1d075 
								
							 
						 
						
							
							
								
								Make replicate intrinsics use shufflevector instead of dup builtins, also remove the dup builtins  
							
							... 
							
							
							
							llvm-svn: 110646 
							
						 
						
							2010-08-10 02:23:54 +00:00  
				
					
						
							
							
								 
						
							
								e2538c4ecf 
								
							 
						 
						
							
							
								
								We don't want to support built-ins which aren't needed by the intrinsics. Remove them  
							
							... 
							
							
							
							llvm-svn: 110399 
							
						 
						
							2010-08-05 23:47:43 +00:00  
				
					
						
							
							
								 
						
							
								6586724f71 
								
							 
						 
						
							
							
								
								Add more AVX 256-bit intrinsics and test cases for them  
							
							... 
							
							
							
							llvm-svn: 110178 
							
						 
						
							2010-08-04 01:11:26 +00:00  
				
					
						
							
							
								 
						
							
								1f927ccaa2 
								
							 
						 
						
							
							
								
								Support x86 AVX 256-bit instructions built-ins. Right now support all of them, but  
							
							... 
							
							
							
							as soon as we properly codegen the simple vector operations, remove the
unnecessary built-ins/intrinsics from clang and llvm. Also add tests for the new
built-ins
llvm-svn: 110096 
							
						 
						
							2010-08-03 01:57:18 +00:00  
				
					
						
							
							
								 
						
							
								45fa7e60fb 
								
							 
						 
						
							
							
								
								Fix __builtin_ia32_roundss and __builtin_ia32_roundsd definitions.  
							
							... 
							
							
							
							Re-enable test.
llvm-svn: 97707 
							
						 
						
							2010-03-04 01:34:19 +00:00  
				
					
						
							
							
								 
						
							
								8fbe78f6fc 
								
							 
						 
						
							
							
								
								Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.  
							
							... 
							
							
							
							- This is designed to make it obvious that %clang_cc1 is a "test variable"
   which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
   can be useful to redefine what gets run as 'clang -cc1' (for example, to set
   a default target).
llvm-svn: 91446 
							
						 
						
							2009-12-15 20:14:24 +00:00  
				
					
						
							
							
								 
						
							
								8b57697954 
								
							 
						 
						
							
							
								
								Eliminate &&s in tests.  
							
							... 
							
							
							
							- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious.
llvm-svn: 86430 
							
						 
						
							2009-11-08 01:45:36 +00:00  
				
					
						
							
							
								 
						
							
								e9ff191459 
								
							 
						 
						
							
							
								
								Remove a few more vector builtins.  
							
							... 
							
							
							
							llvm-svn: 73022 
							
						 
						
							2009-06-07 09:32:56 +00:00  
				
					
						
							
							
								 
						
							
								5a996fc0fc 
								
							 
						 
						
							
							
								
								Now that LLVM CodeGen can handle the generic variations a bit better,  
							
							... 
							
							
							
							get rid of a few more clang vector builtins.
llvm-svn: 73015 
							
						 
						
							2009-06-07 07:12:56 +00:00  
				
					
						
							
							
								 
						
							
								5f75ff84b7 
								
							 
						 
						
							
							
								
								Test changes to account for removed builtins.  
							
							... 
							
							
							
							llvm-svn: 73004 
							
						 
						
							2009-06-06 18:15:42 +00:00  
				
					
						
							
							
								 
						
							
								8dd2947696 
								
							 
						 
						
							
							
								
								Remove an unused builtin.  
							
							... 
							
							
							
							llvm-svn: 72033 
							
						 
						
							2009-05-18 19:25:54 +00:00  
				
					
						
							
							
								 
						
							
								2081200b8c 
								
							 
						 
						
							
							
								
								Add 'cmp' SSE builtins and get rid of a bunch of other builtins.  
							
							... 
							
							
							
							llvm-svn: 72032 
							
						 
						
							2009-05-18 19:16:46 +00:00  
				
					
						
							
							
								 
						
							
								a45cf5b6b0 
								
							 
						 
						
							
							
								
								Rename clang to clang-cc.  
							
							... 
							
							
							
							Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602 
							
						 
						
							2009-03-24 02:24:46 +00:00  
				
					
						
							
							
								 
						
							
								7a88d1fcc4 
								
							 
						 
						
							
							
								
								Fix definition of __builtin_ia32_vec_set_v2di and de-XFAIL  
							
							... 
							
							
							
							builtins-x86.c.
llvm-svn: 63069 
							
						 
						
							2009-01-26 23:43:02 +00:00  
				
					
						
							
							
								 
						
							
								179a72f000 
								
							 
						 
						
							
							
								
								Added vec_set intrinsics  
							
							... 
							
							
							
							llvm-svn: 57749 
							
						 
						
							2008-10-18 02:43:25 +00:00  
				
					
						
							
							
								 
						
							
								93bc49d882 
								
							 
						 
						
							
							
								
								Add X86 builtin code generation test case.  
							
							... 
							
							
							
							llvm-svn: 57104 
							
						 
						
							2008-10-05 06:38:36 +00:00