..
aopt386.pas
- removed long deprecated/buggy assembler cse optimiser for i386
2015-05-09 17:25:07 +00:00
cgcpu.pas
Extend the x86 targets by the ability to handle indirect symbols.
2016-03-18 21:45:41 +00:00
cpubase.inc
* optimize mov/lea
2013-11-01 19:01:14 +00:00
cpuelf.pas
Switch back to emitting BLX instructions and fix calculation of constant offsets(should rarely/never happen).
2014-12-14 16:28:35 +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
* isolated segment-related functionality of tabsolutevarsym into i386/i8086-
2014-03-30 15:42:53 +00:00
cpupara.pas
* support marking defs created via the getreusable*() class methods as
2015-11-04 20:46:18 +00:00
cpupi.pas
* Keep the GOT offset in a virtual register for i386 non-darwin platforms.
2015-10-12 08:02:56 +00:00
cputarg.pas
merged/updated AROS/i386 target to trunk from AROS branch, to support Marcus Sackrow's work on AROS support which will hopefully benefit all Amiga-like targets (classic, MorphOS) on the long run. Compiler only, RTL comes in the next run.
2014-08-17 18:18:07 +00:00
daopt386.pas
* unify x86 peephole optimizer helpers
2015-09-27 09:36:39 +00:00
hlcgcpu.pas
* Fixed calling of external procs for i386 non-darwin targets when PIC is enabled.
2015-11-26 17:04:55 +00:00
i386att.inc
+ support xgetbv instruction, resolves issue #29958
2016-04-03 20:53:10 +00:00
i386atts.inc
+ support xgetbv instruction, resolves issue #29958
2016-04-03 20:53:10 +00:00
i386int.inc
+ support xgetbv instruction, resolves issue #29958
2016-04-03 20:53:10 +00:00
i386nop.inc
+ support xgetbv instruction, resolves issue #29958
2016-04-03 20:53:10 +00:00
i386op.inc
+ support xgetbv instruction, resolves issue #29958
2016-04-03 20:53:10 +00:00
i386prop.inc
+ support xgetbv instruction, resolves issue #29958
2016-04-03 20:53:10 +00:00
i386tab.inc
+ support xgetbv instruction, resolves issue #29958
2016-04-03 20:53:10 +00:00
n386add.pas
* replaced current_procinfo.currtrue/falselabel with storing the true/false
2015-08-27 18:28:57 +00:00
n386cal.pas
* re-read the libbase already pushed on the stack for AROS syscalls, instead of trying to re-resolve it. should fix threadvar libbases on AROS.
2016-04-08 22:42:29 +00:00
n386flw.pas
ncal.pas:
2015-09-18 14:48:54 +00:00
n386inl.pas
+ i386: generate optimized code for 64-bit arithmetic shifts by constant amount. Shifts by 63 and by less than 32 take just two instructions, shifts by 32..62 bits are done with 3 instructions.
2013-10-29 16:10:13 +00:00
n386ld.pas
* factored out the loading of threadvars in its own method, and put the
2015-09-12 23:32:53 +00:00
n386mat.pas
* i386: switch the div/mod node to shared code, leaving in place the specific optimization for division by power of 2.
2014-06-15 16:20:53 +00:00
n386mem.pas
* moved x86-specific tpointerdef functionality to architecture-specific
2014-03-30 21:04:36 +00:00
n386set.pas
* cleanup of unused units
2013-07-07 20:00:33 +00:00
popt386.pas
* make use of xor reg,reg by generating it directly instead of hoping for the peephole
2016-04-15 19:27:22 +00:00
r386ari.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
r386att.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
r386con.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
r386dwrf.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
r386int.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
r386iri.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
r386nasm.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
r386nor.inc
r386nri.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
r386num.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
r386ot.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
r386rni.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
r386sri.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
r386stab.inc
r386std.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
ra386att.pas
* standard assembler reader for i386
2005-06-07 13:20:14 +00:00
ra386int.pas
rgcpu.pas
symcpu.pas
* changed getpointerdef() into a tpointerdef.getreusable() class method
2015-06-22 08:17:49 +00:00