fpc/compiler/i8086
2016-04-03 20:53:10 +00:00
..
aoptcpu.pas + initial code in aoptcpu for i8086: make use of lds/les 2015-09-27 20:50:57 +00:00
aoptcpub.pas
aoptcpud.pas
cgcpu.pas Add pi_has_open_array_parameter to proc_info.flags as this requires special handling for i8086 huge memory model to restore DS register correctly 2016-01-11 15:02:10 +00:00
cpubase.inc + initial code in aoptcpu for i8086: make use of lds/les 2015-09-27 20:50:57 +00:00
cpuinfo.pas + added 486 to the list of supported CPUs on the i8086 and i386 targets 2016-03-23 15:07:56 +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 * support marking defs created via the getreusable*() class methods as 2015-11-04 20:46:18 +00:00
cpupi.pas * moved the insertion of fwaits for 8087 from the nasm asm writer to ti8086procinfo.postprocess_code 2015-04-17 23:27:03 +00:00
cputarg.pas + started implementing a win16 target :) 2015-09-05 02:47:42 +00:00
hlcgcpu.pas + support procvardefs (address only) in i8086's hlcgcpu.getaddressregister; this 2015-12-01 15:58:11 +00:00
i8086att.inc + support xgetbv instruction, resolves issue #29958 2016-04-03 20:53:10 +00:00
i8086atts.inc + support xgetbv instruction, resolves issue #29958 2016-04-03 20:53:10 +00:00
i8086int.inc + support xgetbv instruction, resolves issue #29958 2016-04-03 20:53:10 +00:00
i8086nop.inc + support xgetbv instruction, resolves issue #29958 2016-04-03 20:53:10 +00:00
i8086op.inc + support xgetbv instruction, resolves issue #29958 2016-04-03 20:53:10 +00:00
i8086prop.inc + support xgetbv instruction, resolves issue #29958 2016-04-03 20:53:10 +00:00
i8086tab.inc + support xgetbv instruction, resolves issue #29958 2016-04-03 20:53:10 +00:00
n8086add.pas + implemented correct simplification of far pointer comparison of two pointer const nodes 2015-10-22 14:07:45 +00:00
n8086cal.pas * synchronized with trunk up to r27758 2014-05-12 16:12:34 +00:00
n8086cnv.pas * optimizations for ofs() on i8086 to load only the offset (in a temporary 2015-10-30 21:27:35 +00:00
n8086con.pas + show the full segment:offset value of far and huge pointer const nodes in the node tree generated by -vp 2015-10-21 16:53:41 +00:00
n8086inl.pas + implemented inc/dec for huge pointers 2014-12-10 23:52:46 +00:00
n8086ld.pas * fixed huge memory model threadvars after r32013 2015-10-11 12:55:44 +00:00
n8086mat.pas * do an even better optimization (swap registers in the result, saving 2 mov 2015-10-15 21:13:28 +00:00
n8086mem.pas * optimizations for ofs() on i8086 to load only the offset (in a temporary 2015-10-30 21:27:35 +00:00
n8086tcon.pas + added support for word/smallint typed constants, initialized with ofs() on i8086 2015-11-11 15:01:08 +00:00
n8086util.pas + added heapmax support to the $M directive on i8086-msdos. It is currently 2014-06-23 20:17:17 +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
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
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 * synchronized with trunk up to r27758 2014-05-12 16:12:34 +00:00
symcpu.pas + generate proper win16 prologue/epilogue for exported routines (we don't yet 2015-09-26 18:04:59 +00:00
tgcpu.pas * changed all alignment parameters in the temp manager to shortint 2014-08-19 20:22:45 +00:00