fpc/compiler/x86
Jonas Maebe 1df3039424 + LLVM temp allocator based on new R_TEMPREGISTER register class. For every
temp we allocate, we set the base register to a newly allocated
    R_TEMPREGISTER. This allows for uniquely identifying a temp even if its
    offset is modified.

git-svn-id: branches/hlcgllvm@26033 -
2013-11-11 11:14:59 +00:00
..
aasmcpu.pas + LLVM temp allocator based on new R_TEMPREGISTER register class. For every 2013-11-11 11:14:59 +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 * use FixNonCommutativeOpcodes in agx86int.pas as well (fixes compilation for i386) 2013-04-06 23:23:25 +00:00
agx86nsm.pas * put the i8086-msdos dwarf debug sections in USE32 class=DWARF segments because 2013-10-27 20:28:43 +00:00
cga.pas
cgx86.pas * fixed tcgx86.a_op_const_ref for shl/shr/sar/rol/ror on i8086 and x86_64 2013-11-10 20:39:47 +00:00
cpubase.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
hlcgx86.pas
itcpugas.pas * command line compilation of i8086 fixed 2013-04-21 18:32:09 +00:00
itx86int.pas * merge i8086 branch by Nikolay Nikolov 2013-04-25 20:23:51 +00:00
nx86add.pas * make use of lea if possible 2013-11-01 19:01:11 +00:00
nx86cal.pas * moved ARM/x86 ifdef'ed code from ncgcal to virtual methods 2013-04-07 13:42:06 +00:00
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 * Mantis #17273: don't generate x87 instructions on win64 target. 2013-11-08 13:31:07 +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 * 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 * Sync with trunk r23500. 2013-01-23 07:53:13 +00:00
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