Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							74a49b5f91 
							
						 
					 
					
						
						
							
							* restructured the the TExternalAssembler constructors so that the  
						
						... 
						
						
						
						hack for the Jasmin descendent is no longer needed
git-svn-id: trunk@34852 - 
						
					 
					
						2016-11-09 19:51:20 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							649823a246 
							
						 
					 
					
						
						
							
							* Removed unused vars.  
						
						... 
						
						
						
						git-svn-id: trunk@34405 - 
						
					 
					
						2016-09-01 20:01:54 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							ed2488eb03 
							
						 
					 
					
						
						
							
							- MIPS: removed the ugly hack of splitting LDC1/SDC1 instructions into pairs of LWC1/SWC1 at assembler writer level. It probably was there as a workaround for insufficient alignment of double-precision variables, which was present once, but fixed a long time ago.  
						
						... 
						
						
						
						git-svn-id: trunk@33084 - 
						
					 
					
						2016-02-11 15:09:19 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							7f58608008 
							
						 
					 
					
						
						
							
							* MIPS: changed function is_macro_instruction into method of taicpu. Functionality unchanged.  
						
						... 
						
						
						
						git-svn-id: trunk@33081 - 
						
					 
					
						2016-02-10 12:46:55 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							4fc05e6ec1 
							
						 
					 
					
						
						
							
							- MIPS: removed taicpu.delayslot_annulled, it was a copy-paste from SPARC code.  
						
						... 
						
						
						
						git-svn-id: trunk@33073 - 
						
					 
					
						2016-02-09 01:32:42 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							11a9ff4a43 
							
						 
					 
					
						
						
							
							* Removed unused vars for mipsel compiler.  
						
						... 
						
						
						
						git-svn-id: trunk@31745 - 
						
					 
					
						2015-09-17 15:46:30 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							991e1f49bd 
							
						 
					 
					
						
						
							
							* store a pointer to the used tasminfo record in every assembler writer, so  
						
						... 
						
						
						
						that we can use assembler writers with different conventions from the
    currently set target_asm (e.g. an x86 assembler writer for inline assembly
    in LLVM IR)
git-svn-id: trunk@31628 - 
						
					 
					
						2015-09-12 23:32:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b3d0197f98 
							
						 
					 
					
						
						
							
							* factored out the output file handling (mostly writing data) from the  
						
						... 
						
						
						
						external assembler writer, so we can reuse the archtecture-specific
    writers to write inline assembly in LLVM IR files
git-svn-id: trunk@31625 - 
						
					 
					
						2015-09-12 23:32:01 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							b46ce6b70e 
							
						 
					 
					
						
						
							
							* Fixed condition to output div/divu having R0 as first operand as non-macros.  
						
						... 
						
						
						
						git-svn-id: trunk@29359 - 
						
					 
					
						2014-12-29 23:19:01 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							244f65525b 
							
						 
					 
					
						
						
							
							* MIPS: dropped gas_std_regname, its functionality merged into std_regname. This fixes register names in non-instructions (reg. allocation information, variable locations, etc.) and makes assembler listings more readable.  
						
						... 
						
						
						
						git-svn-id: trunk@27986 - 
						
					 
					
						2014-06-16 22:52:56 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b2b26f84cf 
							
						 
					 
					
						
						
							
							* partially merged the mips-embedded branch of Michael Ring:  
						
						... 
						
						
						
						- startup code/controller units are not merged yet
  - assembler call does not pass the needed CPU type yet
git-svn-id: trunk@27188 - 
						
					 
					
						2014-03-19 21:25:38 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							56b3287e29 
							
						 
					 
					
						
						
							
							+ Added compiler support for mipsel-android target.  
						
						... 
						
						
						
						git-svn-id: trunk@26686 - 
						
					 
					
						2014-02-06 17:02:43 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							5e6669890a 
							
						 
					 
					
						
						
							
							Handle asmextraopt in powerpc, mips and sparc assemblers  
						
						... 
						
						
						
						git-svn-id: trunk@26542 - 
						
					 
					
						2014-01-21 00:19:17 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							456f991c51 
							
						 
					 
					
						
						
							
							* MIPS: 3-operand forms of DIV and DIVU are not macros if first operand is $zero.  
						
						... 
						
						
						
						git-svn-id: trunk@24918 - 
						
					 
					
						2013-06-20 13:14:38 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							2868a30cce 
							
						 
					 
					
						
						
							
							+ Added mips32r2 opcodes needed for pic32.  
						
						... 
						
						
						
						* Output registers of type R_SPECIALREGISTER as numbers.
+ For MTC0/MFC0 instructions, set type of first operand to R_SPECIALREGISTER, since it designates a coprocessor register.
git-svn-id: trunk@24799 - 
						
					 
					
						2013-06-03 20:01:30 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							fe322f35d5 
							
						 
					 
					
						
						
							
							* MIPS: fixed passing CPU type specified with -CpXXX switch to assembler  
						
						... 
						
						
						
						- removed mips_cpu variable and cpu_mips_default CPU type.
  * globals.pas: default CPU type changed to MIPS2, this is what was passed to assembler before.
git-svn-id: trunk@24643 - 
						
					 
					
						2013-05-30 15:02:40 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							2944fc8839 
							
						 
					 
					
						
						
							
							* MIPS improvements:  
						
						... 
						
						
						
						* reworked condition codes, changed BC1T and BC1F from separate instructions to condition jumps.
  - removed A_P_SW, A_P_LW and A_SPARC8UNIMP
  + support '.set at' and '.set noat' directives
  + prepare to support bgtz,bgez,bltz,blez instructions.
git-svn-id: trunk@24631 - 
						
					 
					
						2013-05-29 17:35:56 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							e1f6cf79e9 
							
						 
					 
					
						
						
							
							* MIPS: an empty reference (no symbol, base or index and zero offset) must not be output as empty string.  
						
						... 
						
						
						
						git-svn-id: trunk@24630 - 
						
					 
					
						2013-05-29 15:59:40 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							7cfc737866 
							
						 
					 
					
						
						
							
							* MIPS: rewrote 32-bit code generation methods, reducing code duplication.  
						
						... 
						
						
						
						+ Implemented overflow checking for unsigned 32-bit addition and subtraction.
* Use optimize_op_const instead of custom optimizations.
* Change AND/OR/XOR into ANDI/ORI/XORI if they use immediate operands, and use correct range for these immediate operands, must be 0..65535 unlike -32768..32767 for arithmetic operations.
* Don't treat AND/OR/XOR as macros, no longer necessary.
* Don't treat BEQ/BNE as macros either.
git-svn-id: trunk@24445 - 
						
					 
					
						2013-05-05 05:55:03 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							a0c1e1b07f 
							
						 
					 
					
						
						
							
							* MIPS: fixed a_call_name and a_call_reg methods to workaround a bug in GAS <2.21, see comments in source for details.  
						
						... 
						
						
						
						+ g_external_wrapper method.
git-svn-id: trunk@23565 - 
						
					 
					
						2013-02-02 23:52:58 +00:00 
						 
				 
			
				
					
						
							
							
								sergei 
							
						 
					 
					
						
						
						
						
							
						
						
							503b132096 
							
						 
					 
					
						
						
							
							* cgbase.pas: added more MIPS-specific address types, needed to support large GOT model.  
						
						... 
						
						
						
						* cpugas.pas: GetReferenceString: rewritten, it is easier than trying to fix it. Fixes incorrect writing of non-PIC references containing base, symbol and offset together, and some forms of PIC references. Also supports newly introduced address types.
git-svn-id: trunk@23555 - 
						
					 
					
						2013-02-01 16:46:22 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							9cb7be4c92 
							
						 
					 
					
						
						
							
							+ Support addr_pic_call16  
						
						... 
						
						
						
						* Add more instructions to is_macro_instruction function
git-svn-id: trunk@23548 - 
						
					 
					
						2013-01-31 13:32:18 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							9e6a2b868c 
							
						 
					 
					
						
						
							
							Fix -Cp option failure due to cputypestr array that must be uppercased  
						
						... 
						
						
						
						git-svn-id: trunk@23446 - 
						
					 
					
						2013-01-18 17:09:28 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							e6863aeb80 
							
						 
					 
					
						
						
							
							* typo fixed, patch by Mark Morgan Lloyd  
						
						... 
						
						
						
						git-svn-id: trunk@23108 - 
						
					 
					
						2012-12-03 21:55:09 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							6497d3c994 
							
						 
					 
					
						
						
							
							- removed no longer used/supported af_allowdirect flag (direct assembler  
						
						... 
						
						
						
						reader support)
git-svn-id: trunk@22794 - 
						
					 
					
						2012-10-21 13:42:58 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							25b0de0c28 
							
						 
					 
					
						
						
							
							Use -march and -mabi options for GNU assembler call.  
						
						... 
						
						
						
						This avoids problems on newer GNU assembler, which might have
 a default ABI different from O32.
git-svn-id: trunk@22664 - 
						
					 
					
						2012-10-16 10:01:23 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							c53d07f741 
							
						 
					 
					
						
						
							
							Improve addr_pic support  
						
						... 
						
						
						
						git-svn-id: trunk@21796 - 
						
					 
					
						2012-07-05 21:16:02 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							e25937854f 
							
						 
					 
					
						
						
							
							Use std reg names and  and  
						
						... 
						
						
						
						git-svn-id: trunk@21781 - 
						
					 
					
						2012-07-04 16:34:06 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							f9930e3f46 
							
						 
					 
					
						
						
							
							Use ldc1 and sdc1 for big endian mips CPU directly  
						
						... 
						
						
						
						git-svn-id: trunk@21670 - 
						
					 
					
						2012-06-21 11:51:07 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							46d98a1f4e 
							
						 
					 
					
						
						
							
							* Fix mips compiler compilation failure  
						
						... 
						
						
						
						git-svn-id: trunk@21620 - 
						
					 
					
						2012-06-15 14:26:51 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							600dd162af 
							
						 
					 
					
						
						
							
							Merge of rev21557 by Foxsen  
						
						... 
						
						
						
						Make macro MIPS/CPUMIPS/MIPS32 common for big endian and little endian mips processors
use MIPSEL* for little endian systems
use MIPSEB* for big endian systems
git-svn-id: trunk@21599 - 
						
					 
					
						2012-06-13 22:25:38 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							93e0dd9c2f 
							
						 
					 
					
						
						
							
							* Patch from Fuxin Zhang: other mips and mipsel CPUs changes  
						
						... 
						
						
						
						git-svn-id: trunk@21538 - 
						
					 
					
						2012-06-07 23:20:06 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							25e82bb1af 
							
						 
					 
					
						
						
							
							* fix stack frame generation on mips(el)  
						
						... 
						
						
						
						git-svn-id: trunk@21121 - 
						
					 
					
						2012-04-29 21:29:06 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							aadeba4d1a 
							
						 
					 
					
						
						
							
							* started to fix stack frame generation on MIPS(EL)  
						
						... 
						
						
						
						git-svn-id: trunk@21118 - 
						
					 
					
						2012-04-29 16:58:19 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c7974fe119 
							
						 
					 
					
						
						
							
							* mipsel-linux uses also a dollar sign as separator in assembler names  
						
						... 
						
						
						
						git-svn-id: trunk@20955 - 
						
					 
					
						2012-04-21 18:19:38 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ac43eb9b70 
							
						 
					 
					
						
						
							
							+ generic implementation of ReplaceForbiddenAsmSymbolChars() instead  
						
						... 
						
						
						
						of the AVR-specific ifdef'ed variant
   o since the only special character we use in mangled names on all platforms
     is $, added a new field to tasminfo called "dollarsign" that holds the
     character $'s should be replaced with (if it doesn't have to be replaced,
     leave it at $)
git-svn-id: trunk@20801 - 
						
					 
					
						2012-04-11 18:01:57 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							f927198c2a 
							
						 
					 
					
						
						
							
							+ gas for mips is by default little endian, so pass the endianess  
						
						... 
						
						
						
						git-svn-id: trunk@20280 - 
						
					 
					
						2012-02-08 21:28:22 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							19e11f889f 
							
						 
					 
					
						
						
							
							* Fix error in EXTDEBUG code  
						
						... 
						
						
						
						git-svn-id: trunk@20227 - 
						
					 
					
						2012-02-02 23:55:43 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							28ac4a8dda 
							
						 
					 
					
						
						
							
							* several mips/mipsel related stuff fixed  
						
						... 
						
						
						
						* regenerated linux makefile to support mipsel
git-svn-id: trunk@14278 - 
						
					 
					
						2009-11-27 15:10:56 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							f54365db94 
							
						 
					 
					
						
						
							
							* adapted more fpc-mips stuff to trunk  
						
						... 
						
						
						
						git-svn-id: trunk@14230 - 
						
					 
					
						2009-11-20 21:13:53 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							0c8546f94c 
							
						 
					 
					
						
						
							
							* more MIPS code of David Zhang integrated  
						
						... 
						
						
						
						git-svn-id: trunk@14228 - 
						
					 
					
						2009-11-20 14:46:45 +00:00