mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-24 04:59:13 +02:00
![]() The new version is more optimized to the "common case" We assume most of the data will be aligned, thats why the unaligned case has been moved to the end of the function so the aligned case is more cache- and pipeline friendly. I've also reduced the loop unrolling for the block transfer loop, because for large blocks we'll most likely hit the write buffer limit anyway. I've did some measurements. The new routine is a bit slower for less than 8 bytes, but beats the old one by 10-15% with 8 bytes++ git-svn-id: trunk@21760 - |
||
---|---|---|
.. | ||
aix | ||
amiga | ||
android/jvm | ||
arm | ||
atari | ||
avr | ||
beos | ||
bsd | ||
darwin | ||
embedded | ||
emx | ||
freebsd | ||
gba | ||
go32v2 | ||
haiku | ||
i386 | ||
inc | ||
java | ||
jvm | ||
linux | ||
m68k | ||
macos | ||
mips | ||
mipsel | ||
morphos | ||
nativent | ||
nds | ||
netbsd | ||
netware | ||
netwlibc | ||
objpas | ||
openbsd | ||
os2 | ||
palmos | ||
powerpc | ||
powerpc64 | ||
qnx | ||
solaris | ||
sparc | ||
symbian | ||
ucmaps | ||
unix | ||
watcom | ||
wii | ||
win | ||
win32 | ||
win64 | ||
wince | ||
x86_64 | ||
COPYING.FPC | ||
COPYING.txt | ||
fpmake.inc | ||
fpmake.pp | ||
Makefile | ||
Makefile.fpc | ||
README.txt |
This is the Run-Time Library (RTL) tree for Free Pascal. To recompile the RTL, edit the main makefile. The makefiles NEED a GNU make compatible make, they need unix-like 'rm' and 'mv' commands, as well as some others. You can find these in the gnuutils package on the ftp site. The main makefile is located ABOVE the RTL tree. It uses the FPC makefile.fpc to guess reasonable defaults for everything it needs. (these files can be found in base.zip on the FTP site) The only variable that you may want to set are FPC - What compiler to use. Use an absolute path. (default is ppc386) INSTALL_UNITDIR - Where to install the RTL units OPT - any special options you want to set for the compiler. In principle, you can also descend into the subdirectory of your OS, and type 'make' there, that should also compile everything. The tree contains subdirectories for all the supported operating systems, as well as all processor architectures. The processor directories contain low-level routines which are required for the system unit (if they are not available in high-level language form), as well as optimized versions of the pascal generic routines (the generic routine source code is localed in the inc subdirectory). The following directories are not supported officially and may not work correctly with FreePascal v1.0: go32v1 - The DJGPP go32v1 DOS extender (no longer supported) palmos - The PalmOS directory for the Dragonball (incomplete) Enjoy.