Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a8191abd16 
							
						 
					 
					
						
						
							
							* fixed parsing of "rcl/rcr rm,imm" (mantis  #9025 )  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@8272 - 
						
					 
					
						2007-08-12 13:50:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4151029ee5 
							
						 
					 
					
						
						
							
							+ .fini section support  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@8174 - 
						
					 
					
						2007-07-28 08:40:10 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							89eddc7504 
							
						 
					 
					
						
						
							
							* check for valid reference before parsing extra constant values  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@8154 - 
						
					 
					
						2007-07-23 20:16:23 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							67e16340be 
							
						 
					 
					
						
						
							
							* revert r8118  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@8139 - 
						
					 
					
						2007-07-22 19:59:00 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							447276c5bb 
							
						 
					 
					
						
						
							
							* Jcc reads the flags, this was not in the dat yet,  resolves   #9278  
						
						 
						
						... 
						
						
						
						* disabled 4 ops variant of insertq for now
git-svn-id: trunk@8133 - 
						
					 
					
						2007-07-22 16:40:44 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							21293f5818 
							
						 
					 
					
						
						
							
							+ Add common type integer promotion.  
						
						 
						
						... 
						
						
						
						- {$intpromotion common_type} or -CIcommon_type switches to common type promotion.
    - {$intpromotion native_integer} or -CIcommon_type switches to current behaviour.
    - Default in tp mode is common_type, native_integer in other modes
    - Compiler can cycle with -CIcommon_type
    - Still needs checking on other architectures than i386
git-svn-id: trunk@8118 - 
						
					 
					
						2007-07-21 19:16:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							a05d228679 
							
						 
					 
					
						
						
							
							- Remove IE from g_concatcopy again.  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@8065 - 
						
					 
					
						2007-07-15 16:15:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							f0633187f4 
							
						 
					 
					
						
						
							
							+ Change constants in g_concatcopy to make the right decisions on x86_64.  
						
						 
						
						... 
						
						
						
						* Fix move copy in g_concatcopy for x86_64.
git-svn-id: trunk@8058 - 
						
					 
					
						2007-07-14 21:29:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							4f6eb50391 
							
						 
					 
					
						
						
							
							+ Internalerror if g_concatcopy is called with len=0.  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@8052 - 
						
					 
					
						2007-07-14 18:56:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e23a8655e8 
							
						 
					 
					
						
						
							
							* fixed generic in-code in case left = LOC_JUMP  
						
						 
						
						... 
						
						
						
						* fixed generic and x86 in-code in case genjumps=true and
    complexity(right)>complexity(left) (not sure if possible
    in practice currently, but better safe than sorry)
git-svn-id: trunk@7912 - 
						
					 
					
						2007-07-01 19:35:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							26a4f693da 
							
						 
					 
					
						
						
							
							* more packed set operand size problems fixed (include/exclude, mantis  
						
						 
						
						... 
						
						
						
						#9167 )
git-svn-id: trunk@7833 - 
						
					 
					
						2007-06-27 19:50:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8caad93eaf 
							
						 
					 
					
						
						
							
							* fixed several problems with packed set operand sizes  
						
						 
						
						... 
						
						
						
						* added LOC_CONSTANT to the list of allowed locations for the left
    hand side of an in-node, so it doesn't get forced into a register
    anymore in that case
git-svn-id: trunk@7831 - 
						
					 
					
						2007-06-27 17:26:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							9adb202a92 
							
						 
					 
					
						
						
							
							* Rework the constexprint to allow operations from low(int64) to high(qword).  
						
						 
						
						... 
						
						
						
						+ Some initial work on a formaldef which also carries the typinfo of a parameter.
git-svn-id: trunk@7639 - 
						
					 
					
						2007-06-13 07:41:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c7100799ed 
							
						 
					 
					
						
						
							
							+ forbid usage of $E on targets supporting no fpu emulation  
						
						 
						
						... 
						
						
						
						- disabled -Cfsoft on i386
git-svn-id: trunk@7625 - 
						
					 
					
						2007-06-10 17:03:26 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							0e96eda236 
							
						 
					 
					
						
						
							
							+ some sse4 instructions supported,  resolves   #9046  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7613 - 
						
					 
					
						2007-06-09 19:45:06 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							fe69d19f9c 
							
						 
					 
					
						
						
							
							* align stack properly if no stack frame is generated, should  resolve   #8986  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7611 - 
						
					 
					
						2007-06-09 18:46:35 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8bcb6e689d 
							
						 
					 
					
						
						
							
							* only check validity of assembler instructions in pass_2, after all  
						
						 
						
						... 
						
						
						
						local operands have been resolved (mantis #8950 )
git-svn-id: trunk@7516 - 
						
					 
					
						2007-05-29 16:53:28 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a0b57eddb5 
							
						 
					 
					
						
						
							
							* new internal set format for big endian systems. Advantages:  
						
						 
						
						... 
						
						
						
						* varsets ({$packset x}) are now supported on big endian targets
    * gdb now displays sets properly on big endian systems
    * cleanup of generic set code (in, include/exclude, helpers), all
      based on "bitpacked array[] of 0..1" now
  * there are no helpers available yet to convert sets from the old to
    the new format, because the set format will change again slightly
    in the near future (so that e.g. a set of 24..31 will be stored in
    1 byte), and creating two classes of set conversion helpers would
    confuse things (i.e., it's not recommended to use trunk currently for
    programs  which load sets stored to disk by big endian programs compiled
    by previous FPC versions)
  * cross-endian compiling has been tested and still works, but one case
    is not supported: compiling a compiler for a different endianess
    using a starting compiler from before the current revision (so first
    cycle natively, and then use the newly created compiler to create a
    cross-compiler)
git-svn-id: trunk@7395 - 
						
					 
					
						2007-05-19 17:15:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							182fca72f2 
							
						 
					 
					
						
						
							
							* Change spill_* routines to return Taicpu instead of Tai to increase  
						
						 
						
						... 
						
						
						
						strong typing.
  * Fix PowerPC R0 register allocation
git-svn-id: trunk@7317 - 
						
					 
					
						2007-05-12 15:43:16 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							3ad8257ecb 
							
						 
					 
					
						
						
							
							* Fix replace spilling of shld/shrd.  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7252 - 
						
					 
					
						2007-05-03 20:56:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							f3660976bc 
							
						 
					 
					
						
						
							
							+ Allow replace spilling for "opcode register,const" and "opcode const,register"  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7183 - 
						
					 
					
						2007-04-28 19:11:17 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							c43855a8f7 
							
						 
					 
					
						
						
							
							* Improve comment for [0..31]-x optimization  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7177 - 
						
					 
					
						2007-04-27 13:35:25 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							ea79e69176 
							
						 
					 
					
						
						
							
							+ Add optimization to optimize [0..31]-x set expression to use one less  
						
						 
						
						... 
						
						
						
						register. This construction is used in our Shootout meteor contest
    implementation.
git-svn-id: trunk@7176 - 
						
					 
					
						2007-04-26 21:48:18 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							29ffdefacb 
							
						 
					 
					
						
						
							
							* secrel32 relocation support required by dwarf2 under windows  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7172 - 
						
					 
					
						2007-04-25 09:06:36 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							f87e96dfb0 
							
						 
					 
					
						
						
							
							* properly release open array value parameters on x86-64 or if they contain automated types,  resolves   #8664  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@7100 - 
						
					 
					
						2007-04-13 19:20:56 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							5f169f97ff 
							
						 
					 
					
						
						
							
							* fixed SSE2 substraction when both operands are on the 80x87 fpu stack  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6959 - 
						
					 
					
						2007-03-23 00:21:46 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Tomas Hajny 
							
						 
					 
					
						
						
						
						
							
						
						
							30b78920cd 
							
						 
					 
					
						
						
							
							* OS/2 compilation fixes (not completely finished yet)  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6937 - 
						
					 
					
						2007-03-20 00:49:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d55dbf92d3 
							
						 
					 
					
						
						
							
							* fixed assembling of cvt(t)ss2si  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6918 - 
						
					 
					
						2007-03-18 17:35:22 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4fc85cb084 
							
						 
					 
					
						
						
							
							* new test  
						
						 
						
						... 
						
						
						
						* fix compilation on i386
git-svn-id: trunk@6861 - 
						
					 
					
						2007-03-14 21:09:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							bae83ee777 
							
						 
					 
					
						
						
							
							* set expectloc correctly on x86-64  
						
						 
						
						... 
						
						
						
						* decide properly if we inline trunc or not on x86-64
git-svn-id: trunk@6860 - 
						
					 
					
						2007-03-14 21:05:15 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							f4840620f0 
							
						 
					 
					
						
						
							
							* location.size of trunc/round must be OS_S64  
						
						 
						
						... 
						
						
						
						* fixed assembling of cvt*2si
+ optimized trunc/round for x86_64/sse
* only floats need no type cast for trunc/round
git-svn-id: trunk@6859 - 
						
					 
					
						2007-03-14 20:56:14 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							d1d6413443 
							
						 
					 
					
						
						
							
							* use S_IQ opsize for A_FISTP instruction  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6848 - 
						
					 
					
						2007-03-14 17:09:42 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							bcb1cf0d28 
							
						 
					 
					
						
						
							
							* make no use of int registers in trunc to reduce register pressure  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6844 - 
						
					 
					
						2007-03-14 10:23:52 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							f07349a774 
							
						 
					 
					
						
						
							
							* force S_IQ size for movq instruction, needed for nasm  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6835 - 
						
					 
					
						2007-03-13 23:17:09 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c4f65df9f9 
							
						 
					 
					
						
						
							
							* fixed expectloc setting  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6833 - 
						
					 
					
						2007-03-13 22:45:41 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8aa259401c 
							
						 
					 
					
						
						
							
							* fixed x86-64  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6828 - 
						
					 
					
						2007-03-13 21:12:40 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							1cd41b68f7 
							
						 
					 
					
						
						
							
							* compiler handled round/trunc for x86  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6827 - 
						
					 
					
						2007-03-13 20:23:24 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e6e1a3a09b 
							
						 
					 
					
						
						
							
							* fixed assembling of sse instructions on x86-64 with regs > xmm7  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6714 - 
						
					 
					
						2007-03-04 19:16:20 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							9a0f769b2f 
							
						 
					 
					
						
						
							
							* cleaned up set conversion  
						
						 
						
						... 
						
						
						
						* fixed conversion of var sets
git-svn-id: trunk@6644 - 
						
					 
					
						2007-02-25 16:29:39 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							05e0a804cc 
							
						 
					 
					
						
						
							
							* fixes cardinal in reg -> real on x86-64,  resolves   #8225  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6588 - 
						
					 
					
						2007-02-21 16:53:57 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							9256c180de 
							
						 
					 
					
						
						
							
							* Fix register allocation bug that happens when a coalesced  
						
						 
						
						... 
						
						
						
						move is spilled in its entirely.
git-svn-id: trunk@6408 - 
						
					 
					
						2007-02-10 22:47:13 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							08f48f5fc9 
							
						 
					 
					
						
						
							
							* completed jrcxz support  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6401 - 
						
					 
					
						2007-02-10 21:14:05 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							a19ed91cc3 
							
						 
					 
					
						
						
							
							* fix for jcxz, jecxz and jrcxz on 64 bit platforms  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6400 - 
						
					 
					
						2007-02-10 21:05:27 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9813a8708c 
							
						 
					 
					
						
						
							
							* fixed encoding of jcxz  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6398 - 
						
					 
					
						2007-02-10 20:38:38 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							1863fb4c55 
							
						 
					 
					
						
						
							
							* make more use of location_force_register in in-code, should fix  
						
						 
						
						... 
						
						
						
						cycle on x86-64
git-svn-id: trunk@6376 - 
						
					 
					
						2007-02-08 14:14:32 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							21cef2cdb1 
							
						 
					 
					
						
						
							
							* r6372 for x86(-64)  
						
						 
						
						... 
						
						
						
						git-svn-id: trunk@6373 - 
						
					 
					
						2007-02-07 23:10:54 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f38d29cfab 
							
						 
					 
					
						
						
							
							* optimized previous patch for "byte in set" (Thorsten Engler)  
						
						 
						
						... 
						
						
						
						* fixed storing/loading of setdefs to/from ppu + test (Thorsten Engler)
  * fixed ppudump for new setdef format in ppus
git-svn-id: trunk@6363 - 
						
					 
					
						2007-02-07 20:22:29 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							fc3852e59a 
							
						 
					 
					
						
						
							
							* in non-TP modes, 'ord_larger_than_256 in set' now always returns  
						
						 
						
						... 
						
						
						
						false instead of triggering a range error (mantis #8258 ,
    based on patch provided by Thorsten Engler)
git-svn-id: trunk@6357 - 
						
					 
					
						2007-02-07 18:57:19 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							1a32e4fdf5 
							
						 
					 
					
						
						
							
							* fixed pushing of words in intel assembler (indirectly related to  
						
						 
						
						... 
						
						
						
						wrong bug report 7808)
git-svn-id: trunk@6274 - 
						
					 
					
						2007-01-30 21:52:11 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							cc67ed17b5 
							
						 
					 
					
						
						
							
							* fixed uninitialised variable (mantis 8198, already tested by  
						
						 
						
						... 
						
						
						
						webtbs/tw3931a.pp)
git-svn-id: trunk@6183 - 
						
					 
					
						2007-01-25 11:43:15 +00:00