sergei
|
b16c6f8ced
* i386 and x86_64 changes for Delphi compatibility:
|
11 yıl önce |
sergei
|
d1348d3f9b
- i386 and x86_64: Once softfloat stuff has been cleaned up, SysResetFPU and SysInitFPU end up doing exactly the same. Removed one of them.
|
11 yıl önce |
sergei
|
4952754184
- i386 and x86_64 no longer use any softfloat stuff.
|
11 yıl önce |
sergei
|
690995fa12
* RTL: fixed some warnings when compiling for x86_64:
|
12 yıl önce |
pierre
|
c26ef20f30
Use OLDBINUTILS conditional to disable assembler code unsupported by older GNU assmebler for x86_64.inc as in cpu.pp to allow use for openbsd for instance
|
12 yıl önce |
Jonas Maebe
|
da32d99b7e
* declare Sptr() and get_frame() as "nostackframe"
|
13 yıl önce |
sergei
|
1112041ff1
* get_pc_addr on x86_64 needs nostackframe attribute to return the correct value.
|
13 yıl önce |
pierre
|
f340ef87e3
* get_addr function renamed to get_pc_addr
|
13 yıl önce |
pierre
|
8469741700
+ Added additional addr pointer parameter to
|
13 yıl önce |
florian
|
ceb1becfa1
* align cmp byte loop
|
13 yıl önce |
florian
|
59040465d8
+ simple assembler implementation of CompareByte
|
13 yıl önce |
sergei
|
9b2614684e
* Return values of get_caller_addr and get_caller_frame was undefined for nil argument.
|
14 yıl önce |
sergei
|
c73b6cfbd4
- removed register lists after pure assembler procedures
|
14 yıl önce |
sergei
|
576250bc5b
* Reverted r17343, and IFDEF'ed out the newer assembler procedures for FreeBSD for now. They require fixes to assembler writer, and after it's done they still have to be disabled during bootstrapping.
|
14 yıl önce |
sergei
|
0666ab09ae
* Changed 'movnti' to 'movntiq', the former is rejected by FreeBSD GAS.
|
14 yıl önce |
sergei
|
dd950d3ceb
* Fixed bug #19188 again, this time with *correct* value of the AND mask.
|
14 yıl önce |
sergei
|
e1616fd8ef
* Replaced 'movzbl %r8b, %r8' because it is rejected by GAS (suffix does not match the operand size). The correct instruction is 'movzbq %r8b, %r8' but that one is rejected by FPC reader instead. Provides a fix for broken builds of targets using external assembler (Mantis #19188).
|
14 yıl önce |
sergei
|
30f7bff09d
* Did a clean rewrite of IndexByte and IndexWord, resulting in somewhat less instructions.
|
14 yıl önce |
sergei
|
c5e7902e4b
+ x86_64 optimized assembler functions IndexByte and IndexWord
|
14 yıl önce |
Jonas Maebe
|
da16630c50
* fixed compilation on FPC_USE_LIBC platforms after r17249 (they already
|
14 yıl önce |
sergei
|
6e09d76b07
+ x86_64 assembler implementations of Move and FillChar. Does not use SIMD, so probably not the fastest for large move sizes, but for small to medium sizes it should be competitive.
|
14 yıl önce |
Jonas Maebe
|
c14574bb56
* don't change the fpu control word in the initialisation code of dynamic
|
15 yıl önce |
pierre
|
05c1097395
* simplify SysInitFPU assmebler using local variables
|
16 yıl önce |
florian
|
3ce72907c2
+ implementation of WriteBarrier
|
16 yıl önce |
florian
|
f17943371c
* assembler implementation of SwapEndian on x86-64, resolves #14203
|
16 yıl önce |
yury
|
bba2b87064
* Use RIP relative symbol addressing in assembler blocks. Finally bug #13657 is fixed.
|
16 yıl önce |
florian
|
50b63884cb
+ applied a fix similar to 11820 to x86-64
|
17 yıl önce |
florian
|
7da7364ee7
* refactored SysResetFPU into SysInitFPU and SysResetFPU
|
18 yıl önce |
peter
|
2e47433989
* fix typo
|
18 yıl önce |
micha
|
d95b9082bb
* add memory barrier prototypes + implementation for i386 and sparc + use lwsync for powerpc64
|
18 yıl önce |