Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							417b5dcfda 
							
						 
					 
					
						
						
							
							+ internal round/trunc support for ppc970 using fctid/fctidz  
						
						... 
						
						
						
						* a_fctw_ -> a_fctiw_
git-svn-id: trunk@10367 - 
						
					 
					
						2008-02-20 11:49:15 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							359c19ee9e 
							
						 
					 
					
						
						
							
							- removed ppc601 as ppc32 cpu target  
						
						... 
						
						
						
						+ added ppc740 (g3), ppc7400 (G4) and ppc970 (G5) as ppc32 cpu
    targets
  * initialise optimizecputype by default to ppc7400 for ppc32 and to
    ppc970 for ppc64
  * merged ppc32/ppc64 overflow checking code and use the ppc64 one
    in case cputype or optimizecputype >= ppc970, because one of
    the instructions used in the ppc32 version no longer exists on the
    ppc970 (although it's emulated in the kernel on at least Mac OS X)
  * moved some other support routines and constants to ppcgen which
    were needed for the overflow checking (were identical for ppc32 and
    ppc64) 
git-svn-id: trunk@6323 - 
						
					 
					
						2007-02-03 19:32:44 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							32e06e7a7a 
							
						 
					 
					
						
						
							
							* fixed memory leaks in ppc peephole optimizer  
						
						... 
						
						
						
						git-svn-id: trunk@5569 - 
						
					 
					
						2006-12-11 15:53:30 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d26ee9dccf 
							
						 
					 
					
						
						
							
							* fixed overflow errors  
						
						... 
						
						
						
						git-svn-id: trunk@5318 - 
						
					 
					
						2006-11-10 21:14:37 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e08aa358fb 
							
						 
					 
					
						
						
							
							* removed stb from calculation_target_op0 (stb does not calculate a value  
						
						... 
						
						
						
						to store in operand 0)
git-svn-id: trunk@4269 - 
						
					 
					
						2006-07-20 22:38:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ef16df72da 
							
						 
					 
					
						
						
							
							* some optimizations for code generated for  
						
						... 
						
						
						
						"(x and power_of_two_const) <>/= 0)"
git-svn-id: trunk@4159 - 
						
					 
					
						2006-07-13 17:48:41 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							bc96cd8008 
							
						 
					 
					
						
						
							
							+ more rlwinm optimizations  
						
						... 
						
						
						
						git-svn-id: trunk@3823 - 
						
					 
					
						2006-06-08 09:48:08 +00:00 
						 
				 
			
				
					
						
							
							
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							c5cbdda62e 
							
						 
					 
					
						
						
							
							* fixed generation of ANDI and ANDIS instructions in the optimizer, properly casting the immediate parameter to an unsigned integer  
						
						... 
						
						
						
						git-svn-id: trunk@3800 - 
						
					 
					
						2006-06-04 21:16:10 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							488d8ae766 
							
						 
					 
					
						
						
							
							* improved support for merging two consecutive rlwinm's (now also works  
						
						... 
						
						
						
						if both perform a rotation)
git-svn-id: trunk@3759 - 
						
					 
					
						2006-05-31 20:25:39 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							67dc63048c 
							
						 
					 
					
						
						
							
							* fixed and enhanced rlwinm optimizations somewhat  
						
						... 
						
						
						
						git-svn-id: trunk@3555 - 
						
					 
					
						2006-05-17 19:04:31 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b7fe6797bf 
							
						 
					 
					
						
						
							
							Merged revisions 2921-2922,2925 via svnmerge from  
						
						... 
						
						
						
						http://svn.freepascal.org/svn/fpc/branches/linker/compiler 
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
  * pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
  * refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 - 
					
						2006-03-16 08:52:22 +00:00 
						 
				 
			
				
					
						
							
							
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							3645a69686 
							
						 
					 
					
						
						
							
							* added mftbu (move from timebase upper) opcode  
						
						... 
						
						
						
						git-svn-id: trunk@1596 - 
						
					 
					
						2005-10-25 20:45:05 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b458554f5b 
							
						 
					 
					
						
						
							
							+ some optimizations for comparisons with zero whereby the result has to  
						
						... 
						
						
						
						go to a register
git-svn-id: trunk@1379 - 
						
					 
					
						2005-10-15 11:09:44 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							4558cd705e 
							
						 
					 
					
						
						
							
							+ optimize some slwi/rlwinm combos  
						
						... 
						
						
						
						git-svn-id: trunk@1378 - 
						
					 
					
						2005-10-14 21:03:48 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9cf0865d0e 
							
						 
					 
					
						
						
							
							* remove a number of superfluous register moves  
						
						... 
						
						
						
						git-svn-id: trunk@1377 - 
						
					 
					
						2005-10-14 20:34:53 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e14d8e6611 
							
						 
					 
					
						
						
							
							* don't replace cmplwi's with flag-setting variants of integer operations,  
						
						... 
						
						
						
						as the latter perform a signed comparison with 0
git-svn-id: trunk@1365 - 
						
					 
					
						2005-10-13 07:49:02 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							cd3f064a33 
							
						 
					 
					
						
						
							
							+ enabled postpeepholeopts phase  
						
						... 
						
						
						
						+ optimize "integer op" followed by comparison of target register with zero
    to a variant of that integer op which sets the flags (ppc)
  + change rlwinm. instructions which do nothing but an "and" operation into
    andi./andis., since the rlwinm. is cracked on the G5 while andi./andis.
    isn't
git-svn-id: trunk@1361 - 
						
					 
					
						2005-10-12 19:47:21 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							42e49ccd90 
							
						 
					 
					
						
						
							
							+ srwi followed by slwi optimized  
						
						... 
						
						
						
						+ srwi followed by certain rlwinm's optimized
git-svn-id: trunk@1351 - 
						
					 
					
						2005-10-10 20:43:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							cd93450fd6 
							
						 
					 
					
						
						
							
							* fixed a few bugs in yesterday's optimization  
						
						... 
						
						
						
						git-svn-id: trunk@1322 - 
						
					 
					
						2005-10-08 11:37:18 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ab3bc45fa4 
							
						 
					 
					
						
						
							
							* cpu-specific overrides of optimizer methods now get called  
						
						... 
						
						
						
						+ first simple rlwinm optimization for ppc
git-svn-id: trunk@1320 - 
						
					 
					
						2005-10-07 21:44:00 +00:00 
						 
				 
			
				
					
						
							
							
								fpc 
							
						 
					 
					
						
						
						
						
							
						
						
							790a4fe2d3 
							
						 
					 
					
						
						
							
							* log and id tags removed  
						
						... 
						
						
						
						git-svn-id: trunk@42 - 
						
					 
					
						2005-05-21 09:42:41 +00:00 
						 
				 
			
				
					
						
							
							
								fpc 
							
						 
					 
					
						
						
						
						
							
						
						
							50778076c3 
							
						 
					 
					
						
						
							
							initial import  
						
						... 
						
						
						
						git-svn-id: trunk@1 - 
						
					 
					
						2005-05-16 18:37:41 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ec959955bd 
							
						 
					 
					
						
						
							
							* fixed generic jumps optimizer and enabled it for ppc (the label table  
						
						... 
						
						
						
						was not being initialised -> getfinaldestination always failed, which
    caused wrong optimizations in some cases)
  * changed the inverse_cond into a function, because tasmcond is a record
    on ppc
  + added a compare_conditions() function for the same reason 
						
					 
					
						2005-02-26 01:26:59 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e417e34496 
							
						 
					 
					
						
						
							
							* truncate log  
						
						
						
					 
					
						2005-02-14 17:13:06 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8a9758c5e2 
							
						 
					 
					
						
						
							
							* logs truncated  
						
						
						
					 
					
						2004-06-20 08:55:28 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							06ebac4e27 
							
						 
					 
					
						
						
							
							* readded missing revisions  
						
						
						
					 
					
						2002-05-18 13:34:04 +00:00 
						 
				 
			
				
					
						
							
							
								carl 
							
						 
					 
					
						
						
						
						
							
						
						
							21b3a10f02 
							
						 
					 
					
						
						
							
							+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand  
						
						... 
						
						
						
						+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup 
						
					 
					
						2002-05-16 19:46:34 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2992e1819c 
							
						 
					 
					
						
						
							
							* removed old logs and updated copyright year  
						
						
						
					 
					
						2002-05-14 19:34:38 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							525be77ced 
							
						 
					 
					
						
						
							
							* some cg reorganisation  
						
						... 
						
						
						
						* some PPC updates 
						
					 
					
						2001-08-26 13:29:33 +00:00