Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9de2847865 
							
						 
					 
					
						
						
							
							+ support for passing parameters via pre-allocated stack space on i386  
						
						 
						
						... 
						
						
						
						(override/adjust cgutils.use_fixed_stack to change conditions where
     this is done, currently only activated for darwin-i386)
  * make sure the stack is always aligned to 16 bytes on darwin-i386
git-svn-id: trunk@2840 - 
						
					 
					
						2006-03-10 19:59:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ba6f1e4990 
							
						 
					 
					
						
						
							
							* factered WriteInstruction out of TGNUAssembler into its own class  
						
						 
						
						... 
						
						
						
						* put Apple-specific GNU assembler stuff in its own class
  + darwin/x86 support to the assembler writer
git-svn-id: trunk@2818 - 
						
					 
					
						2006-03-09 14:59:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							23fda6dc1c 
							
						 
					 
					
						
						
							
							* fixed compilation  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2802 - 
						
					 
					
						2006-03-07 20:15:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							38c0ae73da 
							
						 
					 
					
						
						
							
							Merged revisions 2775,2788-2789 via svnmerge from  
						
						 
						
						... 
						
						
						
						http://svn.freepascal.org/svn/fpc/branches/linker/compiler 
........
r2775 | peter | 2006-03-05 22:43:30 +0100 (Sun, 05 Mar 2006) | 2 lines
  * merge ppu changes to keep ppus the same
........
r2788 | peter | 2006-03-06 12:59:14 +0100 (Mon, 06 Mar 2006) | 2 lines
  * Add TFPList and TFPObjectList
........
r2789 | peter | 2006-03-06 13:01:37 +0100 (Mon, 06 Mar 2006) | 2 lines
  * fix powerpc
........
git-svn-id: trunk@2790 - 
						
					 
					
						2006-03-06 12:04:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							5d6a002de0 
							
						 
					 
					
						
						
							
							* fixed compilation  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2779 - 
						
					 
					
						2006-03-05 22:26:37 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							b309574e22 
							
						 
					 
					
						
						
							
							* fixed code generation for -Og switch  
						
						 
						
						... 
						
						
						
						* copied createtempparaloc() method from i386 parameter manager to avoid copying for larger value parameters (see 2692)
* do not copy memory if references are equal in g_concatcopy()
* do not emit some strings used for debugging into assembly file in g_concatcopy by default anymore
* simplification of boolean expression in calc_stackframe_size()
git-svn-id: trunk@2694 - 
						
					 
					
						2006-02-26 17:30:49 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							51d98d439e 
							
						 
					 
					
						
						
							
							* fixed compilation on 32 bit hosts  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2636 - 
						
					 
					
						2006-02-19 18:20:48 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							99cbf815eb 
							
						 
					 
					
						
						
							
							* constant loading does not force usage of R12 anymore, fixing tests when regalloc is tight on registers (uses R0 again)  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2625 - 
						
					 
					
						2006-02-19 12:44:04 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							88ebc549a6 
							
						 
					 
					
						
						
							
							* some smartlinking fixes for ppc64  
						
						 
						
						... 
						
						
						
						* disable generation of TOC entries for constants for now
git-svn-id: trunk@2548 - 
						
					 
					
						2006-02-12 20:37:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							4fcc98fbf9 
							
						 
					 
					
						
						
							
							* fixed tlist overflow in some corner cases when fixing up jumps  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2342 - 
						
					 
					
						2006-01-26 09:54:56 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							6e290373c8 
							
						 
					 
					
						
						
							
							* div by const now enabled with -O2 (not -O3)  
						
						 
						
						... 
						
						
						
						* large integer constants (>2 instructions to load) are put into the TOC as well
git-svn-id: trunk@2233 - 
						
					 
					
						2006-01-08 18:04:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							4e35206d33 
							
						 
					 
					
						
						
							
							* basic ppc64 PIC code support  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2223 - 
						
					 
					
						2006-01-08 13:28:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							8c8e25353b 
							
						 
					 
					
						
						
							
							* reverted changes from 2214, needs to be split into several commits  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2215 - 
						
					 
					
						2006-01-08 01:03:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							6313a9be7b 
							
						 
					 
					
						
						
							
							* basic code generation for dynamic linking code for ppc64  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2214 - 
						
					 
					
						2006-01-07 22:16:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							3462426b1d 
							
						 
					 
					
						
						
							
							* stack frame optimizations  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@2172 - 
						
					 
					
						2006-01-04 23:27:40 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							4b48a8880f 
							
						 
					 
					
						
						
							
							* added support for BI and BO fields for branches  
						
						 
						
						... 
						
						
						
						* correct spilling for FP values
git-svn-id: trunk@2143 - 
						
					 
					
						2006-01-03 21:07:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							57b7b72ca4 
							
						 
					 
					
						
						
							
							* ppc64/linux specific compiler patches to improve C parameter passing compatibility  
						
						 
						
						... 
						
						
						
						* passes tcalext3 and tcalext4 test programs
git-svn-id: trunk@1984 - 
						
					 
					
						2005-12-18 22:08:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							651f34e27c 
							
						 
					 
					
						
						
							
							* ppc64: with -Or the compiler now also generates calls to helper functions in the function prolog/epilog instead of multiple stores/loads  
						
						 
						
						... 
						
						
						
						* ppc64: moved function prolog/epilog helper code into startup code
* ppc64: added FPU configuration code in math unit (fixes tw3161)
git-svn-id: trunk@1786 - 
						
					 
					
						2005-11-20 01:20:55 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							93bb997d8f 
							
						 
					 
					
						
						
							
							* ppc64/linux: enhanced varargs support (passes tprintf test now)  
						
						 
						
						... 
						
						
						
						* ppc64/linux: some small tweak for small memory locations copy code
git-svn-id: trunk@1778 - 
						
					 
					
						2005-11-17 21:35:01 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							54dee95053 
							
						 
					 
					
						
						
							
							* removed "+0" offset generation in assembler writer  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1717 - 
						
					 
					
						2005-11-10 15:16:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							d088695868 
							
						 
					 
					
						
						
							
							* ppc64: moved division by constant optimization from nppcmat to cgcpu unit  
						
						 
						
						... 
						
						
						
						* ppc64: cg now also replaces multiplications/divisions by negative powers of two by shifts (and a negate)
* ppc64: replacement of divison by constants now properly check the -O2 compiler switch
git-svn-id: trunk@1662 - 
						
					 
					
						2005-11-05 17:59:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							e4a61f4af1 
							
						 
					 
					
						
						
							
							* a_op_const_reg_reg optimizations  
						
						 
						
						... 
						
						
						
						* added some more 64 bit PPC opcodes
* removed last mwpascal references
* added replacement of division/modulo by constant by multiplications and shifts for 64 bit
* general cleanup
git-svn-id: trunk@1648 - 
						
					 
					
						2005-11-04 22:49:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							9228588260 
							
						 
					 
					
						
						
							
							- added handling of OS_NO parameters in a_param_ref  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1619 - 
						
					 
					
						2005-11-01 21:11:50 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							2198a6a44a 
							
						 
					 
					
						
						
							
							* assembly round and trunc routines for ppc64  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1601 - 
						
					 
					
						2005-10-26 21:43:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							c5f89d7efd 
							
						 
					 
					
						
						
							
							* release old stack pointer register on ppc64 after method prolog  
						
						 
						
						... 
						
						
						
						* threading fixes for ppc64
* fixed a_param_ref to respect the size parameter on ppc64
* better stack size calculation for ppc64
git-svn-id: trunk@1599 - 
						
					 
					
						2005-10-26 19:50:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							5520442fc4 
							
						 
					 
					
						
						
							
							* call by register now also takes care of the TOC and environment pointer  
						
						 
						
						... 
						
						
						
						* first "optimize for size"-optimization
git-svn-id: trunk@1593 - 
						
					 
					
						2005-10-25 20:12:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							9531293b89 
							
						 
					 
					
						
						
							
							* jumptable support  
						
						 
						
						... 
						
						
						
						* fixed cg for loading from addresses with symbol and large offset, but no base register
git-svn-id: trunk@1547 - 
						
					 
					
						2005-10-20 17:33:33 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							5fcb64f350 
							
						 
					 
					
						
						
							
							* parameter passing is now more ABI compliant  
						
						 
						
						... 
						
						
						
						* stack frame size optimization
* optimized (64 bit) constant loading
* some code generator code cleanup
git-svn-id: trunk@1539 - 
						
					 
					
						2005-10-19 23:25:21 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							0ba960e1bd 
							
						 
					 
					
						
						
							
							* added workarounds for some load/store instructions requiring 4 byte aligned addresses  
						
						 
						
						... 
						
						
						
						* some cleanup and optimization of 64 bit address loading in the code generator
* small changes to the IDE to make it compile
* stat type update for packages/cdrom compatibility
git-svn-id: trunk@1375 - 
						
					 
					
						2005-10-14 00:00:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							99120a3f2b 
							
						 
					 
					
						
						
							
							* fixed -Or cycle for PowerPC64 by adding the missing additional newra methods  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1359 - 
						
					 
					
						2005-10-12 13:16:02 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							bfb2c916dc 
							
						 
					 
					
						
						
							
							* fixed problem with too large offsets in conditional jumps (see also rev 1161 for the PowerPC code)  
						
						 
						
						... 
						
						
						
						* updated sysnr.inc for PowerPC64 from 2.6.11 kernel sources
* fixed SigactionRec sa_flags field sizes, which improves signal handling for PowerPC64 platform
git-svn-id: trunk@1352 - 
						
					 
					
						2005-10-10 23:45:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							9e7d550455 
							
						 
					 
					
						
						
							
							* fixed last commit (1337) which broke some files in the repository  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1338 - 
						
					 
					
						2005-10-08 17:23:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							f7f0f9c426 
							
						 
					 
					
						
						
							
							* makefile adaption to be able to cycle compiler and RTL on PowerPC64 target  
						
						 
						
						... 
						
						
						
						* some fixes for PowerPC64 target in the code generator and the RTL
* stabs generation for PowerPC64 is okay now (untested)
git-svn-id: trunk@1337 - 
						
					 
					
						2005-10-08 15:48:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							b2e1cf2610 
							
						 
					 
					
						
						
							
							* powerpc64 port now (manually) cycles, most test programs in tests/test are fine too  
						
						 
						
						... 
						
						
						
						* fixed bug in ncal.pas which in some circumstances treated the hidden length parameter for open arrays as 32 bit integer
git-svn-id: trunk@1303 - 
						
					 
					
						2005-10-05 21:55:25 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							28381b1287 
							
						 
					 
					
						
						
							
							* new assembler symbol type AT_LABEL needed for PowerPc64 target  
						
						 
						
						... 
						
						
						
						+ added automatic definition of FPC_REQUIRES_PROPER_ALIGNMENT define for PowerPC64 target
git-svn-id: trunk@1278 - 
						
					 
					
						2005-10-03 22:13:45 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								tom_at_work 
							
						 
					 
					
						
						
						
						
							
						
						
							3681639a6a 
							
						 
					 
					
						
						
							
							- more PowerPC64 fixes; "Hello World" style programs can be compiled and run  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1209 - 
						
					 
					
						2005-09-27 18:16:49 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							ec4d287fd8 
							
						 
					 
					
						
						
							
							* aktoutputformat removed, add new paraXX vars for target  
						
						 
						
						... 
						
						
						
						assembler and debuginfo and use these vars to override
    the defaults for the target after the parameters are read
  * remove not-maintained and tested gdb code
git-svn-id: trunk@1201 - 
						
					 
					
						2005-09-25 21:17:37 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6bf3269b41 
							
						 
					 
					
						
						
							
							* powerpc64 port from Thomas Schatzl  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@1193 - 
						
					 
					
						2005-09-25 17:19:44 +00:00