fpc/compiler/i8086
2016-10-18 21:48:59 +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 * get rid of addr_load_indirect again by having tcgx86 provide an internal implementation of both make_simple_ref() and a_load_ref_reg() so that make_direct_ref() can call the latter (and the latter the former) without fear of inifinite recursive calls due to the symbol; a_load_ref_reg() is additionally declared as "final" as a_load_ref_reg_internal() needs to be overloaded instead (which is the case for tcg8086) 2016-09-30 14:01:02 +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 * automatically generate necessary indirect symbols when a new assembler 2016-07-20 20:53:03 +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 + added an i8086-embedded target support to the compiler (RTL and makefile 2016-06-17 19:15:24 +00:00
hlcgcpu.pas * various memory reference alignment fixes 2016-09-20 21:43:19 +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 * fix modification information of VCOMISS and VCOMISD 2016-06-01 19:58:43 +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 * various memory reference alignment fixes 2016-09-20 21:43:19 +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 Fix parameter loading of FPC_CHECKPOINTER to handle correctly references with offsets 2016-10-18 21:48:59 +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 * specify the def of assembler level symbols defined via 2016-07-20 20:52:59 +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 + added an unsigned counterpart to tpointerdef.pointer_arithmetic_it_type (needed by inc/dec) 2016-10-08 11:45:24 +00:00
tgcpu.pas * changed all alignment parameters in the temp manager to shortint 2014-08-19 20:22:45 +00:00