Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							28cd8271c9 
							
						 
					 
					
						
						
							
							* initial version of internal Mach-O/i386 assembler by Dmitry Boyarintsev  
						
						... 
						
						
						
						(mantis #15163 )
git-svn-id: trunk@14628 - 
						
					 
					
						2010-01-12 19:52:55 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							4123e0425c 
							
						 
					 
					
						
						
							
							* don't generate instruction alignment fill bytes in non exectuable sections  
						
						... 
						
						
						
						git-svn-id: trunk@14251 - 
						
					 
					
						2009-11-21 22:34:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ec8fee45fe 
							
						 
					 
					
						
						
							
							* do not access local data via the GOT on x86_64, because  
						
						... 
						
						
						
						a) it's unnecessary
   b) it's slower than "direct" RIP-relative accessing
   c) it's not supported on darwin/x86_64 in certain cases
  * never use absolute addressing on darwin/x86_64 (like on win64)
  * when not generating PIC, make sure that a_loadaddr_ref_reg on x86_64
    also uses RIP-relative addressing for darwin/x86_64 and win64
git-svn-id: trunk@13760 - 
						
					 
					
						2009-09-27 13:43:56 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							146a819615 
							
						 
					 
					
						
						
							
							* fixed spilling of and operations on spilled 32 bit values for x86_64  
						
						... 
						
						
						
						(mantis #14403 )
git-svn-id: trunk@13573 - 
						
					 
					
						2009-08-21 16:20:16 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							92ad06f1e8 
							
						 
					 
					
						
						
							
							* Always use RIP relative symbol addressing for x86_64 Windows targets. Bug  #13657 .  
						
						... 
						
						
						
						* Support for simple form of RIP relative addressing by x86_64 assembler writer. Example: movl rax,SomeSymbol(%rip)
git-svn-id: trunk@13135 - 
						
					 
					
						2009-05-13 10:07:44 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							80ff09c6f4 
							
						 
					 
					
						
						
							
							* correct handling of constant operands of aad/aam  
						
						... 
						
						
						
						git-svn-id: trunk@12158 - 
						
					 
					
						2008-11-18 16:21:58 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							145dc4d8d6 
							
						 
					 
					
						
						
							
							* write assembler error at the correct position, first fix for  #12595  
						
						... 
						
						
						
						git-svn-id: trunk@12157 - 
						
					 
					
						2008-11-18 16:08:22 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							53ffda14f3 
							
						 
					 
					
						
						
							
							* fixes taking the address of an assembler block defined label  
						
						... 
						
						
						
						* create short jumps also for asm blocks, thanks to Sergej Gorelkin for the patch, resolves  #11638 
git-svn-id: trunk@12043 - 
						
					 
					
						2008-11-09 21:14:45 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							5e11e697b4 
							
						 
					 
					
						
						
							
							* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.  
						
						... 
						
						
						
						git-svn-id: trunk@11480 - 
						
					 
					
						2008-07-28 20:29:25 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							0bcaf8845f 
							
						 
					 
					
						
						
							
							* Fixed 'mixed signed/unsigned' warnings.  
						
						... 
						
						
						
						* Suppressed 2 unreachable code warnings.
* Now x86 compiler compiles without warnings and notes! It will be great to keep such state in future...
git-svn-id: trunk@11455 - 
						
					 
					
						2008-07-23 13:16:46 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							82c7896d8d 
							
						 
					 
					
						
						
							
							* more ins. dat issues popped up, did I mention I start to hate it :(?  
						
						... 
						
						
						
						git-svn-id: trunk@8968 - 
						
					 
					
						2007-10-28 14:08:04 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							d74bd34a91 
							
						 
					 
					
						
						
							
							* fix 32bit truncation in type determination of constant operands  
						
						... 
						
						
						
						git-svn-id: trunk@8909 - 
						
					 
					
						2007-10-22 16:36:41 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c19217f846 
							
						 
					 
					
						
						
							
							* only for jump instructions we need to look at the relative  
						
						... 
						
						
						
						offset of an symbol
git-svn-id: trunk@8664 - 
						
					 
					
						2007-09-27 20:10:30 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b4b715f213 
							
						 
					 
					
						
						
							
							* make sure tai_align.calculatefillbuf no longer destroys the fillsize  
						
						... 
						
						
						
						field, because it can still be read afterwards
git-svn-id: trunk@8602 - 
						
					 
					
						2007-09-22 13:01:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							67e16340be 
							
						 
					 
					
						
						
							
							* revert r8118  
						
						... 
						
						
						
						git-svn-id: trunk@8139 - 
						
					 
					
						2007-07-22 19:59:00 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							0e96eda236 
							
						 
					 
					
						
						
							
							+ some sse4 instructions supported,  resolves   #9046  
						
						... 
						
						
						
						git-svn-id: trunk@7613 - 
						
					 
					
						2007-06-09 19:45:06 +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 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d55dbf92d3 
							
						 
					 
					
						
						
							
							* fixed assembling of cvt(t)ss2si  
						
						... 
						
						
						
						git-svn-id: trunk@6918 - 
						
					 
					
						2007-03-18 17:35:22 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9813a8708c 
							
						 
					 
					
						
						
							
							* fixed encoding of jcxz  
						
						... 
						
						
						
						git-svn-id: trunk@6398 - 
						
					 
					
						2007-02-10 20:38:38 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							db3f8575ae 
							
						 
					 
					
						
						
							
							* fixed library creating on x86_64-linux  
						
						... 
						
						
						
						git-svn-id: trunk@5828 - 
						
					 
					
						2007-01-06 20:27:59 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c759b114bf 
							
						 
					 
					
						
						
							
							* allow second operand being am imm in intel assembler,  fixed   #7719  
						
						... 
						
						
						
						git-svn-id: trunk@5823 - 
						
					 
					
						2007-01-05 23:15:25 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							a23fa2e81e 
							
						 
					 
					
						
						
							
							* moved (unfinished) routines related to writing taicpu's to ppu files  
						
						... 
						
						
						
						from x86/aasmcpu to aasmtai and (new) aasmsym, so that when they're
    finished they're available for all targets
  * added dummy implementation of tai_cpu_abstract.pass1 and pass2 so there
    are no more hundreds of warnings on non-x86 about constructing taicpu
    instances with abstract methods
git-svn-id: trunk@5787 - 
						
					 
					
						2007-01-02 18:28:05 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							ef7bd58c54 
							
						 
					 
					
						
						
							
							* germanism removed (aktfilepos -> current_filepos)  
						
						... 
						
						
						
						git-svn-id: trunk@5099 - 
						
					 
					
						2006-10-30 22:37:31 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1de2f94b28 
							
						 
					 
					
						
						
							
							* fixed typo in r4848  
						
						... 
						
						
						
						git-svn-id: trunk@4966 - 
						
					 
					
						2006-10-18 20:19:44 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							71665dbc4c 
							
						 
					 
					
						
						
							
							* initial addr_pic support for x86_64 binary writer  
						
						... 
						
						
						
						git-svn-id: trunk@4848 - 
						
					 
					
						2006-10-10 18:36:41 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							fb5e396881 
							
						 
					 
					
						
						
							
							+ experimental -Sv option to support vector arithmetics  
						
						... 
						
						
						
						git-svn-id: trunk@4825 - 
						
					 
					
						2006-10-07 21:39:48 +00:00 
						 
				 
			
				
					
						
							
							
								micha 
							
						 
					 
					
						
						
						
						
							
						
						
							d704af7216 
							
						 
					 
					
						
						
							
							fix compilation for {$T+} linux/win  
						
						... 
						
						
						
						git-svn-id: trunk@4794 - 
						
					 
					
						2006-10-04 20:43:55 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							51259b697b 
							
						 
					 
					
						
						
							
							* more mmx/sse register spilling fixes:  
						
						... 
						
						
						
						* operand read/write info for movaps and movapd
    * use "movapd reg,reg" instead of "movaps reg,reg" if appropriate
      so the spilling code can spill the correct size to memory
    * replace movaps/movapd with movss/movsd when spilling to memory
      instead of movq
git-svn-id: trunk@4612 - 
						
					 
					
						2006-09-12 11:07:45 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e1d1f92672 
							
						 
					 
					
						
						
							
							* don't write rex twice  
						
						... 
						
						
						
						git-svn-id: trunk@4525 - 
						
					 
					
						2006-08-31 21:58:13 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							5118e35016 
							
						 
					 
					
						
						
							
							* another mayewriterex added,  fixes   #7261  
						
						... 
						
						
						
						git-svn-id: trunk@4511 - 
						
					 
					
						2006-08-27 18:49:12 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							34a58e5287 
							
						 
					 
					
						
						
							
							* fix alignment padding for x86_64  
						
						... 
						
						
						
						git-svn-id: trunk@4001 - 
						
					 
					
						2006-06-29 20:34:54 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							3167d18e6b 
							
						 
					 
					
						
						
							
							* fix modrm for r13, it has the same limitations as rbp  
						
						... 
						
						
						
						git-svn-id: trunk@3944 - 
						
					 
					
						2006-06-25 17:21:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							2f147715f4 
							
						 
					 
					
						
						
							
							* more rex fixes  
						
						... 
						
						
						
						git-svn-id: trunk@3917 - 
						
					 
					
						2006-06-21 19:51:09 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							b672df519a 
							
						 
					 
					
						
						
							
							* flexible position of REX, required for SSE2 commands  
						
						... 
						
						
						
						git-svn-id: trunk@3906 - 
						
					 
					
						2006-06-20 22:38:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							41c762a08d 
							
						 
					 
					
						
						
							
							* remove extdebug around rex checking  
						
						... 
						
						
						
						* move optional rex writing to routine and add call also for code 15
git-svn-id: trunk@3903 - 
						
					 
					
						2006-06-20 18:59:27 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							307315cef6 
							
						 
					 
					
						
						
							
							* movq is also a pure move  
						
						... 
						
						
						
						git-svn-id: trunk@3588 - 
						
					 
					
						2006-05-19 23:52:10 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							ac4bde88ac 
							
						 
					 
					
						
						
							
							* fix 3 operand instructions with third operand being a constant  
						
						... 
						
						
						
						git-svn-id: trunk@3502 - 
						
					 
					
						2006-05-13 19:51:32 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							98d428ff30 
							
						 
					 
					
						
						
							
							* fixed coding style  
						
						... 
						
						
						
						git-svn-id: trunk@3338 - 
						
					 
					
						2006-04-26 18:13:14 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							22ada6da0d 
							
						 
					 
					
						
						
							
							* initialize output of process_ea  
						
						... 
						
						
						
						git-svn-id: trunk@3323 - 
						
					 
					
						2006-04-23 19:19:49 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							f702b481f0 
							
						 
					 
					
						
						
							
							* fixed assembling of (%rbp)  
						
						... 
						
						
						
						git-svn-id: trunk@3239 - 
						
					 
					
						2006-04-17 07:58:37 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							583668896a 
							
						 
					 
					
						
						
							
							* rex is x86_64 only  
						
						... 
						
						
						
						git-svn-id: trunk@3078 - 
						
					 
					
						2006-03-30 06:21:38 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8ba4fcaad9 
							
						 
					 
					
						
						
							
							* fixed handling of code 214  
						
						... 
						
						
						
						git-svn-id: trunk@3075 - 
						
					 
					
						2006-03-29 20:24:36 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							2cfd698273 
							
						 
					 
					
						
						
							
							* sib is required for r12 based addressing too  
						
						... 
						
						
						
						git-svn-id: trunk@3069 - 
						
					 
					
						2006-03-28 21:15:00 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							7a34d58a15 
							
						 
					 
					
						
						
							
							* encode new 8 bit registers correctly  
						
						... 
						
						
						
						git-svn-id: trunk@3064 - 
						
					 
					
						2006-03-27 20:41:28 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e1147755df 
							
						 
					 
					
						
						
							
							* fixed cmp  
						
						... 
						
						
						
						* correct sign extension for 8 byte constants
git-svn-id: trunk@3063 - 
						
					 
					
						2006-03-27 20:24:57 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							56dc874476 
							
						 
					 
					
						
						
							
							* rsp based addressing fixed  
						
						... 
						
						
						
						git-svn-id: trunk@3045 - 
						
					 
					
						2006-03-26 20:14:17 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							5d243f665a 
							
						 
					 
					
						
						
							
							* fixed <instr> reg,reg with regs>=r8  
						
						... 
						
						
						
						* fixed section naming
* fixed relocations
git-svn-id: trunk@3041 - 
						
					 
					
						2006-03-26 17:54:02 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							42fab68bc8 
							
						 
					 
					
						
						
							
							* fixed disp32 and rip relative addressing  
						
						... 
						
						
						
						git-svn-id: trunk@3039 - 
						
					 
					
						2006-03-26 13:38:21 +00:00