Commit Graph

71 Commits

Author SHA1 Message Date
olle
a02a1adee1 * changed global var access, TOC now contain pointers to globals
* fixed handling of function pointers
2003-01-13 17:17:50 +00:00
florian
2102ce7031 * fixed some PowerPC issues 2003-01-09 22:00:53 +00:00
daniel
55a161bbbf * Tregister changed into a record 2003-01-08 18:43:56 +00:00
florian
938f46f246 * fixed some crashes and a rte 201 2002-12-15 19:22:01 +00:00
olle
5e90be8184 * macos: changing code gen for references to globals 2002-11-28 10:55:16 +00:00
Jonas Maebe
fb5b623e30 * fixed bctr(l) problems 2002-11-07 15:50:23 +00:00
olle
9284b36d3b * macos: globals are located in TOC and relative r2, instead of absolute 2002-11-04 18:24:19 +00:00
olle
b71c1492a9 * macos entry/exit: only used registers are saved
- macos entry/exit: stackptr not saved in r31 anymore
  * macos entry/exit: misc fixes
2002-10-28 22:24:28 +00:00
olle
4d3ed1a22c * macos stack frame size computing updated
+ macos epilogue: control register now restored
  * macos prologue and epilogue: fp reg now saved and restored
2002-10-19 23:51:48 +00:00
olle
7fde7960b5 * reorganized prologue and epilogue routines 2002-10-19 12:50:36 +00:00
florian
fa4a4de18c * all A_BL instructions replaced by calls to a_call_name 2002-10-02 21:49:51 +00:00
Jonas Maebe
a738c4ddcf * changed a_call_* so that no superfluous code is generated anymore 2002-10-02 13:24:58 +00:00
olle
fa695eefea * made a_load_store more robust and to accept large offsets and cleaned up code 2002-10-01 05:24:28 +00:00
Jonas Maebe
a15d8cfe39 * a_load_reg_reg() now has two size parameters: source and dest. This
allows some optimizations on architectures that don't encode the
    register size in the register name.
2002-09-17 18:54:01 +00:00
Jonas Maebe
02e9260997 + added some internal errors
* fixed bug in sysv exit code
2002-09-10 21:22:25 +00:00
Jonas Maebe
32d4d8780f * fixed TOpCmp2AsmCond array (some unsigned equivalents were wrong) 2002-09-08 20:11:56 +00:00
Jonas Maebe
07c1116a8c * several large offset-related fixes 2002-09-08 13:03:26 +00:00
florian
a7a354956d * first part of PowerPC fixes 2002-09-07 17:54:58 +00:00
peter
dcd9e0107c * old logs removed and tabs fixed 2002-09-07 15:25:00 +00:00
Jonas Maebe
ce868dcdac + a_call_reg()
* small fix in a_call_ref()
2002-09-02 10:14:51 +00:00
Jonas Maebe
c7df12f6f0 * fixed range error 2002-09-02 06:09:02 +00:00
florian
6502638258 * several powerpc related stuff fixed 2002-09-01 21:04:47 +00:00
peter
7898dcf9ed + a_call_reg, a_call_loc added
* removed exprasmlist references
2002-09-01 12:09:27 +00:00
Jonas Maebe
431b9fac81 * fixed a_call_ref (it should load ctr, not lr) 2002-08-31 21:38:02 +00:00
florian
391ce796ef * fixed several problems caused by Jonas' commit :) 2002-08-31 21:30:45 +00:00
Jonas Maebe
76111bb9eb + implemented a_call_ref() 2002-08-31 19:25:50 +00:00
florian
0d1a344d7f + the ppc gas assembler writer adds now registers aliases
to the assembler file
2002-08-18 22:16:14 +00:00
florian
b841ba8b16 * some assembler writer bugs fixed 2002-08-17 18:23:53 +00:00
florian
e313bab4ff * first part of procinfo rewrite 2002-08-17 09:23:33 +00:00
carl
745efb2c47 * issameref() to test if two references are the same (then emit no opcodes)
+ ret_in_reg to replace ret_in_acc
    (fix some register allocation bugs at the same time)
  + save_std_register now has an extra parameter which is the
    usedinproc registers
2002-08-16 14:24:57 +00:00
carl
c33d99adb7 - a_load_sym_ofs_reg removed
* loadvmt now calls loadaddr_ref_reg instead
2002-08-15 08:13:54 +00:00
peter
425bb45ddc * renamed current_library to objectlibrary 2002-08-11 14:32:25 +00:00
peter
ac71268ce6 * saving of asmsymbols in ppu supported
* asmsymbollist global is removed and moved into a new class
    tasmlibrarydata that will hold the info of a .a file which
    corresponds with a single module. Added librarydata to tmodule
    to keep the library info stored for the module. In the future the
    objectfiles will also be stored to the tasmlibrarydata class
  * all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
Jonas Maebe
9ba736bd04 + powerpc-specific genlinearlist 2002-08-11 11:39:12 +00:00
Jonas Maebe
ee7d5f7b2a * various fixes and optimizations 2002-08-10 17:15:31 +00:00
florian
b136cecacd * first part of ppc calling conventions fix 2002-08-06 20:55:20 +00:00
Jonas Maebe
e7d92a1aa7 * fixed bug in g_flags2reg()
* and yet more constant operation fixes :)
2002-08-06 07:12:05 +00:00
Jonas Maebe
10c4e8eb15 * fixed compilation problems 2002-08-05 08:58:53 +00:00
Jonas Maebe
8ff3e3e1b3 * more misc. fixes, mostly constant-related 2002-08-04 12:57:55 +00:00
Jonas Maebe
54011b5bea * some misc constant fixes 2002-08-02 11:10:42 +00:00
florian
ed950491a8 * the code generator knows now if parameters are in registers 2002-07-30 20:50:43 +00:00
florian
e7a6cd18dd * more fixes for the ppc
+ wrappers for the tcnvnode.first_* stuff introduced
2002-07-29 21:23:42 +00:00
florian
37351a4590 - removed debug code which was commited by accident 2002-07-28 21:38:30 +00:00
florian
463b355ba3 * more powerpc fixes
+ dummy tcgvecnode
2002-07-28 21:34:31 +00:00
Jonas Maebe
e3cbc3cf22 + tcg64fppc.a_op64_const_reg_reg() and tcg64fppc.a_op64_reg_reg_reg()
* several fixes, most notably in a_load_reg_reg(): it didn't do any
    conversion from smaller to larger sizes or vice versa
  * some small optimizations
2002-07-28 16:01:59 +00:00
Jonas Maebe
b4cfa73079 * fixed a_loadaddr_ref_reg()
* fixed g_flags2reg()
  * optimized g_concatcopy()
2002-07-27 19:59:29 +00:00
florian
eb2ca8d10f * rewrote the system handling 2002-07-26 21:15:37 +00:00
Jonas Maebe
c1e9bd36a3 * make sure we use rlwi* when possible instead of andi. 2002-07-21 17:00:23 +00:00
florian
336808f6c3 * start of the new generic parameter handling 2002-07-11 14:41:27 +00:00
Jonas Maebe
690ba14436 + tcg64fpc implementation (only a_op64_reg_reg and a_op64_const_reg for
now)
  * fixed and improved tcgppc.a_load_const_reg
  * improved tcgppc.a_op_const_reg, tcgppc.a_cmp_const_reg_label
  * A_CMP* -> A_CMPW* (this means that 32bit compares should be done)
2002-07-11 07:38:28 +00:00