Jonas Maebe
f00beea41c
* fixed i386/linux rtl compilation and functionality when compiled
...
without regcall
git-svn-id: trunk@11024 -
2008-05-21 15:20:13 +00:00
yury
5dc6e54925
* Removed inline for procedures with assembler or formal parameters, since inline is not supported for them (compiler warns about that now). Even if there is no inline modifier in interface declaration of procedure, it is possible to specify inline in procedure implementation if needed (e.g. for generic implementations) and inlining will work for them.
...
git-svn-id: trunk@10629 -
2008-04-12 11:37:49 +00:00
daniel
0d78460e2e
* Disable int_str again.
...
git-svn-id: trunk@9816 -
2008-01-20 14:47: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
daniel
624bb8e7e1
* Add win32 workaround suggested by Peter.
...
git-svn-id: trunk@9795 -
2008-01-19 19:32:03 +00:00
peter
f70219cdd8
* add align directives to int_str
...
git-svn-id: trunk@9793 -
2008-01-19 16:32:39 +00:00
daniel
d12e107800
* Use fpc_geteipasebx.
...
git-svn-id: trunk@9792 -
2008-01-19 15:24:36 +00:00
daniel
220565fb94
* Remove unused lea from skip loop.
...
git-svn-id: trunk@9789 -
2008-01-19 08:33:48 +00:00
Jonas Maebe
8c45c66e13
* removed accidentally committed global disable of assembler int_str
...
* fixed compilation of int_str on darwin/pic
* disabled int_str for darwin because it crashes
git-svn-id: trunk@9785 -
2008-01-18 23:09:37 +00:00
Jonas Maebe
95c991872b
+ added exeinfo to implicit units so make install works again
...
git-svn-id: trunk@9784 -
2008-01-18 23:03:38 +00:00
daniel
b8fdbb1055
* Some final tweaks to asm int_str.
...
git-svn-id: trunk@9782 -
2008-01-18 22:21:49 +00:00
daniel
f94d457429
* Add Darwin PIC support to assembler int_str again.
...
* Make it respect the open string boundary
* Activate it again
git-svn-id: trunk@9781 -
2008-01-18 22:12:16 +00:00
daniel
2ce992b4ae
- Disable asm str_int again now that testsuites have run.
...
git-svn-id: trunk@9665 -
2008-01-07 07:45:58 +00:00
daniel
47c2cc095b
* Make str_int pic proof.
...
git-svn-id: trunk@9661 -
2008-01-06 22:41:05 +00:00
daniel
6e2af37c48
Convert str_int to ATT assembler and activate it.
...
git-svn-id: trunk@9659 -
2008-01-06 21:29:31 +00:00
daniel
0cfdde094d
- Disable assembler implementations of str_int because of mysterious
...
cycle failure on Win32.
git-svn-id: trunk@9593 -
2007-12-30 21:27:05 +00:00
daniel
d8bffd27fc
- Intergrate i386/strlen.inc and remove it.
...
+ int_str assembler implementations for i386
+ fpc_shortstr_to_shortstr assembler implementation for ARM
+ fpc_shortstr_assign assembler implementation for ARM
+ fpc_Pchar_length assembler implementation for ARM
git-svn-id: trunk@9582 -
2007-12-30 11:19:10 +00:00
florian
d08abbca46
* forgotten commit
...
git-svn-id: trunk@9334 -
2007-11-25 20:49:57 +00:00
yury
4662eb98fc
* Fixed warnings.
...
git-svn-id: trunk@9102 -
2007-11-03 12:22:54 +00:00
florian
7da7364ee7
* refactored SysResetFPU into SysInitFPU and SysResetFPU
...
git-svn-id: trunk@8966 -
2007-10-28 12:06:49 +00:00
florian
5a3f71754a
- removed odd assembler implementation, using the inline variant usually creates better code
...
git-svn-id: trunk@8901 -
2007-10-21 19:53:11 +00:00
florian
7878f0feb3
* made all fpc_*_to_shortstr helpers a procedure, resolves #8580
...
git-svn-id: trunk@8898 -
2007-10-21 17:33:18 +00:00
Jonas Maebe
cc843f5f62
* fixed comparedword in case len=0
...
git-svn-id: trunk@8815 -
2007-10-15 13:44:57 +00:00
peter
e8322a83e4
* optimized generic implementations to use pointers instead of
...
array accesses. This also allows better register variable
optimizations
git-svn-id: trunk@8742 -
2007-10-07 18:36:18 +00:00
Jonas Maebe
f51bac256d
* made pic-safe (by simply not accessing global variables from
...
assembler code anymore, as I don't see how to easily support
PIC access to global variables for Darwin/i386)
git-svn-id: trunk@8663 -
2007-09-27 15:08:09 +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
florian
6f6e60b723
* improved SSE check by Martin Schreiber
...
git-svn-id: trunk@8040 -
2007-07-13 21:16:48 +00:00
florian
80d55022e9
* tried to fix SSE OS support detection
...
git-svn-id: trunk@7553 -
2007-06-02 19:26:06 +00:00
ivost
2c22173534
* Added InterlockedCompareExchange64 for i386 (supported over cmpxchg8b instruction)
...
git-svn-id: trunk@6753 -
2007-03-09 09:29:17 +00:00
marco
57cfd89fbd
* Linux 64-bit FS patch from neli for FPC_USE_LIBC
...
git-svn-id: trunk@6517 -
2007-02-16 22:16:54 +00:00
peter
cd767cf5c8
* i386 uses generic fpc_compare_shortstr_equal
...
git-svn-id: trunk@6335 -
2007-02-04 16:24:02 +00:00
Jonas Maebe
5ea26c5f5f
* fixed darwin compilation
...
git-svn-id: trunk@6310 -
2007-02-02 22:48:02 +00:00
florian
bcf65051e3
* detect sse properly on linux, fixes tmask*.pp in the testsuite with -Cfsse2
...
git-svn-id: trunk@6277 -
2007-01-31 21:51:47 +00:00
daniel
e8050233af
+ Patch by Thorsten Engler to optimize string comparisons for = and <> cases. (Mantis #8231 )
...
git-svn-id: trunk@6241 -
2007-01-28 10:58:52 +00:00
florian
b3a1868ff0
* correct masking of exceptions in genmath code
...
git-svn-id: trunk@5965 -
2007-01-14 10:44:10 +00:00
Jonas Maebe
3381fd2ea1
* ismultithread is a longbool nowadays (cmpb -> cmpl)
...
git-svn-id: trunk@5893 -
2007-01-11 17:32:15 +00:00
florian
4ee9f1b394
* use DefaultCW to reload fpu settings
...
git-svn-id: trunk@5169 -
2006-11-02 08:58:01 +00:00
Jonas Maebe
5acc8b44a8
* activated internal get_frame for x86
...
* turn off stackframe optimizations on x86 if get_frame is called
in the current routine, or if the address of a nested function
is taken in the current routine
+ test for the above
* this fixes the IDE when compiled with stackframe optimizations
on x86
git-svn-id: trunk@5146 -
2006-11-01 12:48:53 +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
florian
0ade2e487d
* cleaned up and fixed (from mftq75) sse unit initialization, fixes #7268
...
git-svn-id: trunk@4501 -
2006-08-24 20:00:06 +00:00
florian
b24388da8d
* fix comparedword, fixes #7143
...
git-svn-id: trunk@4153 -
2006-07-12 20:50:48 +00:00
florian
81b98c9d82
+ added more ebx saving to cpuid invocations
...
git-svn-id: trunk@4147 -
2006-07-12 07:23:03 +00:00
Jonas Maebe
b9125f97d0
* fixed InterlockedCompareExchange
...
git-svn-id: trunk@3947 -
2006-06-25 18:52:12 +00:00
peter
4c065bce45
* move InterLocked functions to system unit
...
git-svn-id: trunk@3933 -
2006-06-25 09:26:23 +00:00
daniel
6f1e0eff45
* Add ifdef internal_backtrace
...
git-svn-id: trunk@3518 -
2006-05-14 08:49:34 +00:00
florian
47fac4ee6e
* moved *SSECSR to system unit
...
* exposed cpu feature detection on i386 from system unit
+ SafeLoadLibrary
git-svn-id: trunk@3481 -
2006-05-11 19:13:54 +00:00
peter
2d3c01d83a
* basic work to make Move() and FillChar() internal under ifdef INTERNALMOVEFILLCHAR
...
git-svn-id: trunk@3021 -
2006-03-24 17:32:39 +00:00
Jonas Maebe
83b1c3736a
* fixed assembler version of fpc_AnsiStr_Decr_Ref (based on remark
...
from Martin Schreiber)
git-svn-id: trunk@2856 -
2006-03-11 14:16:11 +00:00
Jonas Maebe
15270b67be
- disabled assembler ansistring helpers for darwin/x86 because they don't
...
keep 16 byte stack alignment
git-svn-id: trunk@2852 -
2006-03-11 13:18:28 +00:00
peter
f411f615c6
* nostackframe directives
...
git-svn-id: trunk@2648 -
2006-02-20 10:37:42 +00:00