.. |
aoptcpu.pas
|
19c8abac0b
+ enable jump optimizer for i8086
|
12 anni fa |
aoptcpub.pas
|
19c8abac0b
+ enable jump optimizer for i8086
|
12 anni fa |
aoptcpud.pas
|
19c8abac0b
+ enable jump optimizer for i8086
|
12 anni fa |
cgcpu.pas
|
8bfe2a56dd
* optimized SAR by 31 to use only one SAR instruction in tcg8086.a_op_const_reg
|
11 anni fa |
cpubase.inc
|
c48d572996
Implement support for saving and restoring address registers.
|
12 anni fa |
cpuinfo.pas
|
b327eac688
- disable cs_opt_regvar from -O2 on i8086, since it's not working properly yet
|
12 anni fa |
cpunode.pas
|
b342588af1
+ i8086 specific far proc aware implementation of ttypeconvnode.second_proc_to_procvar
|
12 anni fa |
cpupara.pas
|
99de108c68
* renamed all paramanagers to tcpuparamanager so the llvm paramanager can
|
11 anni fa |
cpupi.pas
|
c916105db8
- rm ti8086procinfo.allocate_got_register as it isn't used on the i8086
|
12 anni fa |
cputarg.pas
|
eff0894a66
all the extra i8086 units added
|
12 anni fa |
hlcgcpu.pas
|
039979fdcc
* handle 4-byte records in registers as well in location_force_mem on i8086
|
11 anni fa |
i8086att.inc
|
f6e846c574
+ added the NEC V20/V30 instructions
|
12 anni fa |
i8086atts.inc
|
f6e846c574
+ added the NEC V20/V30 instructions
|
12 anni fa |
i8086int.inc
|
f6e846c574
+ added the NEC V20/V30 instructions
|
12 anni fa |
i8086nop.inc
|
0f69362edd
- rm LEA reg,imm from x86ins.dat, as that's not a valid x86 instruction,
|
12 anni fa |
i8086op.inc
|
f6e846c574
+ added the NEC V20/V30 instructions
|
12 anni fa |
i8086prop.inc
|
f6e846c574
+ added the NEC V20/V30 instructions
|
12 anni fa |
i8086tab.inc
|
f132a804d6
+ handle 32 bit references on x86-64 so lea can be used for 32 bit arithmetics
|
11 anni fa |
n8086add.pas
|
2a64ba0ad3
* do a 32-bit comparison on far and huge pointers
|
12 anni fa |
n8086cal.pas
|
3853d06ac0
+ added n8086cal.pas, based on n386cal.pas; this pulls in nx86cal.pas as well and fixes compilation of the system unit on i8086 after the merge of the i8086 branch to trunk
|
12 anni fa |
n8086cnv.pas
|
645cd11b9d
* fixed the assignment of global functions to nested procvars in i8086 far code
|
12 anni fa |
n8086con.pas
|
a308994423
* i8086 specific code from tcgpointerconstnode.pass_generate_code moved to an i8086 specific overriden method
|
12 anni fa |
n8086inl.pas
|
97ca0fa323
- removed ti8086inlinenode.second_round_real, second_trunc_real and load_fpu_location as they mostly repeat the code in tx86inlinenode.load_fpu_location; tx86inlinenode.load_fpu_location adapted for i8086 instead
|
12 anni fa |
n8086mat.pas
|
43dba74a5c
+ implemented 64-bit shl and shr for i8086
|
12 anni fa |
n8086mem.pas
|
6aae88578c
+ getting the address of a label now returns a far pointer in i8086 far code memory models; this fixes the call to fpc_raiseexception in the raise node
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
r8086nor.inc
|
107a6f6552
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
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.
|
12 anni fa |
r8086stab.inc
|
107a6f6552
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
|
12 anni fa |
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.
|
12 anni fa |
ra8086att.pas
|
a04cbc09b0
* changed the default i8086 asmmode to Intel
|
12 anni fa |
ra8086int.pas
|
a04cbc09b0
* changed the default i8086 asmmode to Intel
|
12 anni fa |
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
|
12 anni fa |