fpc/rtl/i386
2014-01-18 19:28:00 +00:00
..
cpu.pp + AVXSupport function to detect if the CPU and OS support AVX 2012-10-14 14:04:27 +00:00
fastmove.inc * Added CLDs in the RTL i386 inline asm routines, wrapped in {$ifdef 2013-09-29 10:53:49 +00:00
i386.inc * Added CLDs in the RTL i386 inline asm routines, wrapped in {$ifdef 2013-09-29 10:53:49 +00:00
int64p.inc * i386: Somewhat optimized fpc_mul_qword routine, got rid from variable 'r', registers esi and edi. Also ignore overflow checking when both operands have their high dwords equal to zero, because in such case multiplication cannot overflow. 2014-01-18 19:28:00 +00:00
makefile.cpu
math.inc
mathu.inc * x87 optimized version of math.log2() for i8086, i386 and x86_64 2013-12-22 23:21:41 +00:00
mathuh.inc
mmx.pp + is_sse3_cpu, put into cpu unit, so x86-64 and i386 can share source code 2011-08-20 12:01:48 +00:00
readme
set.inc * Added CLDs in the RTL i386 inline asm routines, wrapped in {$ifdef 2013-09-29 10:53:49 +00:00
setjump.inc * 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). 2013-12-16 10:12:36 +00:00
setjumph.inc * 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). 2013-12-16 10:12:36 +00:00
strings.inc * put the cld instructions behind {$ifdef FPC_ENABLED_CLD} in i386/strings*.inc 2013-09-28 12:06:47 +00:00
stringss.inc * put the cld instructions behind {$ifdef FPC_ENABLED_CLD} in i386/strings*.inc 2013-09-28 12:06:47 +00:00
strpas.inc

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)