florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d6e4af8279 
							
						 
					 
					
						
						
							
							+ applied remaining patches of Torsten Grundke: adds gather instructions of avx2  
						
						... 
						
						
						
						git-svn-id: trunk@29745 - 
						
					 
					
						2015-02-17 21:43:46 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							475a9e1617 
							
						 
					 
					
						
						
							
							* Asm readers: allow using procedure symbols in references,  resolves   #22376 .  
						
						... 
						
						
						
						* rax86int.pas: reject RIP-relative references to locals/parameters.
git-svn-id: trunk@29087 - 
						
					 
					
						2014-11-17 05:34:55 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							42d251da1c 
							
						 
					 
					
						
						
							
							- x86 assembler readers: cleaned out operand swapping code. Operands of TInstruction are kept in AT&T order, Intel reader attaches operands right-to-left. It was effectively the same way before the change (except Intel reader attaching operands left-to-right, followed by a single swap), operand order checks all over the place were just reducing readability.  
						
						... 
						
						
						
						git-svn-id: trunk@29081 - 
						
					 
					
						2014-11-16 16:37:26 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							de42f2f2f7 
							
						 
					 
					
						
						
							
							* Fixed handling of sign in constant expressions in Intel x86 assembler reader. Mantis  #26668 .  
						
						... 
						
						
						
						git-svn-id: trunk@28731 - 
						
					 
					
						2014-10-03 15:51:38 +00:00 
						 
				 
			
				
					
						
							
							
								nickysn 
							
						 
					 
					
						
						
						
						
							
						
						
							9b560ffd64 
							
						 
					 
					
						
						
							
							* x86 intel syntax inline asm: allow a segment override (segcs,segds,seges,etc.)  
						
						... 
						
						
						
						to be followed by an instruction on the same line as the override
git-svn-id: trunk@28066 - 
						
					 
					
						2014-06-25 21:06:19 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							e7cd5319f0 
							
						 
					 
					
						
						
							
							* Put under {$ifndef x86_64} more cases of instructions that do not exist in 64-bit mode.  
						
						... 
						
						
						
						git-svn-id: trunk@27933 - 
						
					 
					
						2014-06-11 12:51:38 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							5c48804240 
							
						 
					 
					
						
						
							
							* Moved local label infrastructure into tasmreader, reduces number of global vars. Functionality is not changed.  
						
						... 
						
						
						
						git-svn-id: trunk@27477 - 
						
					 
					
						2014-04-05 09:43:13 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							9c54cdc85d 
							
						 
					 
					
						
						
							
							* x86: Cleaned out addr_far,addr_far_ref used to encode far calls/jumps. NASM (and FPC x86 assembler based on it) already have opsize=S_FAR for this purpose.  
						
						... 
						
						
						
						git-svn-id: trunk@27037 - 
						
					 
					
						2014-03-08 22:54:43 +00:00 
						 
				 
			
				
					
						
							
							
								nickysn 
							
						 
					 
					
						
						
						
						
							
						
						
							4f96e8a20d 
							
						 
					 
					
						
						
							
							* convert i8086 inline asm instruction 'call symbol' to 'call far symbol' in memory models with far code  
						
						... 
						
						
						
						git-svn-id: trunk@25438 - 
						
					 
					
						2013-09-08 16:34:12 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							ea65e272dd 
							
						 
					 
					
						
						
							
							* Changed global variable into field.  
						
						... 
						
						
						
						git-svn-id: trunk@25217 - 
						
					 
					
						2013-08-05 16:32:37 +00:00 
						 
				 
			
				
					
						
							
							
								svenbarth 
							
						 
					 
					
						
						
						
						
							
						
						
							b6bfa864d4 
							
						 
					 
					
						
						
							
							Disallow the usage of the inline assembler inside generics, because there are currently two problems:  
						
						... 
						
						
						
						1. At least on x86 the assembler reader initializes the parameter location informations which results in InternalError 200301231
2. Assembler tokens are not stored in the token stream and thus won't be reproduced during specialization
x86/rax86int.pas, tx86intreader.Assemble:
  * check for "parse_generic" before calling generate_parameter_info
pstatmnt.pas, assembler_block & statement:
  * generate an error message if an asm statement should be parsed inside a generic
+ added test
git-svn-id: trunk@24892 - 
						
					 
					
						2013-06-13 19:42:49 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							283ff05127 
							
						 
					 
					
						
						
							
							* merged avx support in inline assembler developed by Torsten Grundke  
						
						... 
						
						
						
						git-svn-id: trunk@22568 - 
						
					 
					
						2012-10-06 19:47:18 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							68d9e95120 
							
						 
					 
					
						
						
							
							* if the size of an operand is not explicitly forced in intel assembler  
						
						... 
						
						
						
						(e.g. via "dword ptr"), let the size of accessed fields in memory
    expressions override the default size (mantis #18019 )
git-svn-id: trunk@22250 - 
						
					 
					
						2012-08-26 17:05:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							4d0e4e1b56 
							
						 
					 
					
						
						
							
							* treat "[var + rip]" in intel assembler mode as addr_pic_no_got on x86-64  
						
						... 
						
						
						
						(mantis #22665 )
  + support "[var wrt ..gotpcrel]" nasm/yasm syntax in intel assembler mode
    for GOT-relative accesses on x86-64, + give an error when trying to do
    this on win64 (it doesn't have a GOT)
  * moved code that give a warning when using GOT-relative accesses to
    static data on x86-64 from the AT&T reader to rax86 so it's also
    active for the Intel assembler reader
  + added warning when not using GOT-relative accesses (but plain
    RIP-relative instead) to global data on non-Win64 x86-64
git-svn-id: trunk@22243 - 
						
					 
					
						2012-08-25 15:12:49 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							2c43e084f0 
							
						 
					 
					
						
						
							
							* disabled "[reg].offset globalvar" pic syntax in intel assembler mode for  
						
						... 
						
						
						
						x86-64, because it does not specify whether the code should be got-based
    or not
git-svn-id: trunk@22242 - 
						
					 
					
						2012-08-25 15:12:44 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							860d753055 
							
						 
					 
					
						
						
							
							* treat registers (and identifiers of register parameter) as normal identifiers when parsing record fields in intel assembler,  resolves   #19555  
						
						... 
						
						
						
						git-svn-id: trunk@18268 - 
						
					 
					
						2011-08-18 21:58:30 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							08ff5ff051 
							
						 
					 
					
						
						
							
							* x86 Intel assembler reader: disallow more than one register name per register operand,  resolves   #15672 .  
						
						... 
						
						
						
						git-svn-id: trunk@17507 - 
						
					 
					
						2011-05-19 20:00:15 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e7fa076b70 
							
						 
					 
					
						
						
							
							* handle variables without explicit size prefix better in inline assembler,  resolves   #18009  
						
						... 
						
						
						
						git-svn-id: trunk@16859 - 
						
					 
					
						2011-01-30 21:57:30 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							ba6a4760e9 
							
						 
					 
					
						
						
							
							* fix regression 16700 introduced in rev 16104  
						
						... 
						
						
						
						git-svn-id: trunk@16133 - 
						
					 
					
						2010-10-11 21:23:11 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							586dd1ee49 
							
						 
					 
					
						
						
							
							* fix go32v2 assembler parsing failure introduced in rev 16104  
						
						... 
						
						
						
						git-svn-id: trunk@16132 - 
						
					 
					
						2010-10-11 20:53:19 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							207e0b58f5 
							
						 
					 
					
						
						
							
							* Support Intel [ebx].offset var PIC construct  
						
						... 
						
						
						
						git-svn-id: trunk@16109 - 
						
					 
					
						2010-10-08 13:19:50 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							7f200ab27e 
							
						 
					 
					
						
						
							
							* Use asmsearchsym in assembler readers  
						
						... 
						
						
						
						git-svn-id: trunk@16104 - 
						
					 
					
						2010-10-08 07:58:18 +00:00 
						 
				 
			
				
					
						
							
							
								mazen 
							
						 
					 
					
						
						
						
						
							
						
						
							b127fc154a 
							
						 
					 
					
						
						
							
							* Fixed spell error revealed by lintian.  
						
						... 
						
						
						
						git-svn-id: trunk@16094 - 
						
					 
					
						2010-10-06 20:33:57 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9273856e84 
							
						 
					 
					
						
						
							
							* disallow pusha*/popa* for x86_64 (mantis  #14862 )  
						
						... 
						
						
						
						* disallow pushfd/popfd for x86_64 (mantis #14862 )
  * fixed assembling popfq with the internal assembler (it needs a rex.w
    prefisx, while pushfq doesn't)
  * changed the default opcode size of pushf/popf/pusha/popa in
    {$asmmode intel} from "native size" to 16 bit (compatible with Intel
    manuals and Kylix; in AT&T mode, the default size for those operations
    remains the native one)
  * changed pushf/popf in rtl/i386/* into pushfd/popfd because of the
    previous change
git-svn-id: trunk@15546 - 
						
					 
					
						2010-07-10 16:22:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							6d6892bec6 
							
						 
					 
					
						
						
							
							* fixed "byte/word/... ptr []" and "byte/word/..([])" typecasted expressions  
						
						... 
						
						
						
						in case the memory expression contains a record subscription (mantis
    #16700 )
git-svn-id: trunk@15408 - 
						
					 
					
						2010-06-11 14:51:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8542632ebe 
							
						 
					 
					
						
						
							
							* fixed evaluating constant expressions consisting of more than one term and  
						
						... 
						
						
						
						that start with a minus in the intel assembler reader (mantis #15843 )
git-svn-id: trunk@15041 - 
						
					 
					
						2010-03-24 20:52:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f90768ed6a 
							
						 
					 
					
						
						
							
							* small optimisation for r14449: check whether the routine is a pure  
						
						... 
						
						
						
						assembler routine before checking whether an identifier may represent a
    register parameter, instead of afterwards
git-svn-id: trunk@14843 - 
						
					 
					
						2010-02-02 10:40:25 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d3f9e6290b 
							
						 
					 
					
						
						
							
							* fixed error in r14402 for functions/procedures that are not declared as  
						
						... 
						
						
						
						"assembler" (mantis #15370 )
git-svn-id: trunk@14449 - 
						
					 
					
						2009-12-17 16:04:09 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f2c0190aa3 
							
						 
					 
					
						
						
							
							* treat parameters that are passed in registers as register operands in the  
						
						... 
						
						
						
						x86 intel assembler reader (patch by Sergei Gorelkin, mantis #6851 )
git-svn-id: trunk@14402 - 
						
					 
					
						2009-12-11 13:33:05 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b9fddff9c4 
							
						 
					 
					
						
						
							
							* avoid IE in case of unknown assembler reference syntax  
						
						... 
						
						
						
						git-svn-id: trunk@13364 - 
						
					 
					
						2009-07-05 19:16:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ca132e203f 
							
						 
					 
					
						
						
							
							* treat typecast(register) the same as typecast([register]) in assembler  
						
						... 
						
						
						
						expressions (for Delphi compatibility, mantis #9327 )
git-svn-id: trunk@13040 - 
						
					 
					
						2009-04-25 15:37:38 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							cf7390ea81 
							
						 
					 
					
						
						
							
							* Fixed 'mixed signed/unsigned' and pointer conversion warnings.  
						
						... 
						
						
						
						git-svn-id: trunk@11439 - 
						
					 
					
						2008-07-23 09:36:07 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							58757d0630 
							
						 
					 
					
						
						
							
							* support of dq in Intel assembler on 64 bit CPUs,  resolves   #11425  
						
						... 
						
						
						
						git-svn-id: trunk@11211 - 
						
					 
					
						2008-06-07 15:08:48 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							f36e5411af 
							
						 
					 
					
						
						
							
							* split cpu64bit compiler define into  
						
						... 
						
						
						
						a) cpu64bitaddr, which means that we are generating a compiler which
       will generate code for targets with a 64 bit address space/abi
    b) cpu64bitalu, which means that we are generating a compiler which
       will generate code for a cpu with support for 64 bit integer
       operations (possibly running in a 32 bit address space, depending
       on the cpu64bitaddr define)
   All cpus which had cpu64bit set now have both the above defines set,
   and none of the 32 bit cpus have cpu64bitalu set (and none will
   compile with it currently)
  + pint and puint types, similar to aint/aword (not pword because that
    that conflicts with pword=^word)
  * several changes from aint/aword to pint/pword
  * some changes of tcgsize2size[OS_INT] to sizeof(pint)
git-svn-id: trunk@10320 - 
						
					 
					
						2008-02-13 20:44:00 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							527190a875 
							
						 
					 
					
						
						
							
							+ relsymbol support for intel asm reader  
						
						... 
						
						
						
						git-svn-id: trunk@9368 - 
						
					 
					
						2007-12-01 14:26:24 +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 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							c866400823 
							
						 
					 
					
						
						
							
							+ support for VMTOFFSET in assembler readers to get VMT offset of virtual  
						
						... 
						
						
						
						methods (mantis #8153 )
git-svn-id: trunk@6168 - 
						
					 
					
						2007-01-24 18:26:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							11528c9da6 
							
						 
					 
					
						
						
							
							* better fix for tw8171 (now also works for with-statements)  
						
						... 
						
						
						
						git-svn-id: trunk@6158 - 
						
					 
					
						2007-01-24 09:55:45 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ed13c7f60e 
							
						 
					 
					
						
						
							
							+ support for [recordfield.field] in assembler blocks in methods in  
						
						... 
						
						
						
						intel assembler (mantis 8171)
git-svn-id: trunk@6150 - 
						
					 
					
						2007-01-23 17:34:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							302a2a3ec2 
							
						 
					 
					
						
						
							
							* fixed calling qualified methods in assembler + tests for ppc/ppc64/  
						
						... 
						
						
						
						i386/x86_64
git-svn-id: trunk@6112 - 
						
					 
					
						2007-01-21 22:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0557ddc342 
							
						 
					 
					
						
						
							
							* removed typed const, it is now handled by staticvarsym  
						
						... 
						
						
						
						* globalvarsym renamed to staticvarsym
  * fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 - 
						
					 
					
						2006-11-08 21:04:22 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							e17b424e28 
							
						 
					 
					
						
						
							
							* refactor procsym procdef list  
						
						... 
						
						
						
						git-svn-id: trunk@5210 - 
						
					 
					
						2006-11-03 18:44:46 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							658c46b903 
							
						 
					 
					
						
						
							
							* remove tdictionary and tindexarray  
						
						... 
						
						
						
						* symtables based on TFPHashObjectList and TFPObjectList
  * rename torddef.typ to torddef.ordtype
  * rename tfloatdef.typ to tfloatdef.floattype
  * rename tdef.deftype to tdef.typ
  * remove obsolete browser code, browcol is kept so the ide
    can still be compiled
git-svn-id: trunk@5192 - 
						
					 
					
						2006-11-03 00:30:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1684a6fc32 
							
						 
					 
					
						
						
							
							* replaced tdictionary with tfphashlist  
						
						... 
						
						
						
						git-svn-id: trunk@5148 - 
						
					 
					
						2006-11-01 14:26:50 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							85d63d9fa9 
							
						 
					 
					
						
						
							
							* settings refactored  
						
						... 
						
						
						
						git-svn-id: trunk@5094 - 
						
					 
					
						2006-10-30 18:02:58 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							3078a1927f 
							
						 
					 
					
						
						
							
							* remove ttype  
						
						... 
						
						
						
						* rename old ttype variables *type to *def
  * rename resulttypepass to pass_typecheck
  * rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 - 
						
					 
					
						2006-10-29 22:19:39 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							076fb20774 
							
						 
					 
					
						
						
							
							* don't apply typesize of record if a field size is applied  
						
						... 
						
						
						
						git-svn-id: trunk@4971 - 
						
					 
					
						2006-10-18 21:22:00 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							cc1f9f8a9b 
							
						 
					 
					
						
						
							
							* handle . in a reference like +  
						
						... 
						
						
						
						git-svn-id: trunk@4769 - 
						
					 
					
						2006-10-02 17:39:22 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							23e67ee289 
							
						 
					 
					
						
						
							
							+ intel assembler reader for x86-64  
						
						... 
						
						
						
						git-svn-id: trunk@3411 - 
						
					 
					
						2006-05-01 19:56:00 +00:00