fpc/compiler/x86
nickysn 6fdadb6248 * 8087 fixes in tx86addnode.second_cmpfloat:
- use FSTSW instead of FNSTSW
  - insert a FWAIT after the FSTSW, because the value is immediately loaded
    afterwards by the integer unit of the CPU

git-svn-id: trunk@26110 -
2013-11-19 23:22:49 +00:00
..
aasmcpu.pas + handle 32 bit references on x86-64 so lea can be used for 32 bit arithmetics 2013-11-01 19:01:39 +00:00
agx86att.pas * workaround for bug in Apple's assembler regarding movq/vmovq and integer 2013-09-02 14:39:26 +00:00
agx86int.pas
agx86nsm.pas + when targeting the i8087, emit FWAIT prefix manually for the 8087 instructions 2013-11-19 01:26:57 +00:00
cga.pas
cgx86.pas * emit a FWAIT after a floating point store, when targeting the 8087 and 80287 2013-11-19 23:11:26 +00:00
cpubase.pas + added function requires_fwait_on_8087(), which checks whether a given 2013-11-18 23:38:57 +00:00
hlcgx86.pas
itcpugas.pas
itx86int.pas
nx86add.pas * 8087 fixes in tx86addnode.second_cmpfloat: 2013-11-19 23:22:49 +00:00
nx86cal.pas
nx86cnv.pas * basic avx support for floating point operations (use -Cfavx to activate) 2013-06-14 20:03:01 +00:00
nx86con.pas
nx86inl.pas * Don't generate x87 instructions for sin and cos on win64, somehow managed to not commit this part in r25995. Mantis #17273. 2013-11-15 10:37:59 +00:00
nx86mat.pas * basic avx support for floating point operations (use -Cfavx to activate) 2013-06-14 20:03:01 +00:00
nx86mem.pas
nx86set.pas * tx86casenode.genjumptable: explicitly emit near pointers in the case jump table on i8086, regardless of the memory model 2013-09-16 19:58:45 +00:00
rax86.pas
rax86att.pas * properly propagate PIC-related suffixes from the x86 assembler reader in 2013-05-30 12:20:48 +00:00
rax86int.pas * convert i8086 inline asm instruction 'call symbol' to 'call far symbol' in memory models with far code 2013-09-08 16:34:12 +00:00
rgx86.pas * be able to replace lea by add when spilling 2013-11-01 19:01:20 +00:00
x86ins.dat + handle 32 bit references on x86-64 so lea can be used for 32 bit arithmetics 2013-11-01 19:01:39 +00:00
x86reg.dat * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 2013-10-03 08:08:04 +00:00