florian
468eca38bd
* load_reg_reg fixed
2005-01-04 20:15:05 +00:00
florian
6ab9be6a5d
* implemented nostackframe calling convention directive
2005-01-04 15:36:32 +00:00
florian
7d1dd39ecc
* ie with array of const;cdecl; fixed
2005-01-01 19:30:17 +00:00
florian
ad4345c217
* fixed arm compilation
2004-11-24 22:03:26 +00:00
peter
89b1b583c9
* ttempcreatenode.create_reg merged into .create with parameter
...
whether a register is allowed
* funcret_paraloc renamed to funcretloc
2004-11-21 17:54:59 +00:00
peter
0c7e53bb81
* fixed compile of powerpc,sparc,arm
2004-11-11 19:31:33 +00:00
florian
42e14b6825
+ additional extdebug check for wrong add_reg_instructions added
...
* too long manglednames are cut off at 200 chars using a crc
2004-11-06 17:44:47 +00:00
florian
e2ec30866a
* fixed OP_SUB for negative constants fitting in the shifter
2004-11-06 15:18:57 +00:00
florian
73c30d6579
* fixed arm compilation with cgutils
...
* ...
2004-11-01 17:41:28 +00:00
florian
13618bb9cd
* fixed currency division
2004-11-01 12:10:26 +00:00
florian
e5feec37cb
* fixed handling of stack parameters on the arm
2004-11-01 09:23:01 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
florian
7f20bc1c96
* fixed ie with pi_do_call
2004-10-31 16:47:43 +00:00
florian
36ca15cf07
* fixed compilation of system unit on arm
2004-10-31 16:04:30 +00:00
florian
c8d7f6be2b
* another couple of arm fixed
2004-10-31 12:37:11 +00:00
florian
410d01458c
* fixed several arm compiler bugs
2004-10-24 17:32:53 +00:00
peter
2ee2004032
* fixed compilation with removed loadref
2004-10-24 11:53:45 +00:00
florian
60f0434585
* fixed compilation of arm compiler
2004-10-24 07:54:25 +00:00
florian
c6fbf26b6a
* first arm fixes for new paraloc handling
2004-10-22 16:36:57 +00:00
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
8b3e00244f
* length parameter for copyvaluearray changed to tlocation
2004-10-11 15:46:45 +00:00
florian
960bf7b8b1
* fixed float spilling to use sfm/lfm instead of stf/ldf
2004-07-04 15:22:34 +00:00
florian
5062c04096
* fixed problem with cpu interferences
2004-07-03 19:29:14 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
florian
c68ea95074
+ syscall directive support for MorphOS added
2004-04-28 15:19:03 +00:00
florian
6e4b98f913
* concatcopy with len=0 exits now immediatly
2004-03-31 19:13:04 +00:00
florian
aae508c277
+ arm floating point register saving implemented
...
* hopefully stabs generation for MacOSX fixed
+ some defines for arm added
2004-03-29 19:19:35 +00:00
florian
1280635cc4
* arm assembler instructions can have 4 operands
...
* qword comparisations fixed
2004-03-23 21:03:50 +00:00
florian
3ac0c812e0
* interface trampolines (hopyfully) fixed
2004-03-22 22:19:02 +00:00
florian
f3c4d487e7
+ added interface support for the arm
...
* added FPC_REQUIRES_PROPER_ALIGNMENT define for targets which require proper alignment
2004-03-21 22:40:15 +00:00
florian
5bc07e7c96
+ float parameters can be on the stack now as well
2004-03-20 21:11:01 +00:00
florian
c65e094bba
+ implemented cdecl'd varargs on arm
...
+ -dCMEM supported by the compiler
* label/goto asmsymbol type with -dextdebug fixed
2004-03-20 20:55:36 +00:00
florian
74501ae73f
* some alignment issues resolved
...
* compiler doesn't generate anymore instructions not supported by the linux fpe
2004-03-16 22:12:10 +00:00
florian
f9840598b0
* handling of spilling improved
2004-03-15 22:20:13 +00:00
florian
9594866b30
* optimized mul code generation
2004-03-14 21:42:24 +00:00
florian
16366a944c
* spilling problem fixed
...
* handling of floating point memory references fixed
2004-03-14 16:15:39 +00:00
florian
a50e082468
* floating compares fixed
...
* unary minus for floats fixed
2004-03-13 18:45:40 +00:00
florian
c855ac1e56
+ second_cmpfloat implemented, needs probably to be fixed
2004-03-11 22:41:37 +00:00
florian
164a5bb1d4
+ fixed code generation for cmn
2004-03-10 22:35:40 +00:00
florian
40363f47e5
* compilation of arm rtl fixed
2004-03-07 00:16:59 +00:00
florian
10e765329d
* fixed arm compilation
...
* cleaned up code generation for exported linux procedures
2004-03-06 20:35:19 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
florian
bde158d4b5
* small compilation fix
2004-02-12 13:24:44 +00:00
florian
abc41f1c3c
* several fixes to parameter handling on arm
2004-02-09 22:48:45 +00:00
Jonas Maebe
71202a141d
* taicpu.is_same_reg_move() now gets a regtype parameter so it only
...
removes moves of that particular register type. This is necessary so
we don't remove the live_start instruction of a register before it
has been processed
2004-02-08 23:10:21 +00:00
florian
1e9e0b0e35
* fixed compilation problem
2004-02-08 23:06:59 +00:00
Jonas Maebe
9495f77117
- removed taicpu.is_reg_move because it's not used anymore
...
+ support tracking fpu register moves by rgobj for the ppc
2004-02-08 20:15:42 +00:00
peter
8c5b0f7d82
* first try to get cpupara working for x86_64
2004-02-04 22:01:13 +00:00
peter
ecfbbeffc3
* renamed xNNbittype to xNNinttype
...
* renamed registers32 to registersint
* replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
florian
ff303ba334
* handling of floating point references fixed
2004-01-29 17:09:32 +00:00
florian
16e7ba3a47
* alignment issues fixed
2004-01-29 17:09:14 +00:00
florian
de4fa4e7e7
* fixed another couple of arm bugs
2004-01-28 15:36:46 +00:00
florian
c77ec09d49
* fixed code generation for math inl. nodes
...
* more code generator improvements
2004-01-27 15:04:06 +00:00
florian
35110d8ef5
* fixed several arm issues
2004-01-26 19:05:56 +00:00
florian
8d335b9466
* fixed some spilling stuff
...
+ not(<int64>) implemented
+ small set comparisations implemented
2004-01-24 20:19:46 +00:00
florian
37454274bc
* fixed several arm floating point issues
2004-01-24 18:12:40 +00:00
florian
0bb8e3912f
* fixref fixed if index, base and offset were given
2004-01-24 01:33:20 +00:00
florian
5a2c4d4bff
* genintparaloc fixed
2004-01-24 01:32:49 +00:00
florian
d7786f6246
* fixed generic shl/shr operations
...
+ added register allocation hook calls for arm specific operand types:
register set and shifter op
2004-01-23 15:12:49 +00:00
florian
6e1d153194
* another fix to flag handling
2004-01-23 00:01:48 +00:00
florian
e7aba71412
* fixed several issues with flags
2004-01-22 20:13:18 +00:00
florian
3ab069324a
* op_const_reg_reg with OP_SAR fixed
2004-01-22 02:22:47 +00:00
florian
703af0f1f4
* improved register usage
...
+ implemented second_cmp64bit
2004-01-22 01:47:15 +00:00
florian
af3d31eceb
* fixed handling of max. distance of pc relative symbols
2004-01-21 19:01:03 +00:00
florian
3b21b99111
* fixed register allocator problems with concatcopy
2004-01-21 15:41:56 +00:00
florian
75e2de9f2c
+ reintroduce implemented
2004-01-21 14:22:00 +00:00
florian
e680460234
* fixed a_cmp_const_reg_label
...
* fixed volatile register handling which was broken by my last patch
2004-01-21 01:22:35 +00:00
florian
162ff2e6d4
* fixed a_call_reg
...
+ implemented paramgr.get_volative_registers
2004-01-20 23:18:00 +00:00
florian
1779c5dd8c
* fixed symbol type writing for arm-linux
...
* fixed assembler generation for abs
2004-01-20 21:02:54 +00:00
Jonas Maebe
da74a9fea6
- removed unused methods from old generic spilling code
2003-12-28 16:20:09 +00:00
peter
1c7e6fc380
* sparc updates
...
* use registertype in spill_register
2003-12-26 14:02:30 +00:00
florian
78aeec22ca
* arm compiler compilation fixed
2003-12-18 17:06:21 +00:00
florian
dd8f11e8e1
* fixed ldm/stm arm assembler reading
...
* fixed a_load_reg_reg with OS_8 on ARM
* non supported calling conventions cause only a warning now
2003-12-08 17:43:57 +00:00
florian
1a87a5ed45
* fixed several arm calling conventions issues
...
* fixed reference reading in the assembler reader
* fixed a_loadaddr_ref_reg
2003-12-03 17:39:04 +00:00
peter
1b0d0ca3c4
* s128real type is not compatible with s80real
2003-12-01 18:43:31 +00:00
florian
a567970402
* fixed several arm related problems
2003-11-30 19:35:29 +00:00
peter
db60537005
* fixed is_move
2003-11-29 17:36:56 +00:00
florian
4584775cbe
* changed some types to prevend range check errors
2003-11-24 15:17:37 +00:00
florian
256299c274
* fixed reading of reg. sets in the arm assembler reader
2003-11-21 16:29:26 +00:00
florian
ebab97b3c8
+ first part of arm assembler reader
2003-11-17 23:23:47 +00:00
florian
1af574ceca
* assembler readers OOPed
...
+ typed currency constants
+ typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
florian
bbf7300a0c
* Florian's culmutative nr. 1; contains:
...
- invalid calling conventions for a certain cpu are rejected
- arm softfloat calling conventions
- -Sp for cpu dependend code generation
- several arm fixes
- remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
florian
8b337fb5ef
+ type cast variant<->enum
...
* cnv. node second pass uses now as well helper wrappers
2003-11-04 22:30:15 +00:00
florian
a9d9a15e20
* fixed ARM for new reg. allocation scheme
2003-11-02 14:30:03 +00:00
mazen
ba59054e84
* rgHelper renamed to rgBase
...
* using findreg_by_<name|number>_table directly to decrease heap overheading
2003-10-31 08:40:51 +00:00
mazen
75f88a5b90
* now uses standard routines in rgHelper unit to search registers by number and by name
2003-10-30 15:02:04 +00:00
florian
1df13c788c
* fixed some MMX<->SSE
...
* started to fix ppc, needs an overhaul
+ stabs info improve for spilling, not sure if it works correctly/completly
- MMX_SUPPORT removed from Makefile.fpc
2003-10-11 16:06:42 +00:00
florian
8f66389b46
* improved arm code generation
...
* move some protected and private field around
* the temp. register for register parameters/arguments are now released
before the move to the parameter register is done. This improves
the code in a lot of cases.
2003-09-11 11:54:59 +00:00
florian
df906eda61
* some assembling problems fixed
...
* improved loadaddr_ref_reg
2003-09-09 12:53:39 +00:00
florian
e78dd95d0b
* fixed exit code (no preindexed addressing mode in LDM)
2003-09-06 16:45:51 +00:00
florian
bd6bf8ac94
* fixed stm and ldm to be usable with preindex operand
2003-09-06 11:21:49 +00:00
florian
1a95384ec1
* arm is working again as before the new register naming scheme was implemented
2003-09-05 23:57:01 +00:00
florian
024d08e05a
* ARM compiler compiles again
2003-09-04 21:07:03 +00:00
florian
0d3832776f
* first bunch of adaptions of arm compiler for new register type
2003-09-04 00:15:28 +00:00
florian
91533b5d5a
* initial revision of new register naming
2003-09-03 19:10:30 +00:00
florian
220e05dd5e
* fixed arm concatcopy
...
+ arm support in the common compiler sources added
* moved some generic cg code around
+ tfputype added
* ...
2003-09-03 11:18:36 +00:00
florian
6264028af1
* fixed reference handling
...
* fixed operand postfix for floating point instructions
* fixed wrong shifter constant handling
2003-09-01 15:11:16 +00:00
florian
e36c23db74
* results of work on arm port last weekend
2003-09-01 09:54:57 +00:00
florian
301df6dab9
* fixed procedure entry/exit code
...
* started to fix reference handling
2003-08-29 21:36:28 +00:00