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
Jonas Maebe
3e7b6ef7fa
* unarynminus and shlshr node fixed for 32bit and smaller ordinals
...
* small fixes in the assembler writer
* changed scratch registers, because they were used by the linker (r11
and r12) and by the abi under linux (r31)
2002-07-09 19:45:01 +00:00
florian
be574d1cf2
* powerpc target fixed, very simple units can be compiled
2002-07-07 09:44:31 +00:00
carl
d75603c2ed
* bugfix of hdisponen (base must be set, not index)
...
* more portability fixes
2002-05-20 13:30:40 +00:00
peter
06ebac4e27
* readded missing revisions
2002-05-18 13:34:04 +00:00
carl
21b3a10f02
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
...
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c
* removed old logs and updated copyright year
2002-05-14 19:34:38 +00:00
peter
f6b3e2e37f
* synchronized cpubase between powerpc and i386
...
* moved more tables from cpubase to cpuasm
* tai_align_abstract moved to tainst, cpuasm must define
the tai_align class now, which may be empty
2002-05-14 17:28:08 +00:00
peter
51688dade3
* a ppcppc can be build again
2002-05-13 19:52:46 +00:00
carl
9b12acc70a
* renamed some constants
2002-04-20 21:38:45 +00:00
Jonas Maebe
71a52a4aeb
* several powerpc-related additions and fixes
2002-04-06 18:10:42 +00:00
Jonas Maebe
e41ba8650a
* fixed small bug in a_jmp_flags
2002-01-02 14:53:04 +00:00
Jonas Maebe
f15dbd7bf0
* range checking is now processor independent (part in cgobj, part in
cg64f32) and should work correctly again (it needed some changes after
the changes of the low and high of tordef's to int64)
* maketojumpbool() is now processor independent (in ncgutil)
* getregister32 is now called getregisterint
2001-12-30 17:24:45 +00:00
Jonas Maebe
91f567bb66
* powerpc/cgcpu.pas compiles :)
...
* several powerpc-related fixes
* cpuasm unit is now based on common tainst unit
+ nppcmat unit for powerpc (almost complete)
2001-12-29 15:28:57 +00:00
Jonas Maebe
2d3126c843
* small fixes
2001-10-28 14:16:49 +00:00
Jonas Maebe
32759c4953
* small optimization
2001-09-29 21:33:30 +00:00
Jonas Maebe
fa0a56f559
* several additions, almost complete (only some problems with resflags left)
2001-09-28 20:40:05 +00:00
Jonas Maebe
17209e05b7
* some fixes to operations with constants
2001-09-16 10:33:21 +00:00
Jonas Maebe
4930d6448f
* some more things implemented
2001-09-09 17:10:25 +00:00
Jonas Maebe
bea3bf8717
* changed type of tcg from object to class -> abstract methods are now
...
a lot cleaner :)
+ more updates: load_*_loc methods, op_*_* methods, g_flags2reg method
(if possible with geenric implementation and necessary ppc
implementations)
* worked a bit further on cgflw, now working on exitnode
2001-09-06 15:25:55 +00:00
Jonas Maebe
3b4b673069
* new cgflow based on n386flw with all nodes until forn "translated"
...
+ a_cmp_loc_*_label methods for tcg
+ base implementatino for a_cmp_ref_*_label methods
* small bugfixes to powerpc cg
2001-09-05 20:21:03 +00:00
florian
525be77ced
* some cg reorganisation
...
* some PPC updates
2001-08-26 13:29:33 +00:00