fpc/compiler/i8086
2014-06-04 13:44:10 +00:00
..
aoptcpu.pas + enable jump optimizer for i8086 2013-05-01 13:54:13 +00:00
aoptcpub.pas + enable jump optimizer for i8086 2013-05-01 13:54:13 +00:00
aoptcpud.pas + enable jump optimizer for i8086 2013-05-01 13:54:13 +00:00
cgcpu.pas + support i8086 far data memory models in tcg8086.g_intf_wrapper 2014-05-03 14:17:54 +00:00
cpubase.inc Implement support for saving and restoring address registers. 2013-10-05 21:43:42 +00:00
cpuinfo.pas * Included cs_opt_peephole into genericlevel1optimizerswitches, so it is re-enabled for all targets after r27106. 2014-03-15 21:23:29 +00:00
cpunode.pas + generate the stack segment for i8086 far data memory models from within fpc 2014-05-27 23:29:50 +00:00
cpupara.pas * fixed the passing of extended floating type parameters on i8086 for 2014-05-01 16:45:49 +00:00
cpupi.pas - rm ti8086procinfo.allocate_got_register as it isn't used on the i8086 2013-04-14 14:35:51 +00:00
cputarg.pas all the extra i8086 units added 2013-03-08 00:04:45 +00:00
hlcgcpu.pas + added support for nested procvars in the i8086 far data memory models 2014-05-22 23:44:09 +00:00
i8086att.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i8086atts.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i8086int.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i8086nop.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i8086op.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i8086prop.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i8086tab.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
n8086add.pas + implemented far pointer arithmetic in the i8086 add node simplify method 2014-04-06 18:51:53 +00:00
n8086cal.pas * don't push cs in ti8086callnode.extra_interrupt_code in the far code memory 2014-04-21 00:56:51 +00:00
n8086cnv.pas * converted tcgtypeconvnode.second_nil_to_methodprocvar to the high level code 2014-04-28 01:05:14 +00:00
n8086con.pas * moved x86-specific tpointerdef functionality to architecture-specific 2014-03-30 21:04:36 +00:00
n8086inl.pas + added a proper far pointer inc/dec implementation (operating only on the offset, 2014-05-19 16:24:25 +00:00
n8086ld.pas * fixed nested access to parent local variables in i8086 far data memory models 2014-03-30 17:50:35 +00:00
n8086mat.pas + enabled the use of the DIV/IDIV instruction for 16-bit div/mod on i8086 2013-11-11 22:34:41 +00:00
n8086mem.pas * ti8086vecnode.update_reference_reg_mul: remove the segment before calling 2014-05-01 19:39:52 +00:00
n8086tcon.pas * fixed i8086 far pointer typed constants that are initialized with nil 2014-04-03 21:39:00 +00:00
n8086util.pas * ti8086nodeutils.InsertMemorySizes: stack segment creation moved to a separate 2014-06-04 13:44:10 +00:00
r8086ari.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
r8086att.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
r8086con.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
r8086dwrf.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
r8086int.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
r8086iri.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
r8086nasm.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
r8086nor.inc * i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc 2013-04-12 12:06:28 +00:00
r8086nri.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
r8086num.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
r8086ot.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
r8086rni.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
r8086sri.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
r8086stab.inc * i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc 2013-04-12 12:06:28 +00:00
r8086std.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
ra8086att.pas * changed the default i8086 asmmode to Intel 2013-09-21 18:43:34 +00:00
ra8086int.pas * changed the default i8086 asmmode to Intel 2013-09-21 18:43:34 +00:00
rgcpu.pas + set ref.segment to NR_SS for all temps/localvars on i8086. This allows the 2014-05-01 21:18:47 +00:00
symcpu.pas + added support for units with code larger than 64kb in the far code i8086 2014-04-20 19:03:14 +00:00
tgcpu.pas + set ref.segment to NR_SS for all temps/localvars on i8086. This allows the 2014-05-01 21:18:47 +00:00