Károly Balogh 0e54f616b5 merged i386 int64 mod helper fix by Max Nazhalov (Mantis 30240) 9 lat temu
..
cpu.pp 77cf67b59a o unified interface of i386 and x86-64 cpu unit: 9 lat temu
fastmove.inc 535621faaa Rename FPC_HAS_INDIRECT_MAIN_INFORMATION to FPC_HAS_INDIRECT_ENTRY_INFORMATION which is more logical considering the record's name 9 lat temu
i386.inc 9b1e6e1976 - removed i386 specific fpc_pchar_length implementation as it is much slower than the generic one which takes advantage of IndexByte 9 lat temu
int64p.inc 0e54f616b5 merged i386 int64 mod helper fix by Max Nazhalov (Mantis 30240) 9 lat temu
makefile.cpu d39bfec4d2 + added missing i386 system unit includes fastmove.inc and int64p.inc to makefile.cpu 10 lat temu
math.inc 17256e8387 * fpc_exp_real: replaced pushing immediate values on stack with Darwin-style PIC. This change increases performance on Intel E7200 almost twice. On AMD CPUs performance increase is not that large, but still noticeable. 9 lat temu
mathu.inc b16c6f8ced * i386 and x86_64 changes for Delphi compatibility: 11 lat temu
mmx.pp 88c2c77319 + is_sse3_cpu, put into cpu unit, so x86-64 and i386 can share source code 14 lat temu
readme 9f31783a0a * old logs removed and tabs fixed 23 lat temu
set.inc 4b3bf874df * Added CLDs in the RTL i386 inline asm routines, wrapped in {$ifdef 12 lat temu
setjump.inc 74f9d719f1 * i386-win32 setjmp and longjmp: if SEH support is enabled, save/restore head of exception registration chain. Without this, a longjmp out of a function with exception frame(s) will leave these exception frames below ESP, which will fail integrity checks in OS and cause process termination if an exception occurs later on (or they may be overwritten by subsequent operations on stack and, again, cause undesired results). 11 lat temu
setjumph.inc 74f9d719f1 * i386-win32 setjmp and longjmp: if SEH support is enabled, save/restore head of exception registration chain. Without this, a longjmp out of a function with exception frame(s) will leave these exception frames below ESP, which will fail integrity checks in OS and cause process termination if an exception occurs later on (or they may be overwritten by subsequent operations on stack and, again, cause undesired results). 11 lat temu
strings.inc e4b05477e1 * put the cld instructions behind {$ifdef FPC_ENABLED_CLD} in i386/strings*.inc 12 lat temu
stringss.inc e4b05477e1 * put the cld instructions behind {$ifdef FPC_ENABLED_CLD} in i386/strings*.inc 12 lat temu

readme

This directory contains only RTL parts specific to the processor I386 family.

(They are specific because they contain assembler instructions)

Include files for system are :
heap.inc (heap handling)
set.inc (sets operations)
math.inc (mathematic operations using the coprocessor)
i386.inc (several functions/procedures containing assembler parts)
setjump.inc (setjmp/longjmp implementation for exceptions)
rttip.inc (rtti handling, for speed reasons)

Units are :
strings.pp (written in assembler for speed)
cpu.pp (routines to access cpu info)
mmx.pp (special mmx routines)