Commit Graph

236 Commits

Author SHA1 Message Date
florian
70da84b994 + set_in_byte needed FPC_SET_IN_BYTE alias 2003-04-26 12:40:33 +00:00
florian
676500cdfc * removed object/class helpers, the compiler uses the generic ones 2003-04-26 12:05:10 +00:00
florian
37608c820f * fixed newlines 2003-04-26 11:55:52 +00:00
Jonas Maebe
6dc686dbe5 * fixeed saving/restoring of return address
* synchronized with i386 version
2003-04-24 12:28:47 +00:00
florian
358cc9ab64 * fixed assembler errors 2003-04-24 12:13:23 +00:00
florian
0e8ad9d236 * fixed assembling 2003-04-24 11:50:50 +00:00
florian
82b65b962c * fixed wrong newlines 2003-04-24 11:46:25 +00:00
florian
57943e4035 * initial implementation 2003-04-24 09:14:22 +00:00
florian
6709cc3a6f * fixed compilation 2003-04-23 22:47:13 +00:00
peter
58357a999c * sstringfunc para updated 2003-04-23 22:19:21 +00:00
peter
a7691d8bb8 * fpc_round added, needed for int64 currency 2003-04-23 21:28:21 +00:00
florian
7e391203c2 * fixed fpc_shortstr_to_shortstr 2003-04-23 21:04:48 +00:00
peter
1e86b585f9 * changed address parameter/return values to pointer instead
of longint
2003-03-17 14:30:11 +00:00
Jonas Maebe
400baab806 + implemented get_frame()
* fixed bug in IndexDWord()
2003-03-12 19:21:29 +00:00
olle
e45d57fd4f * changed access of globals to be indirect via TOC 2003-01-16 11:29:11 +00:00
florian
14bfc9eeba * changed power(...) prototype to int64 2003-01-15 01:09:04 +00:00
florian
6432af8a76 * fixed helper declarations 2003-01-09 20:14:20 +00:00
florian
83571f3c6d * dec/inclocked got defines 2003-01-09 13:38:56 +00:00
olle
757728dcd8 * macos: refs to globals in asm adapted to macos 2002-11-28 11:04:16 +00:00
Jonas Maebe
613edede9b * always use code that was between 'ifdef mt', since that define is
deprecated now
2002-11-07 15:23:13 +00:00
Jonas Maebe
87e7436d93 * changed "dcbtst r0,x" to "dcbtst 0,x" 2002-11-01 13:27:55 +00:00
olle
70e27795a8 * excluded saverestorereg for target macos 2002-10-23 15:26:00 +00:00
Jonas Maebe
22beab1c43 * round has int64 instead of longint result 2002-10-21 18:08:28 +00:00
Jonas Maebe
f44ebfed94 * move/fill*/index*/comp* routines immediately exit if length is negative 2002-10-20 13:40:55 +00:00
Jonas Maebe
e2ff3fe87a * fixed srwi's after cntlzw instructions (should be 5 instead of 31) 2002-10-17 10:14:46 +00:00
Jonas Maebe
45d58bddec * fixed return value of declocked() 2002-10-17 10:12:50 +00:00
peter
ea8118b37c * fpc_pchar_length compilerproc and strlen alias 2002-10-05 14:20:16 +00:00
peter
603b3bc48b * Copy() changed to internal function calling compilerprocs
* FPC_SHORTSTR_COPY renamed to FPC_SHORTSTR_ASSIGN because of the
    new copy functions
2002-10-02 18:21:51 +00:00
carl
876fca9e8f * make the record packed (just in case) 2002-09-15 10:03:04 +00:00
Jonas Maebe
22e9f5b17d * fixed assembler errors 2002-09-11 07:49:40 +00:00
Jonas Maebe
e714c54860 * disabled powerpc-specific fpc_shortstr_concat for now, it was
completely wrong
2002-09-10 21:30:34 +00:00
Jonas Maebe
73c94020ee * fixed bug with concatting 0-length shortstrings 2002-09-10 17:47:20 +00:00
Jonas Maebe
afdfcc6eb5 * made pi an internproc instead of internconst 2002-09-08 13:00:21 +00:00
peter
9f31783a0a * old logs removed and tabs fixed 2002-09-07 16:01:16 +00:00
Jonas Maebe
128c4a9a4b * fixed wrong references (used r0 as base register) 2002-09-06 16:58:43 +00:00
peter
24384c648b * moved genrtti.inc code to rtti
* removed rttip.inc, the generic code is almost as fast and
    much easier to maintain and has less risks on bugs
2002-09-02 18:42:41 +00:00
florian
c8a3171dc9 * several PC related fixes 2002-08-31 21:29:57 +00:00
florian
d1f89ec5e3 * fixed undefined labels 2002-08-31 16:08:36 +00:00
florian
d78a124122 + public and alias directive added to *jmp 2002-08-31 14:27:40 +00:00
florian
44ad4027b7 * several fixes for Linux/PPC compilation 2002-08-31 13:11:11 +00:00
florian
b6f184646c * fixed remaining assembler errors 2002-08-18 22:11:10 +00:00
florian
d9b55c9213 * several errors in inline assembler fixed 2002-08-18 21:37:48 +00:00
Jonas Maebe
3a23eefecc * various fixes, mostly changing the names of the modifies registers to
upper case since that seems to be required by the compiler
2002-08-10 17:14:36 +00:00
Jonas Maebe
a28ee81ed6 * fixed conversion from int64/qword to double errors 2002-07-31 16:58:12 +00:00
florian
8ec8b78cec + dummy setjmp and longjmp added
+ dummy implemtation of the destructor helper
2002-07-30 17:29:53 +00:00
florian
53a0b662b9 * several fixes to get further with linux/ppc system unit compilation 2002-07-29 21:28:16 +00:00
florian
6d4e01d74f * made abs a compiler proc if it is generic 2002-07-28 21:39:28 +00:00
florian
7ac5c3743d * several fixes for linux/powerpc
* several fixes to MT
2002-07-28 20:43:47 +00:00
florian
05a95ba5bc * interface of system unit for Linux/PowerPC compiles 2002-07-26 22:46:06 +00:00
florian
6970b32117 * comments fixed 2002-07-26 22:08:38 +00:00
florian
9c29671190 + initial dummy implementation 2002-07-26 22:08:13 +00:00
florian
869ae73dde + initial version 2002-07-26 16:54:48 +00:00
florian
3f2a82784e * changed multi threading define: it's MT instead of MTRTL 2002-07-26 15:45:33 +00:00
Jonas Maebe
bb2ff94da7 * fpu results are returned in fr1, not fr0 2001-12-02 16:19:45 +00:00
Jonas Maebe
6fbd6e2e6d * fixed fpc_int64_to_double and fpc_int64_to_double (fpc_int64_to_double
is now mostly tested and should work fine, fpc_qword_to_double should
    work too since it's almost the same)
2001-10-30 17:18:14 +00:00
Jonas Maebe
1ccf8662fe + initial implementation, lots of things still missing 2001-10-28 14:09:13 +00:00
Jonas Maebe
fb14b168f2 + initial implementation, complete, not tested 2001-10-28 14:08:57 +00:00
Jonas Maebe
50cd146e95 + initial implementation, still needs changes for self pointer register 2001-10-28 14:08:37 +00:00
Jonas Maebe
8f2e700b97 * small changes to move (different count values trigger the selection of
moving bytes instead dwords/doubles and move dcbt instruction)
  + implemented fillchar (untested)
2001-09-28 13:28:49 +00:00
Jonas Maebe
ac2d3341f4 * use rlwnm instead of slw, because, although the programming
environments manual states otherwise, slw uses the whole contents of
    the register instead of bits 27-31 as shift count (rlwnm doesn't)
  * fixed generation of offset inside normal sets where bits have to be
    inserted
2001-09-28 13:27:02 +00:00
Jonas Maebe
2f4bfd6b67 * fixed wrong alignment code (sometimes we aligned to multiple of 8
instead of the desired multiple of 4)
2001-09-28 13:25:04 +00:00
Jonas Maebe
a8690ca041 * small optimization 2001-09-28 13:23:44 +00:00
Jonas Maebe
9baf1000ae * conversion to compilerproc and to structure used by i386 rtl
* some bugfixes
  * powerpc.inc is almost complete (only fillchar/word/dword, get_frame etc
    and the class helpers are still needed
  - removed unnecessary register saving in set.inc (thanks to compilerproc)
  * use registers reserved for parameters as much as possible instead of
    those reserved for local vars (since those have to be saved by the
    called anyway, while the ones for local vars have to be saved by the
    callee)
2001-09-27 15:30:29 +00:00
Jonas Maebe
2d433814ef * fixed small bug in stricomp 2001-07-21 15:51:50 +00:00
Jonas Maebe
91a2f0d3f5 * some small bugfixes and cache optimizations 2001-07-07 12:46:12 +00:00
Jonas Maebe
02591a89d9 * changed 'bdnzeq cr0' to 'bdnzt cr0*4+eq' 2001-03-03 13:54:26 +00:00
Jonas Maebe
33bd4a1769 * fixed small bug in move 2001-03-03 13:53:36 +00:00
Jonas Maebe
b7970bf7a4 + new, complete implementation of move procedure (including support for
overlapping regions)
2001-03-02 13:24:10 +00:00
Jonas Maebe
3e4f02f165 * optimized strcopy/strecopy 2001-02-23 14:05:33 +00:00
Jonas Maebe
42a96ecb23 * implemented several more procedures 2001-02-11 17:59:46 +00:00
Jonas Maebe
d1844eb8b7 * fixed bug in strscan 2001-02-11 17:59:14 +00:00
Jonas Maebe
912d568353 * some small optimizations and bugfixes 2001-02-11 12:15:03 +00:00
Jonas Maebe
0d3225e9ee * initial implementation: everything implemented, nothing tested 2001-02-10 16:10:32 +00:00
Jonas Maebe
91b18ba05b + implemented all missing routines and changed reg allocation to follow ABI 2001-02-10 16:09:43 +00:00
Jonas Maebe
f4ec8b8b12 * fixed some bugs, simplified/optimized already implemented routines and code some more 2001-02-10 12:28:22 +00:00
Jonas Maebe
23306da428 + first implementation, not yet finished 2000-11-05 17:17:08 +00:00
Jonas Maebe
ba47609048 * Fixed small error and did a small optimization 2000-10-07 14:42:16 +00:00
Jonas Maebe
df285ec946 * one more bug corrected 2000-09-26 14:22:13 +00:00
Jonas Maebe
484bd2710c * fixed several small bugs
* fixed several typo's in the comments
2000-09-26 14:19:04 +00:00
Jonas Maebe
c9edb8c6e5 + implementation for FPC_SET_SET_RANGE
* changed some routines so they never read data from after the actual
    set (could cause sigsegv's if the set is at the end of the heap)
2000-09-22 10:03:18 +00:00
Jonas Maebe
dc9917738f + initial version by Casey Duncan (not yet thoroughly debugged or complete) 2000-07-27 07:32:12 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
Jonas Maebe
bfe30b974e * some optimizations suggested by Anton Rang in c.s.powerpc.misc 2000-06-30 10:32:43 +00:00
Jonas Maebe
fdd1947370 * optimized several routines
+ implemented do_contains_sets
2000-06-29 08:42:03 +00:00
Jonas Maebe
131fbc03c5 * inital version, everything not yet implemented 2000-06-28 13:43:29 +00:00