marco
ca54415fb0
* now generic
2003-06-01 15:25:14 +00:00
marco
13b0db9269
* Shared for now
2003-06-01 15:23:46 +00:00
Jonas Maebe
f0227e6a17
* fpc_shortstr_append_shortstr has to use high(s1) instead of 255 as
...
maxlen
+ ppc version of fpc_shortstr_append_shortstr
2003-06-01 14:50:17 +00:00
marco
a101c4f2ec
* Fix to get it to build "name" was considered dup ident. Changed to
...
envname and added logs
2003-06-01 14:40:05 +00:00
Jonas Maebe
abc1c5bf2f
* fix for bug in fixref that Peter found during the Sparc conversion
2003-06-01 13:42:18 +00:00
peter
7b3095fe27
* reference fixes
2003-06-01 01:04:35 +00:00
peter
e03a8f8f69
* FMOVs fixed
2003-06-01 01:03:53 +00:00
peter
0106a4a537
* remove unsupported combinations
...
* reg_ref_reg only allowed for refs_lo,refs_hi
2003-06-01 01:03:41 +00:00
peter
948ef20ecc
* generic a_call_ref
2003-06-01 01:02:39 +00:00
Jonas Maebe
4d70aebb1b
* constant evaluation of trunc() and round() now also gives 64 bit
...
results
2003-05-31 21:29:04 +00:00
Jonas Maebe
a6d430204c
* temp fix/hack for nested procedures (disable regvars in all procedures
...
that have nested procedures)
* leave register parameters in their own register (instead of storing
them to memory or assigning them to another register) if the current
procedure doesn't call any other procedures
2003-05-31 20:33:57 +00:00
Jonas Maebe
f67e370ce1
* set inital costs of assigning a variable to a register to 120 for
...
non-i386, because the used register must be store to memory at the
start and loaded again at the end
2003-05-31 20:31:11 +00:00
Jonas Maebe
dbf22a6cc9
* changed copyvalueparas so it also supports register parameters
...
(except for copy_value_openarray, but that one is seriously broken
anyway, since it expects that the high parameter will always be in
memory right after the pointer to the array, while it could just as
will be in a register)
2003-05-31 20:28:17 +00:00
Jonas Maebe
5a4c00bedd
* added pi_do_call if a procedure has a value shortstring parameter
...
(it's copied to the local stackframe with a helper)
2003-05-31 20:23:39 +00:00
Jonas Maebe
18f6811154
* fixed 64 bit results of trunc and round
2003-05-31 20:22:06 +00:00
Jonas Maebe
8b60e1e414
* add default system for ppc
2003-05-31 18:14:06 +00:00
peter
c3b2b3b34b
* regenerated
2003-05-31 18:07:50 +00:00
marco
ce67daed63
* Fix to not print empty -Fl when gcclib not found
2003-05-31 17:15:40 +00:00
marco
93299ef090
* works via system unit call now, because of powerpc
2003-05-31 16:57:22 +00:00
marco
65edaa4990
* First working version. CVS: ----------------------------------------------------------------------
2003-05-31 16:50:16 +00:00
peter
9cafe9c315
* fixed opsize and operand size setting for 64bit values
2003-05-31 16:22:28 +00:00
marco
d2d02b6cc6
* cpuppc -> cpupowerpc. Target compiler was always linux for ppc
2003-05-31 16:17:27 +00:00
peter
1e7ecac976
* FUNCTION_RESULT64_LOW/HIGH_REG added for int64 results
2003-05-31 15:05:28 +00:00
peter
0e11419a26
* load_loc_reg update
2003-05-31 15:04:31 +00:00
peter
790e125329
* register fixes
2003-05-31 01:00:51 +00:00
peter
92430d4881
* typo in FUNCTION_RESULT_REG
2003-05-31 00:59:44 +00:00
Jonas Maebe
2961250600
* fixed my previous commit
2003-05-31 00:48:15 +00:00
peter
414bd5fa22
* more sparc cleanup
...
* accumulator removed, splitted in function_return_reg (called) and
function_result_reg (caller)
2003-05-30 23:57:08 +00:00
florian
d992e13e08
* fixed parameter passing for int64
2003-05-30 23:56:41 +00:00
Jonas Maebe
31db518df3
* forgot to commit, a_load_loc_reg change
2003-05-30 23:54:08 +00:00
Jonas Maebe
e7e2cfe9a4
* a_load_loc_reg now has an extra size parameter for the destination
...
register (properly fixes what I worked around in revision 1.106 of
ncgutil.pas)
2003-05-30 23:49:18 +00:00
marco
1daf2ca476
* register skipping (aligning) for int64 parameters, sys V abi only.
2003-05-30 23:45:49 +00:00
marco
a73b98ea9f
* getfuncretparaloc now uses r3 for highdword and r4 for lo. Doesn't work tho
2003-05-30 22:54:19 +00:00
marco
152b525419
* committed fix that swaps int64 parameters hi and lo.
2003-05-30 22:35:03 +00:00
Jonas Maebe
0c717891ff
* fixed bug in a_load_loc_ref (the source instead of dest size was passed
...
to a_load_reg_ref in case of a register)
2003-05-30 21:40:00 +00:00
Jonas Maebe
820302b098
- disabled "result := value; exit;" -> exit(value) optimization because
...
a) it was wrong
b) exit(value) works now exactly the same as that
(it was only activated with -Or)
2003-05-30 21:01:44 +00:00
marco
e3c50b2399
* Getting NetBSD/i386 to compile.
2003-05-30 19:58:40 +00:00
marco
031693de28
* small changes
2003-05-30 19:37:14 +00:00
Jonas Maebe
0357f71e14
* fixed several regvar related bugs for non-i386. make cycle with -Or now
...
works for ppc
2003-05-30 18:55:21 +00:00
Jonas Maebe
fefdcc6331
* fixed bug with intregvars
...
* locapara.loc can also be LOC_CFPUREGISTER -> also fixed
rcgppc.a_param_ref, which previously got bogus size values
2003-05-30 18:52:10 +00:00
Jonas Maebe
d321606bc5
* changed scratchregs from r28-r30 to r29-r31
...
* made sure the regvar registers don't overlap with the scratchregs
anymore
2003-05-30 18:49:59 +00:00
Jonas Maebe
413030a90d
* fixed problem where sometimes no register was allocated for the result
...
of an addnode when using regvars
2003-05-30 18:49:14 +00:00
Jonas Maebe
7d1f5c8330
* fixed intregister bug
...
* fixed error in my previous commit: vo_(fpu)regable should only be set
for (inline)localsymtable and (inline)parasymtable entries
2003-05-30 18:48:17 +00:00
Jonas Maebe
6c7f3ad02e
* the vartype field of tvarsym is now a property, because is_XXXregable
...
must be updated when the vartype is changed
2003-05-30 13:35:10 +00:00
Jonas Maebe
f433c21ead
* use as little different registers on the ppc until newra is released,
...
since every used register must be saved
2003-05-30 12:36:13 +00:00
peter
8564337ea4
* remove uncgi
2003-05-30 07:40:53 +00:00
michael
005b9f150d
fixed case insensitivity of TStrings.IndexOf
2003-05-29 23:13:57 +00:00
michael
643c573e32
+ And yet more fixes to short option checking
2003-05-29 23:06:38 +00:00
michael
dec8380954
+ Corrected check for required arg to long opt
2003-05-29 22:49:04 +00:00
michael
44dfb357e3
+ Corrected example
2003-05-29 22:37:13 +00:00