Joe Groff
							
						 
						
							 
							
							
							
								
							
								53b265f682 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/codegen/codegen.factor 
							
						 
						
							2009-10-01 23:14:16 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f9695951a0 
								
							
								 
							
						 
						
							
							
								
								fold test-vector/branch sequences into a test-vector-branch instruction  
							
							 
							
							
							
						 
						
							2009-10-01 19:53:30 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d14f150b58 
								
							
								 
							
						 
						
							
							
								
								%test-vector instruction for vany?, vall?, vnone?  
							
							 
							
							
							
						 
						
							2009-10-01 15:35:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								987ced4070 
								
							
								 
							
						 
						
							
							
								
								%compare-vector instruction (only does v= for now)  
							
							 
							
							
							
						 
						
							2009-10-01 14:31:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a93f8f66f9 
								
							
								 
							
						 
						
							
							
								
								Revert "add a %blend-vector intrinsic for v?"  
							
							 
							
							... 
							
							
							
							This reverts commit 21e4b28b67 . 
							
						 
						
							2009-09-30 23:40:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								67cc45235d 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-30 23:04:04 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7db7b63552 
								
							
								 
							
						 
						
							
							
								
								add a %blend-vector intrinsic for v?  
							
							 
							
							
							
						 
						
							2009-09-30 23:03:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2384b630b2 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: use fallbacks for hlshift, hrshift, vshuffle if parameter is not a literal;al; element access in int-4 on x86-64 now sign-extends the value; don't throw error at compile time if parameter for vshuffle does not have enough elements  
							
							 
							
							
							
						 
						
							2009-09-30 20:04:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cdc7b7e2c7 
								
							
								 
							
						 
						
							
							
								
								Various minor compiler tweaks: Combine address calculation with dereferencing in alien accessors; convert SIMD XOR of a vector with itself into an XOR of the destination with itself; convert SIMD unbox of zero vector into XOR of the destination with itself; fix SIMD indexing on x86-64  
							
							 
							
							
							
						 
						
							2009-09-30 05:00:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f395d83379 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add fast intrinsic for 'nth', replace broadcast primitive with shuffles  
							
							 
							
							
							
						 
						
							2009-09-29 04:48:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e40a95c1e1 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add vshuffle intrinsic  
							
							 
							
							
							
						 
						
							2009-09-28 23:12:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a8ea929ad9 
								
							
								 
							
						 
						
							
							
								
								Work in progress  
							
							 
							
							
							
						 
						
							2009-09-28 17:31:34 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4202211293 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: cleanups  
							
							 
							
							
							
						 
						
							2009-09-28 16:38:35 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01f526ff28 
								
							
								 
							
						 
						
							
							
								
								use PSHUFD for longlong-2 broadcast when dst != src to avoid a %copy  
							
							 
							
							
							
						 
						
							2009-09-28 12:04:08 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7520da41cc 
								
							
								 
							
						 
						
							
							
								
								use MOVDDUP for double-2 broadcast to eliminate a %copy  
							
							 
							
							
							
						 
						
							2009-09-28 12:00:03 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2e8bb98781 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: make SSE shuffle instructions accept an array of indexes so they're easier to use  
							
							 
							
							
							
						 
						
							2009-09-28 11:45:45 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								965730efbe 
								
							
								 
							
						 
						
							
							
								
								SSE integer gather and broadcast  
							
							 
							
							
							
						 
						
							2009-09-28 11:24:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4abfe06b51 
								
							
								 
							
						 
						
							
							
								
								Fixing various test failures caused by C type parser change, and clarify C type docs some more  
							
							 
							
							
							
						 
						
							2009-09-28 08:48:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9a06e6f424 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add intrinsic for int-4-boa, uint-4-boa, fix tests for C type parser change, fix software fallback for horizontal shifts  
							
							 
							
							
							
						 
						
							2009-09-28 06:34:22 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								08a2eb74f4 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: shifts didn't work if dst != src1; re-organize file a bit  
							
							 
							
							
							
						 
						
							2009-09-28 05:39:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e4b9b6377 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix regression: fsqrt intrinsic wasn't used  
							
							 
							
							
							
						 
						
							2009-09-28 02:27:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2ea3afd84 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics  
							
							 
							
							
							
						 
						
							2009-09-28 02:17:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								59fbe85c9b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##bignum>integer and ##integer>bignum since they were unused  
							
							 
							
							
							
						 
						
							2009-09-27 20:36:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f757b454cc 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into more_aggressive_coalescing  
							
							 
							
							
							
						 
						
							2009-09-27 19:29:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								705b4ab5c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix partial sync point logic in case where dst == src, and clean up spilling code  
							
							 
							
							
							
						 
						
							2009-09-27 19:28:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								91e63c0c6f 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: implement %unary-float-function and %binary-float-function; speeds up partial-sums and struct-arrays benchmarks  
							
							 
							
							
							
						 
						
							2009-09-27 18:06:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e841e5086 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: more aggressive coalescing work in progress  
							
							 
							
							
							
						 
						
							2009-09-27 17:17:26 -05:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								01a4047126 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'slots' of git://factorcode.org/git/factor into slots  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/cpu/x86/x86.factor 
							
						 
						
							2009-09-26 03:12:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								7bd330cfd5 
								
							
								 
							
						 
						
							
							
								
								Making ##slot and ##set-slot not have a temporary parameter  
							
							 
							
							
							
						 
						
							2009-09-26 00:28:14 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								68f85a69b3 
								
							
								 
							
						 
						
							
							
								
								removed param-reg-* HOOKs  
							
							 
							
							
							
						 
						
							2009-09-25 18:58:55 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								4552e02624 
								
							
								 
							
						 
						
							
							
								
								made inline_gc a VM_C_API function  
							
							 
							
							
							
						 
						
							2009-09-25 18:29:07 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								f5c70d4ad7 
								
							
								 
							
						 
						
							
							
								
								make inline_gc regparm(3) and cleaned up %call-gc stack alignment  
							
							 
							
							
							
						 
						
							2009-09-24 21:45:56 +01:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1b84f179cd 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: don't generate SSE2 instructions if only SSE1 is available  
							
							 
							
							
							
						 
						
							2009-09-24 04:07:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b6128dd03 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements  
							
							 
							
							
							
						 
						
							2009-09-24 03:32:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4ec566b15d 
								
							
								 
							
						 
						
							
							
								
								cpu.x86/ppc: unify register-to-register moves using %copy so that better coalescing can eliminate more moves later  
							
							 
							
							
							
						 
						
							2009-09-23 22:49:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dfc9fd071e 
								
							
								 
							
						 
						
							
							
								
								Add longlong-2, ulonglong-2, longlong-4, ulonglong-4 SIMD types, fix int-4 multiplication on SSE2  
							
							 
							
							
							
						 
						
							2009-09-23 20:23:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43fa252af5 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor  
							
							 
							
							
							
						 
						
							2009-09-23 02:47:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								603a560eaf 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix using list  
							
							 
							
							
							
						 
						
							2009-09-20 23:24:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9d90bdd439 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-09-20 23:18:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea44ea3522 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add saturated arithmetic operations  
							
							 
							
							
							
						 
						
							2009-09-20 23:16:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								acea55c692 
								
							
								 
							
						 
						
							
							
								
								math.vectors: add v+- word which is accelerated by SSE3  
							
							 
							
							
							
						 
						
							2009-09-20 17:43:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47d8763340 
								
							
								 
							
						 
						
							
							
								
								More integer SIMD work  
							
							 
							
							... 
							
							
							
							- move generated vocab support from specialized-arrays to vocabs.generated
- add fuzz testing to math.vectors.simd
- add alien type support for integer SIMD vectors
- SIMD: parsing word generates a SIMD type, instead of pre-generating them all in math.vectors.simd 
							
						 
						
							2009-09-20 16:48:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								29c4512066 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: cleanup  
							
							 
							
							
							
						 
						
							2009-09-20 04:17:34 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f8a91438cd 
								
							
								 
							
						 
						
							
							
								
								Merge Phil Dawes' VM work  
							
							 
							
							
							
						 
						
							2009-09-20 03:48:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e77341b90c 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: redesign to be more flexible, integer SIMD work in progress  
							
							 
							
							
							
						 
						
							2009-09-20 02:08:32 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								0bc7c0c1d0 
								
							
								 
							
						 
						
							
							
								
								separated vm-1st-arg and vm-3rd-arg asm invoke words (needed for ppc & x86.64)  
							
							 
							
							
							
						 
						
							2009-09-16 08:20:09 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								005549ba43 
								
							
								 
							
						 
						
							
							
								
								vm pointer passed to nest_stacks and unnest_stacks (win32)  
							
							 
							
							
							
						 
						
							2009-09-16 08:17:26 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								ff54a57eb3 
								
							
								 
							
						 
						
							
							
								
								added code to pass vm ptr to some unboxers  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:32 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								ff8f2b10ec 
								
							
								 
							
						 
						
							
							
								
								fixed up getenv compiler intrinsic to use vm struct userenv  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:32 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								5bb04857bf 
								
							
								 
							
						 
						
							
							
								
								moved cards_offset and decks_offset into vm struct (for x86)  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:31 +01:00