Commit Graph

239 Commits

Author SHA1 Message Date
Jonas Maebe
76857dbca9 * set result of SetPrecisionMode()
git-svn-id: trunk@2055 -
2005-12-26 15:52:57 +00:00
Jonas Maebe
5b9f58ef73 * reverted r2037 because of braindead "out" semantics for refcounted
types

git-svn-id: trunk@2045 -
2005-12-24 01:06:05 +00:00
Jonas Maebe
84aab46550 * changed formal "var" paramters of move, movechar0 and fill* into
"out" parameters to avoid wrong "uninitialized" warnings

git-svn-id: trunk@2037 -
2005-12-23 20:59:08 +00:00
tom_at_work
174297c4cf * ppc32: added FPU configuration code in math unit (fixes tw3161)
git-svn-id: trunk@1787 -
2005-11-20 01:21:55 +00:00
tom_at_work
9e7d550455 * fixed last commit (1337) which broke some files in the repository
git-svn-id: trunk@1338 -
2005-10-08 17:23:44 +00:00
tom_at_work
f7f0f9c426 * makefile adaption to be able to cycle compiler and RTL on PowerPC64 target
* some fixes for PowerPC64 target in the code generator and the RTL
* stabs generation for PowerPC64 is okay now (untested)

git-svn-id: trunk@1337 -
2005-10-08 15:48:39 +00:00
Károly Balogh
ccc29a13f3 * added SysResetFPU, which is required for MorphOS
git-svn-id: trunk@1279 -
2005-10-03 22:49:44 +00:00
Jonas Maebe
4292e7f939 - removed obsolete FPC_MTFSB0_CORRECTED macro
git-svn-id: trunk@487 -
2005-06-24 18:34:58 +00:00
michael
3a2eaa94b1 + Removed INTERNCONSTINTF define
git-svn-id: trunk@267 -
2005-06-07 22:04:18 +00:00
michael
93ba0409be + Removed HASCOMPILERPROC define
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
michael
db5d9d75aa + Removed INTERNCOPY define
git-svn-id: trunk@259 -
2005-06-07 21:11:49 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
olle
381f243243 * Fixed bug in stack crawling routines for macos 2005-04-28 18:29:01 +00:00
olle
eb96e72bdc * Fixed loding of magic constant for macos 2005-04-28 18:22:34 +00:00
Jonas Maebe
8306e44f45 * mini scheduling optimization 2005-03-11 12:41:41 +00:00
Jonas Maebe
4b6030beb9 * fixed overflow detection, + some small optimizations 2005-02-19 14:16:02 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
olle
beecc57e21 * Fixed stack frame access for macos 2005-01-31 20:57:41 +00:00
Jonas Maebe
b6a6e78db1 * fixed remaining compilation problems 2004-11-21 16:14:59 +00:00
peter
4d8460ec2f * float routines all use internproc and compilerproc helpers 2004-11-21 15:35:23 +00:00
Jonas Maebe
cfeaa8aa65 * some compilation fixes for powerpc after all the internconst and
internproc changes, still crashes with internalerror(88) for ppc1
    on real2str.inc(193,39)
2004-11-20 15:49:21 +00:00
Jonas Maebe
42b6daebee * use "round to nearest" rounding mode again, just like C (affects
results of divisions as well)
2004-11-08 08:54:51 +00:00
Jonas Maebe
edbec6f2b4 * use generic round, the ppc-specific one is buggy 2004-11-07 19:09:02 +00:00
Jonas Maebe
94caa0761e * fixed redzone usage in fillchar 2004-10-24 14:43:26 +00:00
Jonas Maebe
296013d111 * fixed default rounding mode 2004-10-24 14:20:21 +00:00
Jonas Maebe
fb693982b1 + "nostackframe" modifier, because the automatic detection in the
compiler to determine that a stack frame is not needed no longer works
2004-10-19 18:51:15 +00:00
Jonas Maebe
0f26252376 + cgenmath with libc math functions. Faster than the routines in genmath
and also have full double support (exp() only has support for values in
    the single range in genmath, for example). Used in FPC_USE_LIBC is
    defined
  * several fixes to allow compilation with -dHASINLINE, but internalerrors
    because of missing support for inlining assembler code
2004-10-09 21:00:46 +00:00
olle
0c65f27b35 * bugfix 2004-08-17 13:34:15 +00:00
Jonas Maebe
38a5902dfd * fixed stricomp() and strlicomp() 2004-08-09 16:43:33 +00:00
Jonas Maebe
9696691c8c * fixed overflow checking for qword multiplication 2004-05-29 21:35:54 +00:00
Jonas Maebe
f1fcf6dc6e * use some more string routines from libc if FPC_USE_LIBC is used 2004-05-01 17:02:37 +00:00
peter
269d24955a * inclocked_longint ifdef fixed 2004-04-29 20:00:47 +00:00
marco
e546db7a23 * interlocked* changed to longints, including winapi. (which was a bug) 2004-03-05 12:17:50 +00:00
olle
4372f8ef91 * fixed global variable access in asm 2004-02-09 20:21:06 +00:00
Jonas Maebe
ec84cc8788 + assembler FPC_MUL_QWORD routine 2004-01-12 21:35:51 +00:00
Jonas Maebe
1ac45ffc2c * use volatile instead of non-volatile registers 2004-01-12 18:37:10 +00:00
Jonas Maebe
0acd012715 + ppc implemetnation of fpc_mod/div_qword (from ppc compiler writers guide) 2004-01-12 18:03:30 +00:00
Jonas Maebe
5439babeb5 + cgeneric.inc: implementations of rtl routines based on libc
* system.inc: include cgeneric.inc before powerpc.inc/i386.inc/... if
    FPC_USE_LIBC is defined
  * powerpc.inc, i386.inc: check whether the routines they implement aren't
    implemented yet in another include file (cgeneric.inc)
2004-01-11 11:10:07 +00:00
Jonas Maebe
4c7c8b9c3a * fixed mtfsb0 instruction for assembler reader/writer
* fixed initialisation of fpscr register to avoid spurious SIGPFE's
    (uses mtfsb0 instruction, so added extra define in options.pas to avoid
    requiring to start with a cross compiler)
2004-01-10 00:16:20 +00:00
Jonas Maebe
f1f2523085 * renamed "r0" usages as base register to 0 2004-01-04 20:09:36 +00:00
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