Commit Graph

235 Commits

Author SHA1 Message Date
peter
c853d10cc2 * optimized spilling writing when the reg operand can be
replaced by reference
2004-10-10 16:30:26 +00:00
Jonas Maebe
2b030488b2 * regvar fixes from Peter 2004-10-06 19:26:50 +00:00
peter
f5471aef6e * more spilling rewrites 2004-10-05 20:41:01 +00:00
peter
4bdae840a3 * reverted a minor move in the order of tinschange. The order
is required by the optimizer. Added also a remark
2004-10-04 21:11:24 +00:00
peter
f10c319261 * fix x86_64 compile 2004-10-04 20:55:04 +00:00
peter
ee3585f56f * spilling code rewritten for x86. It now used the generic
spilling routines. Special x86 optimization still needs
    to be added.
  * Spilling fixed when both operands needed to be spilled
  * Cleanup of spilling routine, do_spill_readwritten removed
2004-10-04 20:46:22 +00:00
florian
001292bf50 * made sqrt, sqr and abs internal for the sparc 2004-10-03 12:41:30 +00:00
peter
d604b703cb * fix resizing of LOC_CREGISTER 2004-10-01 17:32:16 +00:00
Tomas Hajny
39d6a252e2 * explicit typecast added to avoid range check error 2004-09-30 19:32:19 +00:00
peter
30a4185153 * IE when expecting top_ref 2004-09-27 15:12:47 +00:00
peter
ec04a5a899 * handle 3 operand opcodes the same as 2 operand opcodes, the
third operand can only be a const or register CL, so it doesn't
    affect spilling
  * support shrd/shld that don't allow memory operands
2004-09-27 14:49:45 +00:00
florian
9d29de2b43 * fixed qword -> float conversion for x86 2004-09-26 09:12:50 +00:00
florian
9ebffe215b * ie checking in spilling code improved 2004-09-26 07:15:07 +00:00
peter
65c3ba277c * ungetregister is now only used for cpuregisters, renamed to
ungetcpuregister
  * renamed (get|unget)explicitregister(s) to ..cpuregister
  * removed location-release/reference_release
2004-09-25 14:23:54 +00:00
peter
33a834821f * paraloc branch merged 2004-09-21 17:25:12 +00:00
florian
9cec4f847e * fixed i386 compilation 2004-08-24 21:23:11 +00:00
Jonas Maebe
1dd5fc2b47 * changed first_sse_imreg to first_mm_imreg 2004-07-09 23:30:13 +00:00
peter
230105093d * only enable dwarf for supported platforms 2004-06-29 21:00:08 +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
peter
5358278ca1 tai_regalloc.allocation changed to ratype to notify rgobj of register size changes 2004-05-22 23:34:27 +00:00
florian
39f5874341 * fixed qword -> <real> type cast 2004-05-10 20:57:45 +00:00
florian
c68ea95074 + syscall directive support for MorphOS added 2004-04-28 15:19:03 +00:00
peter
ffb2785d2b * A_MOVSL renamed to A_MOVSD 2004-04-09 14:36:05 +00:00
peter
406eb57a59 * MOVSL fixed 2004-04-08 16:49:42 +00:00
peter
38373b90d8 * check for top_ref instead of OT_MEMORY in needaddrprefix 2004-03-16 16:19:19 +00:00
michael
2f26f9ebb4 + Fix from peter: fixes crash when inlining assembler code referencing local vars 2004-03-15 08:44:51 +00:00
peter
81f3ef9eca * fixed concatcopy end bytes copy broken by 64bits patch 2004-03-11 19:35:05 +00:00
peter
970d84f86d * mcount for linux fixed
* push/pop edx for mcount
2004-03-10 22:52:03 +00:00
florian
10e765329d * fixed arm compilation
* cleaned up code generation for exported linux procedures
2004-03-06 20:35:19 +00:00
peter
b601863598 * top_none in create_ot, it is used in error situations 2004-03-04 17:25:38 +00:00
olle
4fecc1a56f * big transformation of Tai_[const_]Symbol.Create[data]name* 2004-03-02 00:36:32 +00:00
florian
fabb9c33ac * top_symbol killed
+ refaddr to treference added
  + refsymbol to treference added
  * top_local stuff moved to an extra record to save memory
  + aint introduced
  * tppufile.get/putint64/aint implemented
2004-02-27 10:21:04 +00:00
florian
01d16548f4 * fixed exception reason size for 64 bit systems 2004-02-22 18:27:21 +00:00
florian
0c35b6f3c4 * x86_64 uses generic concatcopy_valueopenarray for now 2004-02-22 16:48:09 +00:00
florian
ec8c16f871 * fixed
+ second_cmpfloatsse
2004-02-22 16:30:37 +00:00
florian
00dbe6655d + nx86set added
* some more x86-64 fixes
2004-02-22 12:04:04 +00:00
florian
6a392f766d * OP_SH* code generation fixed 2004-02-21 19:46:37 +00:00
peter
fad88e2c7c * allow mov to smaller sizes 2004-02-20 16:01:49 +00:00
peter
e6929a1a32 * more x86_64 parameter fixes
* tparalocation.lochigh is now used to indicate if registerhigh
    is used and what the type is
2004-02-09 22:14:17 +00:00
peter
302040cc98 * reg_2_opsize replaced with reg_cgsize 2004-02-09 19:23:48 +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
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
daniel
46d241a666 * Take advantage of our new with statement optimization 2004-02-07 23:28:34 +00:00
florian
b780c7852c + improved floating point compares for x86-64 and Pentium2 and above 2004-02-06 16:44:42 +00:00
florian
3cb562e41f * movz*q fixed 2004-02-06 14:37:48 +00:00
peter
221090453c * x86_64 fixes for opsize 2004-02-05 18:28:37 +00:00
florian
465aa5851b * several fixes to compile x86-64 system 2004-02-05 01:24:08 +00:00
peter
8c5b0f7d82 * first try to get cpupara working for x86_64 2004-02-04 22:01:13 +00:00
peter
8012731ede *** empty log message *** 2004-02-04 19:22:27 +00:00