fpc/compiler/x86_64
2014-03-20 21:25:38 +00:00
..
aoptcpu.pas + peephole optimizations AndMovzToAnd, MovMov2Mov1 and MovMov2MovMov1 for x86-64 2014-03-18 21:54:42 +00:00
aoptcpub.pas
aoptcpud.pas
cgcpu.pas + cs_userbp optimizer switch, so on x86-64 the compiler can make use of rbp if it is not needed as frame pointer 2014-01-30 19:44:17 +00:00
cpubase.inc * optimize mov/lea 2013-11-01 19:01:14 +00:00
cpuelf.pas x86_64 internal ELF linker: 2013-07-29 08:34:00 +00:00
cpuinfo.pas + CPU type corei 2014-02-16 08:27:27 +00:00
cpunode.pas * adapt max_linear_list on x86-64 as well 2013-07-07 20:01:10 +00:00
cpupara.pas - i386, x86_64, SPARC: removed paramanager.getintparaloc overrides, it is handled by generic implementation since r24716. 2014-02-24 16:01:14 +00:00
cpupi.pas * x86_64-win64: don't allocate outgoing parameter area in nostackframe procedures, it fails compilation if range/overflow/etc checking is enabled (which always sets pi_do_call) due to check introduced in r22677. 2013-07-26 10:24:31 +00:00
cputarg.pas Enable nasm assembler for x86_64 cpu 2014-01-21 00:26:49 +00:00
hlcgcpu.pas
nx64add.pas * use IMUL even for unsigned multiplication on x86_64, when overflow checking is 2014-01-18 03:36:15 +00:00
nx64cal.pas
nx64cnv.pas
nx64flw.pas - Removed Win64 SEH code specific to results of managed types returned in registers. Since r26228 managed types are always returned in parameters. 2014-03-16 15:48:49 +00:00
nx64inl.pas
nx64mat.pas * fixes masking error in tx8664shlshrnode.pass_generate_code 2014-02-08 10:15:47 +00:00
nx64set.pas * fixed r26519 for darwin/x86-64, see comments (mantis #25644) 2014-01-29 21:26:45 +00:00
r8664ari.inc * 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
r8664att.inc * 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
r8664con.inc * 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
r8664dwrf.inc * 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
r8664int.inc * 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
r8664iri.inc * 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
r8664nasm.inc * set Ch_* for more operations 2014-01-26 12:37:50 +00:00
r8664nor.inc
r8664num.inc * 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
r8664ot.inc * 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
r8664rni.inc * 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
r8664sri.inc * 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
r8664stab.inc * 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
r8664std.inc * 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
rax64att.pas
rax64int.pas
rgcpu.pas * rbp can be used for normal purpose under certain conditions so it shouldn't interfere with all other registers 2014-01-30 19:44:14 +00:00
win64unw.pas
x8664ats.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
x8664att.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
x8664int.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
x8664nop.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
x8664op.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
x8664pro.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
x8664tab.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00