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
Jonas Maebe
3056a64bf0
* fixed regvars support. Needs -doldregvars to activate. Only tested with
...
ppc, other processors should however only require maxregvars and
maxfpuregvars constants in cpubase.pas. Remember to take scratch-
registers into account when defining that value.
2004-02-08 18:08:59 +00:00
Jonas Maebe
a23c7932cf
* fixed previous commit
2004-02-08 14:50:13 +00:00
Jonas Maebe
169c8f5a3b
* changed an explicit mr to a_load_reg_reg so it's registered with the
...
register allocator as move
2004-02-07 15:01:05 +00:00
peter
8c5b0f7d82
* first try to get cpupara working for x86_64
2004-02-04 22:01:13 +00:00
olle
035c98cad2
* made more in phase with agppcgas.pas
2004-02-04 15:28:24 +00:00
olle
7e373764ba
* uodated header comment
2004-02-04 15:23:28 +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
Jonas Maebe
5a98f00e7f
- removed mov "reg, reg" optimizations, as they are removed by the
...
register allocator and may be necessary to indicate a register may not
be reused before some point
2004-02-03 19:49:24 +00:00
Jonas Maebe
4f957bebff
+ implemented second_prefetch
2004-02-02 21:22:19 +00:00
florian
35b8e93073
* fixed more alignment issues
2004-01-30 13:42:03 +00:00
Jonas Maebe
c006ab8326
- removed double construction of fpu register allocator
2004-01-25 16:36:34 +00:00
Jonas Maebe
df428f7a5d
* fixed allocation of parameters passed by reference for powerpc in
...
callee
2004-01-17 15:55:10 +00:00
florian
541955ad91
+ x86 instruction tables for x86-64 extended
2004-01-15 14:01:18 +00:00
peter
47f08937e4
* use localalign info for alignment for locals and temps
...
* sparc fpu flags branching added
* moved powerpc copy_valye_openarray to generic
2004-01-12 22:11:38 +00:00
olle
6ab944bfcf
* gen of conditional instr updated according to agppcgas
...
* gen of PPCAsm command fixed
2004-01-12 00:08:03 +00:00
Jonas Maebe
4c7c8b9c3a
* fixed mtfsb0 instruction for assembler reader/writer
...
* fixed initialisation of fpscr register to avoid spurious SIGPFE's
(uses mtfsb0 instruction, so added extra define in options.pas to avoid
requiring to start with a cross compiler)
2004-01-10 00:16:20 +00:00
peter
b4159755d2
* fixed too long ie number
2004-01-06 21:37:41 +00:00
Jonas Maebe
bee5b615cf
+ as_darwin assembler type (labels start with L)
...
* never generate register->number mappings for Darwin
* always use real register names for Darwin
2004-01-04 21:18:10 +00:00
Jonas Maebe
9e781b8c7b
+ added log message for last commit
2004-01-04 21:17:51 +00:00
Jonas Maebe
744d6d85b2
*** empty log message ***
2004-01-04 21:12:47 +00:00
Jonas Maebe
c2efd86268
+ integer division-by-zero detection support for ppc
...
+ compilerproc FPC_DIVBYZERO
2004-01-01 17:58:16 +00:00
Jonas Maebe
be0397b1d1
* fixed currency bugs. Int64 currency handling still needs to be
...
rewritten so that it doesn't include conversions to real anymore
though
2003-12-31 22:30:39 +00:00
Jonas Maebe
8be1033511
* (64 bit int) shl/shr (value > 63) := 0
2003-12-31 18:12:23 +00:00
Jonas Maebe
92f038ebec
* fixed saving/restoring of volatile fpu registers under sysv
...
+ better provisions for abi differences regarding fpu registers that have
to be saved
2003-12-29 14:17:50 +00:00
Jonas Maebe
da6a3d28c8
* hopefully fixed tb0454
2003-12-29 11:35:19 +00:00
Jonas Maebe
83323b4955
* fixed tb0350 (support loading address of reference containing the
...
address 0)
2003-12-29 11:13:53 +00:00
Jonas Maebe
8953ed5494
* fixed tnotnode for < 32 bit quantities
2003-12-28 23:49:30 +00:00
florian
d38abc3a3f
+ setting of bit 6 of cr for c var args on ppc implemented
2003-12-28 22:09:12 +00:00
florian
218beb5b32
* handling of open array value parameters fixed
2003-12-28 19:22:27 +00:00
Jonas Maebe
6bab64590e
* hopefully fixed varargs (both Pascal- and C-style)
2003-12-28 15:33:06 +00:00
Jonas Maebe
ffa51d27c3
* hopefully fixed interfaces (untested)
2003-12-28 15:14:14 +00:00
peter
1c7e6fc380
* sparc updates
...
* use registertype in spill_register
2003-12-26 14:02:30 +00:00
peter
3afcfd7f86
* extnumber failure is $ffff instead of -1
...
* fix non-vmt call for register calling on i386
2003-12-23 23:12:44 +00:00
florian
7bd24b32c3
+ register allocators are set to nil now after they are freed
2003-12-18 01:03:52 +00:00
florian
2aeea741ed
* fixed ppc compilation
2003-12-16 21:49:47 +00:00
Jonas Maebe
03d03d7ce4
* fixed compilation and simplified fixref, so it never has to reallocate
...
already freed registers anymore
2003-12-15 21:37:09 +00:00
peter
bce5a1e252
* rg[tregistertype] added in tcg
2003-12-12 17:16:17 +00:00
florian
2d6847e5cd
+ short gas register names for smartlinking added
2003-12-10 22:19:27 +00:00
florian
d43895d744
+ initial interface support added
2003-12-10 01:10:25 +00:00
Károly Balogh
c5afdadecb
* fixed compilation with -dppc603
2003-12-10 00:09:57 +00:00
Jonas Maebe
8c11916462
* forgot call to cg.g_overflowcheck() in nppcadd
...
* fixed overflow flag definition
* fixed cg.g_overflowcheck() for signed numbers (jump over call to
FPC_OVERFLOW if *no* overflow instead of if overflow :)
2003-12-09 20:39:43 +00:00
Jonas Maebe
ccc9c93fc7
* support writing of symbols with length 255
2003-12-09 20:09:09 +00:00
Jonas Maebe
d59197ec26
* fixed case bugs
2003-12-09 19:13:32 +00:00
Jonas Maebe
e4312930d1
* fixed usigned overflow checking
2003-12-08 21:18:44 +00:00
florian
2e5c899b81
+ dummy tppcparamanager.create_varargs_paraloc_info added
2003-12-07 22:35:05 +00:00
florian
e63ae3ffee
* a_load_ref_ref isn't allowed to be used in g_stackframe_entry
2003-12-07 21:59:21 +00:00
Jonas Maebe
62394e45d7
* moved count_locals from pstatmnt to symutils
...
* use count_locals in powerpc/cpupi to check whether we should set the
first temp offset (and as such generate a stackframe)
2003-12-07 16:40:45 +00:00
Jonas Maebe
5f2356f45d
* finally fixed int->bool conversion properly
2003-12-07 11:21:05 +00:00
Jonas Maebe
2aba43c797
* completely overhauled and fixed generic spilling code. New method:
...
spilling_get_operation_type(operand_number): returns the operation
performed by the instruction on the operand: read/write/read+write.
See powerpc/aasmcpu.pas for an example
2003-12-06 22:16:12 +00:00
Jonas Maebe
30cf6be249
* another fix to a_load_ref_reg()
...
+ implemented uses_registers() method
2003-12-06 22:13:53 +00:00
Jonas Maebe
8cb716ca56
* fixed load_ref_reg for source > dest size
2003-12-05 22:53:28 +00:00
Jonas Maebe
255589e12e
* fixed some int<->boolean type conversion issues
2003-12-04 20:37:02 +00:00
Jonas Maebe
4ac4d2cadb
* fixded fixref() regarding the reallocation of already freed registers
...
used in references
2003-11-30 11:32:12 +00:00
Jonas Maebe
08a966d88a
* fixed fpu regallocator initialisation
2003-11-30 10:16:05 +00:00
Jonas Maebe
8ad6133ea3
* more ppc fixes, hello world works again under linuxppc
2003-11-29 22:54:32 +00:00
Jonas Maebe
8cb7f46d9c
* fixed writing of conditional branches which only depend on the value
...
of ctr
2003-11-29 18:17:26 +00:00
Jonas Maebe
d5373d5971
* fixed several ppc assembler reader related problems
...
* local vars in assembler procedures now start at offset 4
* fixed second_int_to_bool (apparently an integer can be in LOC_JUMP??)
2003-11-29 16:27:19 +00:00
Jonas Maebe
6623aaf098
* fixed is_condreg
...
* fixed branch condition parsing in assembler reader
2003-11-23 20:00:39 +00:00
florian
3f1b80bfaa
+ skeleton for bXX crX,<label>
2003-11-23 18:32:42 +00:00
Jonas Maebe
9b38228c7e
* fixed uninitialised var
2003-11-23 17:33:24 +00:00
florian
256299c274
* fixed reading of reg. sets in the arm assembler reader
2003-11-21 16:29:26 +00:00
florian
3b743d766b
* fixed ppc assembler reader
2003-11-15 19:00:10 +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
78e93cec32
* initial revision
2003-11-06 20:48:02 +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
f72431af31
+ copying of open array value parameters to the heap implemented
2003-11-02 17:19:33 +00:00
Jonas Maebe
a624d954f4
* fixed releasing of references (ppc also has a base and an index, not
...
just a base)
2003-11-02 15:20:06 +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
1e72dd2d78
* fixed compilation of ppc compiler
2003-10-25 10:37:26 +00:00
florian
05fcae577a
* some ppc stuff fixed
...
* memory leak fixed
2003-10-19 01:34:30 +00:00
florian
5b33ab3643
* fixed more ppc stuff
2003-10-17 15:25:18 +00:00
peter
0939085ab1
* commented out more obsolete constants
2003-10-17 15:08:34 +00:00
peter
ec2e200e42
* fixed ppc build
2003-10-17 14:52:07 +00:00
florian
6a01a7b4a6
* compilation of the powerpc compiler fixed
2003-10-17 01:22:08 +00:00
florian
c70c620d9b
* some ideas for mm support implemented
2003-10-13 01:58:03 +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
olle
3febb20061
* changed to symbolic const for alignment
2003-10-08 21:15:27 +00:00
mazen
7668192be0
+ Alignement field added to TParaLocation (=4 as 32 bits archs)
2003-10-08 14:11:36 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
99bb20747e
* parent framepointer changed to hidden parameter
...
* tloadparentfpnode added
2003-09-28 17:55:03 +00:00
Jonas Maebe
0bc32cbcd1
+ implemented volatile register queries
2003-09-14 21:56:41 +00:00
Jonas Maebe
5a5b42e927
- removed initialization code
2003-09-14 17:27:56 +00:00
Jonas Maebe
c8863b920b
* fixed some ppc problems
2003-09-14 16:37:20 +00:00
olle
e313062d0b
* max lenght of symbols increased to 255
...
* emitted strings can now contain backslashes
2003-09-12 12:30:27 +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
peter
98d153815c
* some fixes for ppc
2003-09-03 21:04:14 +00:00
peter
c05cf49b35
* removed empty cga unit
2003-09-03 19:39:16 +00:00
peter
601160a0e3
* powerpc compiles again
2003-09-03 19:35:24 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +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
olle
0458038ee5
* minor adjustment
2003-08-24 21:40:12 +00:00
olle
399fac564f
+ added xxx_regname stuff
...
* made the mpw asm writer work again
2003-08-22 12:30:43 +00:00
daniel
7203890d79
* Fixed PowerPC compilation
2003-08-20 14:28:52 +00:00
daniel
8cb289e65f
* Fixed PowerPC compilation
2003-08-19 11:53:03 +00:00
Jonas Maebe
11e98e7d73
* some newra optimizations (eliminate lots of moves between registers)
2003-08-18 21:27:00 +00:00
daniel
86fde70d18
* Improved -sr on PowerPC ATT asm writer
2003-08-18 11:58:14 +00:00