Jonas Maebe
14670f4065
* fixed syntax error caught by Mac OS X' as :)
2004-01-03 19:46:29 +00:00
Jonas Maebe
6bd3eccdac
+ fpc_cpuinit procedure to allow cpu/fpu initialisation before any unit
...
initialises
+ fpu exceptions for invalid operations and division by zero enabled for
ppc
2004-01-02 17:21:50 +00:00
florian
245c5fe197
* strscan fix from Jonas
2003-12-28 22:33:35 +00:00
Jonas Maebe
e9a522fdae
* fixed fillchar for SYSV abi
2003-12-28 21:06:56 +00:00
Jonas Maebe
430d41fdb0
* fixed *locked* routines
2003-12-28 20:55:57 +00:00
peter
d11cecb354
* removed assembler
...
* cleanup
2003-12-24 22:27:13 +00:00
florian
acade4f561
* fixed compilation with sysv calling conventions
2003-12-21 21:23:09 +00:00
Jonas Maebe
f66a3775c5
* fixed buffer overflow bug in fpc_shortstr_append_shortstr in case
...
the result was already 255 characters long
2003-12-09 20:08:30 +00:00
Jonas Maebe
ecfca6db55
- reverted previous patch, solved with the new assembler reader
...
(which didn't understand the new syntax)
2003-12-07 19:55:37 +00:00
olle
0b2afad6e8
* changed in temp+4 to 4+temp, to be compatible with PPCAsm
2003-12-07 17:54:53 +00:00
Jonas Maebe
2eef2eae81
* fixed buffer overrun error in fillchar
2003-12-07 14:27:45 +00:00
Jonas Maebe
aac321199b
+ added FPC_MOVE alias to move for open array support
2003-12-07 13:29:02 +00:00
Jonas Maebe
d5373d5971
* fixed several ppc assembler reader related problems
...
* local vars in assembler procedures now start at offset 4
* fixed second_int_to_bool (apparently an integer can be in LOC_JUMP??)
2003-11-29 16:27:19 +00:00
Jonas Maebe
805df8c05f
* fixed some label names
2003-11-23 17:34:27 +00:00
florian
4ff69f3905
* fixed rtl to work with the integrated fpc ppc assembler reader
2003-11-15 19:01:27 +00:00
Jonas Maebe
c54a181d65
* renamed sp to r1, gnu as doesn't understand sp
2003-09-14 20:33:28 +00:00
peter
abbc3fa755
* moved int64 asm code to int64p.inc
...
* save ebx,esi
2003-09-14 11:34:13 +00:00
olle
103019fb39
+ Used macros ABI_AIX and ABI_SYSV exchanged to FPC_ABI_AIX and FPC_ABI_SYSV.
2003-09-06 10:44:41 +00:00
florian
ed7610985b
* fixed qword_to_double conversion on powerpc
2003-09-04 16:07:31 +00:00
florian
8d771df2d4
* arm fixes to the common rtl code
...
* some generic math code fixed
* ...
2003-09-03 14:09:37 +00:00
olle
2cac9a0576
+ added MacOS compatible constant loading
2003-08-24 20:51:27 +00:00
olle
b9e01adc15
* changed used scratchreg from r0 to r10
2003-08-24 20:50:11 +00:00
olle
66595617c4
+ added support for ABI_AIX in get_caller_addr
2003-08-24 20:47:49 +00:00
olle
4eac90e5d4
* small bugfix macos
2003-08-08 22:02:05 +00:00
peter
512d320e3a
* added defines to override generic implementations
2003-07-07 20:23:46 +00:00
Jonas Maebe
a4db446a95
* fixed compilation problems (removed unnecessary modified registers
...
lists from procedures)
2003-06-14 12:41:08 +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
Jonas Maebe
18f6811154
* fixed 64 bit results of trunc and round
2003-05-31 20:22:06 +00:00
florian
d992e13e08
* fixed parameter passing for int64
2003-05-30 23:56:41 +00:00
Jonas Maebe
c70f75f1b7
* compile with -dppc603 to not use unaligned float loads in move() and
...
g_concatcopy, because the 603 and 604 take an exception for those
(and netbsd doesn't even handle those in the kernel). There are
still some of those left that could cause problems though (e.g.
in the set helpers)
2003-05-29 21:17:27 +00:00
Jonas Maebe
71bd041932
* changed dcbst to dcbtst (former means "flush cache block to memory,
...
the latter means "I will soon store something to that cache block")
2003-05-29 14:32:54 +00:00
Jonas Maebe
71626ce890
* move() now uses dcbz if possible
2003-05-29 12:14:02 +00:00
Jonas Maebe
161618df2d
* fixed strcopy and strecopy if there are #1 chars right before the end
...
of the string to copied
2003-05-28 19:18:10 +00:00
Jonas Maebe
df5e0bbfc6
* fsqrt is an optional instruction in the ppc architecture and isn't
...
implemented by any current ppc afaik, so use the generic sqrt routine
instead (adapted so it works with compilerproc)
2003-05-24 13:39:32 +00:00
Jonas Maebe
17d2b2cc15
* fixed strscan and strrscan
2003-05-24 10:16:24 +00:00
florian
2b1eb5cf69
* fixed copy&paste bug in strecopy
2003-05-17 12:55:30 +00:00
Jonas Maebe
0803ca6708
* fixed inclocked
2003-05-17 00:19:51 +00:00
Jonas Maebe
a2f2eb06fc
* fixed strcopy
2003-05-17 00:01:13 +00:00
Jonas Maebe
59dae8729c
* fixed round() (almost the same as trunc)
2003-05-16 16:04:33 +00:00
Jonas Maebe
270479ea8b
* fixed stupid bug in filldword
2003-05-14 19:47:35 +00:00
florian
04f686649b
* uncommented shortstring compare, buggy
2003-05-13 20:39:26 +00:00
Jonas Maebe
d6a589bcd7
* fixed final fillchar error (tfillchr passes now)
2003-05-12 19:39:33 +00:00
Jonas Maebe
335017abc9
* fixed bug in fillchar
2003-05-12 19:00:50 +00:00
Jonas Maebe
a23b530fc8
* fixed qword and int64 to double conversion
2003-05-11 18:09:45 +00:00
Jonas Maebe
6bd01c68d2
* fixed fpc_set_set_byte and fpc_set_unset_byte
2003-05-11 11:06:34 +00:00
Jonas Maebe
12f37edaab
* fixed get_caller_frame and get_caller_addr
2003-05-10 20:33:39 +00:00
Jonas Maebe
a74e48302d
* final (? :) fix to move, passes new tests/test/tmove test
2003-05-10 17:33:06 +00:00
Jonas Maebe
b11c927856
* fixed some bugs in move()
2003-05-02 19:03:25 +00:00
Jonas Maebe
c59fb8e28a
- removed empty ppc-specific frac()
...
+ added correct generic frac() implementation for doubles (translated
from glibc code)
2003-05-02 15:12:19 +00:00
Jonas Maebe
53152499c5
* fixed fpc_set_set_range
2003-05-02 15:10:53 +00:00
Jonas Maebe
800d0eabd1
* support nil as parameter and some other fixes
2003-04-27 16:25:08 +00:00
Jonas Maebe
603c27f04f
- disabled fpc_shortstr_concat because it's called differently than that
...
routine is declared
2003-04-27 16:24:44 +00:00
Jonas Maebe
f30ce9c922
* fixed and re-enabled routines commented out by Florian :)
2003-04-26 20:37:17 +00:00
Jonas Maebe
49497382c0
* trunc now also supports int64 (no NaN's etc though)
2003-04-26 20:36:24 +00:00
florian
6c836488dd
* fixed previous commit of setjmp
2003-04-26 20:00:24 +00:00
florian
fbea62cf74
+ implemented longjmp
2003-04-26 19:52:07 +00:00
florian
e7130af5a8
+ implemented setjmp record and longjmp
2003-04-26 18:54:30 +00:00
florian
5b6f8ca821
* commented out not working routines
...
* reactivated assembler fillchar
2003-04-26 17:46:49 +00:00
Jonas Maebe
b334226225
* fixed FillChar
2003-04-26 17:35:15 +00:00
florian
96df8384cd
* fixed trunc, now it's working at least for longint range
2003-04-26 17:20:16 +00:00
Jonas Maebe
a13841a857
* fixed fpc_set_in_byte
2003-04-26 15:29:34 +00:00
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