Commit Graph

172 Commits

Author SHA1 Message Date
peter
1c7e6fc380 * sparc updates
* use registertype in spill_register
2003-12-26 14:02:30 +00:00
florian
466744d413 * rtl and compiler compile with -Cfsse2 2003-12-26 13:47:41 +00:00
florian
ace2d682b0 * rtl and compiler compile with -Cfsse2 2003-12-26 13:19:16 +00:00
florian
3d8e1ab1fb + fpu<->mm register conversion 2003-12-26 00:32:21 +00:00
florian
dd2bb53aa5 + possible sse2 unit usage for double calculations
* some sse2 assembler issues fixed
2003-12-25 12:01:35 +00:00
florian
06442fa677 + $fputype directive support
+ single data type operations with sse unit
  * fixed more x86-64 stuff
2003-12-25 01:07:09 +00:00
florian
6d3d97e845 * first fixes to compile the x86-64 system unit 2003-12-24 01:47:22 +00:00
florian
f84979f02d * x86-64 compilation fixed 2003-12-24 00:33:10 +00:00
florian
7887af7c75 * rg unified for i386/x86-64 2003-12-24 00:12:57 +00:00
florian
9c476ba5f1 - delete parameter in cg64 methods removed 2003-12-24 00:10:02 +00:00
florian
d1116fb7f1 + second_floataddsse implemented 2003-12-23 14:38:07 +00:00
florian
b52cee6639 * fixed ppc inlining stuff
* fixed wrong unit writing
  + added some sse stuff
2003-12-21 19:42:42 +00:00
daniel
d84b7d0743 * Some work to restore the MMX capabilities 2003-12-19 22:08:44 +00:00
peter
1367e342db * reg allocations for imaginary register are now inserted just
before reg allocation
  * tregister changed to enum to allow compile time check
  * fixed several tregister-tsuperregister errors
2003-12-15 21:25:48 +00:00
daniel
7061f04355 * Register allocator speed optimizations
- Worklist no longer a ringbuffer
    - No find operations are left
    - Simplify now done in constant time
    - unusedregs is now a Tsuperregisterworklist
    - Microoptimizations
2003-12-14 20:24:28 +00:00
peter
bce5a1e252 * rg[tregistertype] added in tcg 2003-12-12 17:16:17 +00:00
florian
bfe452936f * reverted Peter's alloctemp patch; hopefully properly 2003-12-06 01:15:22 +00:00
peter
64b0a0eadf * delayed paraloc allocation, a_param_*() gets extra parameter
if it needs to allocate temp or real paralocation
  * optimized/simplified int-real loading
2003-12-03 23:13:19 +00:00
Jonas Maebe
52980d5488 * fixed properties for MOVSB 2003-11-22 00:35:42 +00:00
florian
ebab97b3c8 + first part of arm assembler reader 2003-11-17 23:23:47 +00:00
Jonas Maebe
16834b1854 * fixed XSTORE instruction info 2003-11-13 18:54:22 +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
peter
517c5de6aa * line numbering is now only done when #10, #10#13 is really parsed
instead of when it is the next character
2003-11-10 19:08:32 +00:00
florian
08f4e363f6 * elesize of g_copyvaluepara_openarray changed 2003-11-05 23:06:03 +00:00
mazen
a2cee9b843 * using findreg_by_<name|number>_table directly to decrease heap overheading 2003-10-31 09:22:55 +00:00
peter
48ef24605a * support scalefactor for opr_local
* support reference with opr_local set, fixes tw2631
2003-10-30 19:59:00 +00:00
marco
706118fcb9 * profiling fix 2003-10-30 18:53:53 +00:00
peter
0bc3453035 * fixed findreg_by_number
* renamed rghelper to rgbase
2003-10-30 17:13:18 +00:00
peter
9e66b09843 * call firstpass before allocation and codegeneration is started
* move leftover code from pass_2.generatecode() to psub
2003-10-30 16:22:40 +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
Jonas Maebe
0cac29ec76 + support for fpu temp parameters
+ saving/restoring of fpu register before/after a procedure call
2003-10-29 21:24:14 +00:00
peter
5925d38ac7 * support indexing and offset retrieval for locals 2003-10-29 15:40:20 +00:00
peter
7e450e736b * fix crash with ops=0 2003-10-28 18:46:49 +00:00
peter
4a1ecb07d1 * splitted buildderef and buildderefimpl to fix interface crc
calculation
2003-10-23 14:44:07 +00:00
peter
6878c55c80 * write derefdata in a separate ppu entry 2003-10-22 20:39:59 +00:00
peter
96f9973b46 * taicpu_abstract.oper[] changed to pointers 2003-10-21 15:15:35 +00:00
peter
925bc3bbad * remove memdebug code for rg 2003-10-20 19:30:08 +00:00
peter
9f54e1b7c5 * made worklists dynamic in size 2003-10-18 15:41:26 +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
d0de3b3ea8 * 64k registers supported
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
florian
57a2fe6ddb + some code for PIC support added 2003-10-14 00:30:48 +00:00
florian
c70c620d9b * some ideas for mm support implemented 2003-10-13 01:58:03 +00:00
florian
947280d8e2 * some ideas for mm support implemented 2003-10-13 01:23:13 +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
peter
fb81b7ebbb * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
* tregisteralloctor renamed to trgobj
  * removed rgobj from a lot of units
  * moved location_* and reference_* to cgobj
  * first things for mmx register allocation
2003-10-10 17:48:13 +00:00
daniel
b2343f4b16 * Register allocator splitted, ans abstract now 2003-10-09 21:31:37 +00:00
florian
e3519e3b0c * x86 supports only mem/reg to reg for movsx and movzx 2003-10-07 16:09:03 +00:00
peter
e27d6f67da * inline supported again, LOC_REFERENCEs are used to pass the
parameters
  * inlineparasymtable,inlinelocalsymtable removed
  * exitlabel inserting fixed
2003-10-07 15:17:07 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00