Sven/Sarah Barth
e94d02a067
* with all existing RTLs switched over to the atomic intrinsics, the define FPC_SYSTEM_INTERLOCKED_USE_INTRIN can be removed again
2024-12-12 22:05:20 +01:00
Sven/Sarah Barth
5346faa02c
* switch PowerPC 64 RTL to provide atomic intrinsic helpers instead of Interlocked* functions
2024-12-12 22:05:18 +01:00
florian
a0cae50af6
* rtl part of #35433
2024-05-01 23:15:12 +02:00
Michael VAN CANNEYT
8c39b9376b
* Char -> AnsiChar
2023-07-14 17:26:10 +02:00
Jonas Maebe
0758aa1143
FPU exception mask: generlised system unit interface
2022-10-17 19:43:01 +00:00
pierre
008c1436d8
Fix bug report 35937 by simple assembly code change and add test
...
git-svn-id: trunk@42603 -
2019-08-08 14:10:21 +00:00
sergei
e5f6f9c3a1
- powerpc and powerpc64: cleaned out code corresponding to FPC_STRTOSHORTSTRINGPROC not defined (obsolete and removed from other targets long ago). Also merged strpas.inc files into powerpc*.inc, because by now they are included only once and therefore don't need to be separate files.
...
git-svn-id: trunk@27832 -
2014-05-31 00:45:21 +00:00
pierre
8469741700
+ Added additional addr pointer parameter to
...
get_caller_frame, get_caller_addr and dump_stack
with default NIL value to systemh.inc.
+ Added new get_addr function.
system.inc: Use get_addr and get_frame to call
HandleErrorAddrFrame instead of HandleErrorFrame
in several error functions.
Modify dump_stack to use frame and addr parameters.
Provide a dummy get_addr function returning nil.
i386/i386.inc, x86_64./x86_64.inc: Provide real
implementation of get_addr function.
git-svn-id: trunk@21697 -
2012-06-24 21:22:09 +00:00
Jonas Maebe
5cbe12c622
* don't overwrite the target value of interlockedcompareexchange*() if the
...
value is different from the comparand (patch by "FVI", mantis #18082 )
* sign extend the loaded value of interlockedcompareexchange() on PowerPC64,
because the function arguments are longints
git-svn-id: trunk@16475 -
2010-11-29 12:53:10 +00:00
Jonas Maebe
c14574bb56
* don't change the fpu control word in the initialisation code of dynamic
...
libraries (mantis #16263 , #16801 )
git-svn-id: trunk@16347 -
2010-11-14 16:00:25 +00:00
Jonas Maebe
a527b6b2b4
* optimized ppc memory barrier implementations
...
git-svn-id: trunk@14803 -
2010-01-25 14:49:33 +00:00
Jonas Maebe
a24db8854c
* fixed return value of InterlockedCompareExchange(64) for ppc/ppc64,
...
bug exposed by tw13281
git-svn-id: trunk@13133 -
2009-05-11 07:26:48 +00:00
peter
2a479654f1
* remove asm for simple math functions so the generic inlined function is
...
taken. This generates smaller optimized code
git-svn-id: trunk@9796 -
2008-01-19 20:23:27 +00:00
Jonas Maebe
e64b973cf9
* fixed ppc and ppc64 compilation after r8898
...
git-svn-id: trunk@8906 -
2007-10-21 22:15:19 +00:00
Jonas Maebe
a23d65fa93
* fixed comparedword (same as for ppc32)
...
git-svn-id: trunk@8813 -
2007-10-15 11:22:03 +00:00
Jonas Maebe
98ad33a0c7
+ added lwsync instruction to the compiler
...
* fixed compilation of ReadDependencyBarrier
git-svn-id: trunk@8243 -
2007-08-08 09:15:48 +00:00
Jonas Maebe
ad43c6a989
* fixed properties
...
git-svn-id: trunk@8242 -
2007-08-08 09:10:40 +00:00
micha
d95b9082bb
* add memory barrier prototypes + implementation for i386 and sparc + use lwsync for powerpc64
...
git-svn-id: trunk@8240 -
2007-08-07 20:37:08 +00:00
micha
7475f656f8
+ add memory barrier routines for powerpc/64
...
git-svn-id: trunk@8179 -
2007-07-28 12:47:48 +00:00
peter
2f0ce31751
* string concat changed from function to procedure to
...
allow runtime optimization if the destination is the
same as a source parameter
* tassignmentnode now sets aktassignmentnode global that can be used
to use the left node as a destination parameter and
skip the assignment
* disabled all cpu specific shortstr concat/append
git-svn-id: trunk@4770 -
2006-10-02 20:00:06 +00:00
tom_at_work
56ba740dd1
* added interlocked*64 methods for successful compilation
...
* made existing interlocked methods nostackframe
git-svn-id: trunk@4120 -
2006-07-07 20:59:55 +00:00
peter
4c065bce45
* move InterLocked functions to system unit
...
git-svn-id: trunk@3933 -
2006-06-25 09:26:23 +00:00
tom_at_work
651f34e27c
* ppc64: with -Or the compiler now also generates calls to helper functions in the function prolog/epilog instead of multiple stores/loads
...
* ppc64: moved function prolog/epilog helper code into startup code
* ppc64: added FPU configuration code in math unit (fixes tw3161)
git-svn-id: trunk@1786 -
2005-11-20 01:20:55 +00:00
tom_at_work
88cd832f48
* ppc64/linux: fixed and enabled most assembly helpers
...
git-svn-id: trunk@1775 -
2005-11-16 20:53:58 +00:00
tom_at_work
3bf1152a9c
* ppc64/linux: fixed and enabled some more assembly routines in the RTL
...
* ppc64/linux: cleaned up several files (mainly proper comments)
git-svn-id: trunk@1757 -
2005-11-15 17:30:15 +00:00
tom_at_work
3f4682400c
* fixed basic signal handling for PowerPC64/linux, by updating related types and major code cleanup
...
git-svn-id: trunk@1364 -
2005-10-12 22:46:13 +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