fpc/compiler/x86
sergei 5c4abfa75a + Implemented saving/restoring registers using PUSH/POP instructions on i386 targets with non-fixed stack. Provides some advantage in code size (e.g. the compiler becomes about 20KBytes smaller).
* This should be applicable to i8086 targets as well (but needs testing), by copying changes from i386/cgcpu.pas to i8086/cgcpu.pas and removing "$ifdef i386" lines in cgx86.pas.

git-svn-id: trunk@25224 -
2013-08-07 09:59:07 +00:00
..
aasmcpu.pas + added a few BMI instructions to see if they can be encoded 2013-06-16 09:35:21 +00:00
agx86att.pas
agx86int.pas
agx86nsm.pas * write the segment of aitconst_farptr on a separate line to avoid long symbol truncation, due to line length limit; this fixes compilation of sysutils in the medium memory model 2013-06-12 01:32:18 +00:00
cga.pas
cgx86.pas + Implemented saving/restoring registers using PUSH/POP instructions on i386 targets with non-fixed stack. Provides some advantage in code size (e.g. the compiler becomes about 20KBytes smaller). 2013-08-07 09:59:07 +00:00
cpubase.pas + added function cpubase.segment_regs_equal, which checks whether 2 segment regs are equal in the current memory model 2013-06-23 11:27:00 +00:00
hlcgx86.pas
itcpugas.pas
itx86int.pas
nx86add.pas * use add/sub instead of inc/dec on modern CPUs when optimizing for speed 2013-07-07 19:50:13 +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 * handle LOC_*FPUREGISTER correctly when using sse2 sqr, resolve #26408 2013-06-16 18:48:08 +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 + initial (and not yet fully complete) implementation of far pointers on the i8086 2013-05-22 16:26:33 +00:00
nx86set.pas * renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef 2013-06-01 18:28:15 +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 * Changed global variable into field. 2013-08-05 16:32:37 +00:00
rgx86.pas * basic avx support for floating point operations (use -Cfavx to activate) 2013-06-14 20:03:01 +00:00
x86ins.dat + added a few BMI instructions to see if they can be encoded 2013-06-16 09:35:21 +00:00
x86reg.dat * register id of (e)flags changed, so it doesn't overlap with dr0 2013-05-30 16:40:59 +00:00