Commit Graph

383 Commits

Author SHA1 Message Date
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