fpc/compiler/mips
florian 04543b179f o merge of the branch laksen/arm-embedded of Jeppe Johansen:
fixes a couple of arm-embedded stuff, 
  adds some controllers, start of fpv4_s16 support, for a complete list of
  changes see below:
------------------------------------------------------------------------
r22787 | laksen | 2012-10-20 22:00:36 +0200 (Sa, 20 Okt 2012) | 1 line

Properly do NR_DEFAULTFLAGS detection/allocation/deallocation
------------------------------------------------------------------------
r22782 | laksen | 2012-10-20 07:44:55 +0200 (Sa, 20 Okt 2012) | 1 line

Fixed flags detections code for wide->short optimization code for Thumb-2
------------------------------------------------------------------------
r22778 | laksen | 2012-10-19 20:23:14 +0200 (Fr, 19 Okt 2012) | 1 line

Added coprocessor registers, and support for 6 operands(MCR/MRC instructions, etc)
------------------------------------------------------------------------
r22647 | laksen | 2012-10-14 21:28:08 +0200 (So, 14 Okt 2012) | 1 line

Added register specifications to lpc1768.pp. From Joan Duran
------------------------------------------------------------------------
r22646 | laksen | 2012-10-14 21:10:20 +0200 (So, 14 Okt 2012) | 4 lines

Fixed some minor formating issues
Implemented a small heap mananger
Implemented console IO
Changed default LineEnding to CrLf(to ease console IO parsing)
------------------------------------------------------------------------
r22599 | laksen | 2012-10-09 08:58:58 +0200 (Di, 09 Okt 2012) | 1 line

Added all STM32F1 configurations
------------------------------------------------------------------------
r22597 | laksen | 2012-10-08 22:10:45 +0200 (Mo, 08 Okt 2012) | 1 line

Added initial support for the Cortex-M4F FPv4_S16 FPU
------------------------------------------------------------------------
r22596 | laksen | 2012-10-08 22:04:14 +0200 (Mo, 08 Okt 2012) | 1 line

Added FPv4_d16 FPU instructions, and a few extra registers
------------------------------------------------------------------------
r22592 | laksen | 2012-10-08 16:07:40 +0200 (Mo, 08 Okt 2012) | 2 lines

Added support for IT block merging
Added a peephole pattern check for UXTB->UXTH chains
------------------------------------------------------------------------
r22590 | laksen | 2012-10-08 14:30:00 +0200 (Mo, 08 Okt 2012) | 3 lines

Add CBNZ/CBZ instructions
Create preliminary Thumb-2 PeepHoleOptPass2 code, hacked together from the ARM mode code
Added a number of simple size optimizations for common Thumb-2 instructions
------------------------------------------------------------------------
r22582 | laksen | 2012-10-08 06:49:39 +0200 (Mo, 08 Okt 2012) | 3 lines

Fix optimizations of Thumb-2 code
Fix problem with loading of condition operand for IT instructions
Properly split IT blocks when register allocator tries to spill inside a block.
------------------------------------------------------------------------
r22581 | laksen | 2012-10-08 05:15:40 +0200 (Mo, 08 Okt 2012) | 4 lines

Fixed assembler calling command line for cpus>ARMv5TE. EDSP instructions will generate errors while assembling, due to RTL assembler routines
Updated boot code for all Cortex-M3 controllers, and sc32442b to use weak linking for exception tables.
Cortex-M3 devices now also share initialization routine to simplify maintenance
STM32F10x classes now have specific units which fit the interrupt source names and counts
------------------------------------------------------------------------
r22580 | laksen | 2012-10-08 05:10:44 +0200 (Mo, 08 Okt 2012) | 2 lines

Added support for .section, .set, .weak, and .thumb_set directive for GAS assembler reader
IFDEF'ed JVM specific assembler directives, to prevent ait_* set to exceed 32 elements
------------------------------------------------------------------------
r22579 | laksen | 2012-10-08 02:10:52 +0200 (Mo, 08 Okt 2012) | 3 lines

Remove all traces of the interrupt vector table generation mechanism
Clean up cpuinfo tables
Fixed ARMv7M bug(BLX <label> doesn't exist on that version)

git-svn-id: trunk@22792 -
2012-10-21 08:39:52 +00:00
..
aasmcpu.pas fpcdefs.inc: Set fpc_compiler_has_fixup_jmps for powerpcXX and mips CPUs. 2012-07-09 08:59:13 +00:00
aoptcpu.pas
aoptcpub.pas * Patch from Fuxin Zhang: other mips and mipsel CPUs changes 2012-06-07 23:20:06 +00:00
aoptcpud.pas
cgcpu.pas Fix problem in 64bit substraction 2012-10-02 23:35:02 +00:00
cpubase.pas Added FPv4_d16 FPU instructions, and a few extra registers 2012-10-08 20:04:14 +00:00
cpugas.pas Use -march and -mabi options for GNU assembler call. 2012-10-16 10:01:23 +00:00
cpuinfo.pas Add arch and abi values for mips cpu 2012-10-16 09:57:24 +00:00
cpunode.pas Remove more TABs in sources 2012-09-06 08:11:59 +00:00
cpupara.pas Set register_used boolean only for calleeside 2012-09-06 08:11:15 +00:00
cpupi.pas handle po_nostackframe for calc_stack_size 2012-10-18 09:44:11 +00:00
cputarg.pas Add Dwarf debug info generation by default for mips cpu 2012-10-01 14:23:14 +00:00
hlcgcpu.pas Remove more TABs in sources 2012-09-06 08:11:59 +00:00
itcpugas.pas * fix fpu register type 2012-02-05 09:14:55 +00:00
mipsreg.dat Change std reg names to allow use with GAS assembler 2012-07-04 16:24:11 +00:00
ncpuadd.pas * Patch from Fuxin Zhang: other mips and mipsel CPUs changes 2012-06-07 23:20:06 +00:00
ncpucall.pas Remove more TABs in sources 2012-09-06 08:11:59 +00:00
ncpucnv.pas Remove more TABs in sources 2012-09-06 08:11:59 +00:00
ncpuinln.pas
ncpuld.pas Override tloadnode.pass_1 to for use of got for shared library variables and genrate_picvaraccess 2012-07-05 21:07:46 +00:00
ncpumat.pas Fix tw22326 for mips CPU 2012-09-24 22:28:54 +00:00
ncpuset.pas
opcode.inc + Add .cpXXX pseudo-instruction for PIC code 2012-07-04 16:23:16 +00:00
racpugas.pas Remove more TABs in sources 2012-09-06 08:11:59 +00:00
rgcpu.pas * fixes several register allocation related mips issues 2012-02-05 21:58:45 +00:00
rmipscon.inc * fixes several register allocation related mips issues 2012-02-05 21:58:45 +00:00
rmipsdwf.inc
rmipsgas.inc * fix floating point registers gas name 2012-02-06 20:33:12 +00:00
rmipsgri.inc * fix floating point registers gas name 2012-02-06 20:33:12 +00:00
rmipsgss.inc
rmipsnor.inc
rmipsnum.inc * fixes several register allocation related mips issues 2012-02-05 21:58:45 +00:00
rmipsrni.inc
rmipssri.inc Change std reg names to allow use with GAS assembler 2012-07-04 16:24:11 +00:00
rmipssta.inc
rmipsstd.inc Change std reg names to allow use with GAS assembler 2012-07-04 16:24:11 +00:00
rmipssup.inc * fixes several register allocation related mips issues 2012-02-05 21:58:45 +00:00
strinst.inc + Add .cpXXX pseudo-instruction for PIC code 2012-07-04 16:23:16 +00:00