.. |
aoptcpu.pas
|
19c8abac0b
+ enable jump optimizer for i8086
|
%!s(int64=12) %!d(string=hai) anos |
aoptcpub.pas
|
19c8abac0b
+ enable jump optimizer for i8086
|
%!s(int64=12) %!d(string=hai) anos |
aoptcpud.pas
|
19c8abac0b
+ enable jump optimizer for i8086
|
%!s(int64=12) %!d(string=hai) anos |
cgcpu.pas
|
98de3c4e40
* tcg8086.g_flags2reg: call virtual method a_jmp_flags instead of duplicating its functionality, it prevents further changes to this method when adding support for unordered comparison results.
|
%!s(int64=11) %!d(string=hai) anos |
cpubase.inc
|
c48d572996
Implement support for saving and restoring address registers.
|
%!s(int64=12) %!d(string=hai) anos |
cpuinfo.pas
|
c003f934c5
* Included cs_opt_peephole into genericlevel1optimizerswitches, so it is re-enabled for all targets after r27106.
|
%!s(int64=11) %!d(string=hai) anos |
cpunode.pas
|
4832682c58
* fixed i8086 far pointer typed constants that are initialized with nil
|
%!s(int64=11) %!d(string=hai) anos |
cpupara.pas
|
6fe362a1b0
+ added method is_far to i8086's tcpuprocdef and tcpuprocvardef
|
%!s(int64=11) %!d(string=hai) anos |
cpupi.pas
|
c916105db8
- rm ti8086procinfo.allocate_got_register as it isn't used on the i8086
|
%!s(int64=12) %!d(string=hai) anos |
cputarg.pas
|
eff0894a66
all the extra i8086 units added
|
%!s(int64=12) %!d(string=hai) anos |
hlcgcpu.pas
|
d8d3706462
+ override hlcg.a_call_name for i8086 and dispatch to the appropriate type of
|
%!s(int64=11) %!d(string=hai) anos |
i8086att.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
%!s(int64=11) %!d(string=hai) anos |
i8086atts.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
%!s(int64=11) %!d(string=hai) anos |
i8086int.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
%!s(int64=11) %!d(string=hai) anos |
i8086nop.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
%!s(int64=11) %!d(string=hai) anos |
i8086op.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
%!s(int64=11) %!d(string=hai) anos |
i8086prop.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
%!s(int64=11) %!d(string=hai) anos |
i8086tab.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
%!s(int64=11) %!d(string=hai) anos |
n8086add.pas
|
9f2e59de3a
+ implemented far pointer arithmetic in the i8086 add node simplify method
|
%!s(int64=11) %!d(string=hai) anos |
n8086cal.pas
|
e43791cf7c
* ti8086callnode.extra_call_ref_code: do not change the base register to BX if
|
%!s(int64=11) %!d(string=hai) anos |
n8086cnv.pas
|
ce0bd81273
+ show an error message 'procedure must be far' if an attempt is made to convert
|
%!s(int64=11) %!d(string=hai) anos |
n8086con.pas
|
338c064beb
* moved x86-specific tpointerdef functionality to architecture-specific
|
%!s(int64=11) %!d(string=hai) anos |
n8086inl.pas
|
5f57274b74
+ proper i8086 Seg() implementation (i.e. support segments other than DS)
|
%!s(int64=11) %!d(string=hai) anos |
n8086ld.pas
|
f4a0c08736
* fixed nested access to parent local variables in i8086 far data memory models
|
%!s(int64=11) %!d(string=hai) anos |
n8086mat.pas
|
dc432918da
+ enabled the use of the DIV/IDIV instruction for 16-bit div/mod on i8086
|
%!s(int64=11) %!d(string=hai) anos |
n8086mem.pas
|
f00f7d6ee7
* override tcgvecnode.update_reference_reg_mul for i8086 and add code that
|
%!s(int64=11) %!d(string=hai) anos |
n8086tcon.pas
|
4832682c58
* fixed i8086 far pointer typed constants that are initialized with nil
|
%!s(int64=11) %!d(string=hai) anos |
r8086ari.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086att.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086con.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086dwrf.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086int.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086iri.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086nasm.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086nor.inc
|
107a6f6552
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
|
%!s(int64=12) %!d(string=hai) anos |
r8086nri.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086num.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086ot.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086rni.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086sri.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
r8086stab.inc
|
107a6f6552
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
|
%!s(int64=12) %!d(string=hai) anos |
r8086std.inc
|
5af873ee5b
* 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.
|
%!s(int64=12) %!d(string=hai) anos |
ra8086att.pas
|
a04cbc09b0
* changed the default i8086 asmmode to Intel
|
%!s(int64=12) %!d(string=hai) anos |
ra8086int.pas
|
a04cbc09b0
* changed the default i8086 asmmode to Intel
|
%!s(int64=12) %!d(string=hai) anos |
rgcpu.pas
|
42e82c9de3
* when a i8086 reference uses only one register, choose it from the set [BX,BP,SI,DI] as it can be treated either as a base or an index, depending on what's convenient
|
%!s(int64=12) %!d(string=hai) anos |
symcpu.pas
|
9a44ab2fc2
* always treat interrupt routines as far, so their address can be taken even in
|
%!s(int64=11) %!d(string=hai) anos |