Joe Groff
							
						 
						
							 
							
							
							
								
							
								4d16c569f0 
								
							
								 
							
						 
						
							
							
								
								struct classes now make their own C type without help from alien.structs. remove alien.structs dependencies from everywhere outside of alien and compiler, and have the FFI handle both alien.structs and classes.struct c-types  
							
							 
							
							
							
						 
						
							2009-09-15 17:38:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								64cddef3e1 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix %single>double-float and %double>single-float  
							
							 
							
							
							
						 
						
							2009-09-10 13:04:58 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4d1e832f79 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-09 17:14:48 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c50a35c062 
								
							
								 
							
						 
						
							
							
								
								altivec instructions for powerpc assembler  
							
							 
							
							
							
						 
						
							2009-09-09 17:14:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ed09dfe3ae 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-09 13:56:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								daff63071f 
								
							
								 
							
						 
						
							
							
								
								Fix the build  
							
							 
							
							
							
						 
						
							2009-09-09 13:44:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a01f693335 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix bootstrap  
							
							 
							
							
							
						 
						
							2009-09-08 23:53:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0e2a3e4292 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 22:34:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cd5133b233 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: tweak SIMD intrinsics  
							
							 
							
							
							
						 
						
							2009-09-08 22:34:01 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f166797dd4 
								
							
								 
							
						 
						
							
							
								
								no really, update ppc for argument order changes  
							
							 
							
							
							
						 
						
							2009-09-08 22:21:00 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3003b9e5d0 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 21:58:25 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c95a7febb0 
								
							
								 
							
						 
						
							
							
								
								update cpu.ppc for argument order changes  
							
							 
							
							
							
						 
						
							2009-09-08 21:58:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8916fb7a3c 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 21:51:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e2f0e5dbf 
								
							
								 
							
						 
						
							
							
								
								compiler: separate ##save-context instruction from ##alien-invoke, generate a ##save-context for libm calls, and add a pass to combine multiple context saves within a basic block. Fixes crashes with FP traps thrown by libm functions on x86-32  
							
							 
							
							
							
						 
						
							2009-09-08 21:50:55 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								9be1f42fe9 
								
							
								 
							
						 
						
							
							
								
								typos in cpu.ppc  
							
							 
							
							
							
						 
						
							2009-09-08 21:44:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								410d2bf0d0 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 19:35:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								74fa73aeaf 
								
							
								 
							
						 
						
							
							
								
								Fix various test failures  
							
							 
							
							
							
						 
						
							2009-09-08 19:18:56 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								d02d95ea34 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 17:05:58 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0ea9949e51 
								
							
								 
							
						 
						
							
							
								
								split unordered and ordered float comparison intrinsics in compiler; generate only unordered comparisons for now  
							
							 
							
							
							
						 
						
							2009-09-08 17:04:26 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								740a175e56 
								
							
								 
							
						 
						
							
							
								
								duplicate using  
							
							 
							
							
							
						 
						
							2009-09-08 17:02:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8b6ec8e030 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.features: better wording  
							
							 
							
							
							
						 
						
							2009-09-08 14:17:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5e7c1f725 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.features: add -sse-version command-line switch to override SSE detection  
							
							 
							
							
							
						 
						
							2009-09-08 13:56:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e5bc3b376 
								
							
								 
							
						 
						
							
							
								
								inline alien-vector and set-alien-vector if SIMD is not available for a small speedup  
							
							 
							
							
							
						 
						
							2009-09-08 13:56:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								38c961cf6f 
								
							
								 
							
						 
						
							
							
								
								Fixes  
							
							 
							
							
							
						 
						
							2009-09-08 00:13:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbca00e2ae 
								
							
								 
							
						 
						
							
							
								
								Fix conflicts  
							
							 
							
							
							
						 
						
							2009-09-07 23:51:25 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d47d747ebc 
								
							
								 
							
						 
						
							
							
								
								i had comisd/ucomisd backwards on x86  
							
							 
							
							
							
						 
						
							2009-09-04 12:30:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								382e1d5b0e 
								
							
								 
							
						 
						
							
							
								
								fix some typos in cpu.ppc  
							
							 
							
							
							
						 
						
							2009-09-04 11:18:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								92d5d8f0c5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into ppc-float-compare  
							
							 
							
							
							
						 
						
							2009-09-04 10:58:50 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								638e351131 
								
							
								 
							
						 
						
							
							
								
								update powerpc compiler to generate correct float comparisons  
							
							 
							
							
							
						 
						
							2009-09-04 10:51:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc1bf07a1f 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix typo  
							
							 
							
							
							
						 
						
							2009-09-04 06:41:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e36a0d7ef4 
								
							
								 
							
						 
						
							
							
								
								compiler: clean up code generation for alien boxing/unboxing a bit  
							
							 
							
							
							
						 
						
							2009-09-03 21:22:43 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c480bec303 
								
							
								 
							
						 
						
							
							
								
								convert comparison branch code in compiler to use locals  
							
							 
							
							
							
						 
						
							2009-09-03 21:19:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d5a4222b6 
								
							
								 
							
						 
						
							
							
								
								More SIMD work  
							
							 
							
							... 
							
							
							
							- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering 
							
						 
						
							2009-09-03 20:58:56 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								036ff77306 
								
							
								 
							
						 
						
							
							
								
								add compiler comparison codes for floating-point unordered comparisons; update x86 backend to generate proper code for all floating-point comparisons  
							
							 
							
							
							
						 
						
							2009-09-03 20:32:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3d4c04302a 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd  
							
							 
							
							
							
						 
						
							2009-09-03 03:45:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								906a0d212a 
								
							
								 
							
						 
						
							
							
								
								Detect SSE version and enable the correct set of SIMD intrinsics  
							
							 
							
							
							
						 
						
							2009-09-03 03:28:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff8c70dbe0 
								
							
								 
							
						 
						
							
							
								
								Initial implementation of SSE vector intrinsics:  
							
							 
							
							... 
							
							
							
							- cpu.architecture: add SSE vector representations
- compiler.cfg.intrinsics.alien: remove an attempt at optimization that value numbering handles now
- compiler.cfg.representations: support instructions where the representation is set in the 'rep' slot, and support conversions between single and double floats
- alien-float, set-alien-float now use the single float representation, and the conversion is implicit; this fixes a long-standing bug where a register could get clobbered because of how %set-alien-float was defined on x86
- math.vectors.specialization: add support for SIMD specialization (where the vector word's body is replaced by another quotation), also specialize the 'sum' word
- math.vectors.simd: 4float-array, 2double-array, 4double-array types, and specializers for the math.vectors words 
							
						 
						
							2009-09-03 02:33:07 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								102df64ec7 
								
							
								 
							
						 
						
							
							
								
								i suck at reading tech docs--those were m64 instructions, not mm instructions  
							
							 
							
							
							
						 
						
							2009-09-02 12:58:35 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								962d560c10 
								
							
								 
							
						 
						
							
							
								
								get rid of useless mm->xmm instructions in cpu.x86.assembler, add MOVHLPS and MOVLHPS  
							
							 
							
							
							
						 
						
							2009-09-02 11:06:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								85a2bfab6c 
								
							
								 
							
						 
						
							
							
								
								compiler: eliminate boilerplate by centralizing info in declarative INSN: syntax  
							
							 
							
							
							
						 
						
							2009-09-02 06:22:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f91b539c31 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: implement fast float function calls; 3x speedup on benchmark.struct-arrays on PowerPC  
							
							 
							
							
							
						 
						
							2009-09-01 15:19:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6f1a7c731c 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix %box-displaced-alien  
							
							 
							
							
							
						 
						
							2009-08-30 20:56:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9595be4bf9 
								
							
								 
							
						 
						
							
							
								
								%box-displaced-alien: fix clobberage found by Doug  
							
							 
							
							
							
						 
						
							2009-08-30 05:11:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0db01f6d5f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums  
							
							 
							
							
							
						 
						
							2009-08-30 04:52:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bb6293217 
								
							
								 
							
						 
						
							
							
								
								compiler: add fixnum-min/max intrinsics; ~10% speedup on benchmark.yuv-to-rgb  
							
							 
							
							
							
						 
						
							2009-08-28 19:02:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d957ae4e44 
								
							
								 
							
						 
						
							
							
								
								Performance improvements to make struct-arrays benchmark faster  
							
							 
							
							... 
							
							
							
							- improved optimization of ##unbox-any-c-ptr on ##box-displaced-alien; convert it to ##unbox-c-ptr where possible using class info stored in the ##bda instruction
- make fcos, fsin, etc inline again; everything in math.libm inline again, except for fsqrt which is an intrinsic
- convert min and max on floats to float-min and float-max
- make min and max not inline, so that the above can work
- struct-arrays: rice a bit so that more fixnums come up 
							
						 
						
							2009-08-28 05:21:16 -05:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								98f93f799b 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix ##box-displaced-alien  
							
							 
							
							
							
						 
						
							2009-08-27 04:43:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f662e6403a 
								
							
								 
							
						 
						
							
							
								
								compiler: new inline intrinsic for <displaced-alien> where the inputs have known types; value numbering now eliminates unnecessary allocation of displaced aliens if the result is immediately unboxed again  
							
							 
							
							
							
						 
						
							2009-08-27 00:06:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0df8aadce2 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: use SQRTSD instruction for math.libm:fsqrt word  
							
							 
							
							
							
						 
						
							2009-08-25 23:22:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b7e29ca8dd 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc.assembler: LOAD32 assembler macro was busted  
							
							 
							
							
							
						 
						
							2009-08-25 22:37:10 -05:00