florian 42d9175fd1 Merge branch 'main' into basemath hai 1 ano
..
basemath.inc cb21db665e + basemath support for i386 hai 1 ano
cpu.pp a575a5c0fd Move Int128Rec to System; remove i386 and x86_64 CPU unit dependency on SysUtils. hai 1 ano
cpuh.inc 5be05044dd * detect avx support also in the i386 system unit hai 1 ano
cpuinnr.inc 70a836c4a2 * first part of merging parts of Jeppe's intrinsics patch, mainly r31135 %!s(int64=5) %!d(string=hai) anos
cpumminnr.inc c20b27ede9 Add most SSE instructions as intrinsics. %!s(int64=5) %!d(string=hai) anos
cpummprocs.inc ac5407268c * regenerated %!s(int64=5) %!d(string=hai) anos
fastmove.inc 73bf0c82bb Disable _Plain versions when compiling RTL for newer CPUs. hai 1 ano
i386.inc 73bf0c82bb Disable _Plain versions when compiling RTL for newer CPUs. hai 1 ano
int64p.inc bdef7af09e * corrected rte number after last merge hai 1 ano
makefile.cpu ff86c80176 * cpu specific header file for the system unit: cpuh.inc, moved several declarations into it %!s(int64=8) %!d(string=hai) anos
math.inc e42209457e Shorter i386 Exp(). hai 1 ano
mathu.inc cb21db665e + basemath support for i386 hai 1 ano
mmx.pp 22e9033076 + MMXSupport added to cpu unit hai 1 ano
ports.inc 3673f03841 * set the stdcall calling convention explicitly for each method, that requires %!s(int64=7) %!d(string=hai) anos
portsh.inc 8e6205aca6 * changed the visibility of the writeport and readport methods in the ports unit %!s(int64=7) %!d(string=hai) anos
readme 9f31783a0a * old logs removed and tabs fixed %!s(int64=23) %!d(string=hai) anos
set.inc 8fb803bba6 Revert " * patch by Rika: In i386/set.inc, use “pop mem” instead of “pop reg; mov mem ← reg”, resolves #40443" %!s(int64=2) %!d(string=hai) anos
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). %!s(int64=11) %!d(string=hai) anos
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). %!s(int64=11) %!d(string=hai) anos
strings.inc 46ca9f437a * Char -> AnsiChar %!s(int64=2) %!d(string=hai) anos
stringss.inc 29c36aa407 * string -> shortstring %!s(int64=2) %!d(string=hai) anos

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)