.. |
aopt386.pas
|
1b43930749
- removed long deprecated/buggy assembler cse optimiser for i386
|
%!s(int64=10) %!d(string=hai) anos |
cgcpu.pas
|
862348c317
* Keep the GOT offset in a virtual register for i386 non-darwin platforms.
|
%!s(int64=9) %!d(string=hai) anos |
cpubase.inc
|
bfbb0c5b9d
* optimize mov/lea
|
%!s(int64=11) %!d(string=hai) anos |
cpuelf.pas
|
901275b4a1
Switch back to emitting BLX instructions and fix calculation of constant offsets(should rarely/never happen).
|
%!s(int64=10) %!d(string=hai) anos |
cpuinfo.pas
|
3cb9be73bc
Moved tcontrollerdatatype out into cpuinfo.
|
%!s(int64=10) %!d(string=hai) anos |
cpunode.pas
|
4a79481c51
* isolated segment-related functionality of tabsolutevarsym into i386/i8086-
|
%!s(int64=11) %!d(string=hai) anos |
cpupara.pas
|
fa3b0ca312
* support marking defs created via the getreusable*() class methods as
|
%!s(int64=9) %!d(string=hai) anos |
cpupi.pas
|
862348c317
* Keep the GOT offset in a virtual register for i386 non-darwin platforms.
|
%!s(int64=9) %!d(string=hai) anos |
cputarg.pas
|
4431ba2c08
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.
|
%!s(int64=11) %!d(string=hai) anos |
daopt386.pas
|
53ea4fb7d4
* unify x86 peephole optimizer helpers
|
%!s(int64=9) %!d(string=hai) anos |
hlcgcpu.pas
|
78b4950b97
* Fixed calling of external procs for i386 non-darwin targets when PIC is enabled.
|
%!s(int64=9) %!d(string=hai) anos |
i386att.inc
|
a3964d9ee0
+ support for RDTSCP, resolves issue #28916
|
%!s(int64=9) %!d(string=hai) anos |
i386atts.inc
|
a3964d9ee0
+ support for RDTSCP, resolves issue #28916
|
%!s(int64=9) %!d(string=hai) anos |
i386int.inc
|
a3964d9ee0
+ support for RDTSCP, resolves issue #28916
|
%!s(int64=9) %!d(string=hai) anos |
i386nop.inc
|
a3964d9ee0
+ support for RDTSCP, resolves issue #28916
|
%!s(int64=9) %!d(string=hai) anos |
i386op.inc
|
a3964d9ee0
+ support for RDTSCP, resolves issue #28916
|
%!s(int64=9) %!d(string=hai) anos |
i386prop.inc
|
a3964d9ee0
+ support for RDTSCP, resolves issue #28916
|
%!s(int64=9) %!d(string=hai) anos |
i386tab.inc
|
80b3e3020a
* the SEGFS and SEGGS prefixes are 386+
|
%!s(int64=9) %!d(string=hai) anos |
n386add.pas
|
0fc1fd6ac1
* replaced current_procinfo.currtrue/falselabel with storing the true/false
|
%!s(int64=10) %!d(string=hai) anos |
n386cal.pas
|
4ee15b84da
AROS: syscall (library call) support for based on the Amiga/68k and MorphOS/PPC versions
|
%!s(int64=11) %!d(string=hai) anos |
n386flw.pas
|
529677cc79
ncal.pas:
|
%!s(int64=10) %!d(string=hai) anos |
n386inl.pas
|
66e82f1655
+ 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.
|
%!s(int64=11) %!d(string=hai) anos |
n386ld.pas
|
3c6aa91a96
* factored out the loading of threadvars in its own method, and put the
|
%!s(int64=10) %!d(string=hai) anos |
n386mat.pas
|
5356f17fa5
* i386: switch the div/mod node to shared code, leaving in place the specific optimization for division by power of 2.
|
%!s(int64=11) %!d(string=hai) anos |
n386mem.pas
|
338c064beb
* moved x86-specific tpointerdef functionality to architecture-specific
|
%!s(int64=11) %!d(string=hai) anos |
n386set.pas
|
d0db391d7c
* cleanup of unused units
|
%!s(int64=12) %!d(string=hai) anos |
popt386.pas
|
6537b99ac3
* i386: Fixed detection of a peephole optimization using CMOV.
|
%!s(int64=9) %!d(string=hai) anos |
r386ari.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 |
r386att.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 |
r386con.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 |
r386dwrf.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 |
r386int.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 |
r386iri.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 |
r386nasm.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 |
r386nor.inc
|
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
|
%!s(int64=13) %!d(string=hai) anos |
r386nri.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 |
r386num.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 |
r386ot.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 |
r386rni.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 |
r386sri.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 |
r386stab.inc
|
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
|
%!s(int64=13) %!d(string=hai) anos |
r386std.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 |
ra386att.pas
|
757ed4e8d3
* standard assembler reader for i386
|
%!s(int64=20) %!d(string=hai) anos |
ra386int.pas
|
6c6bf452ca
* Fixed level 2 comment warnings.
|
%!s(int64=17) %!d(string=hai) anos |
rgcpu.pas
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
%!s(int64=19) %!d(string=hai) anos |
symcpu.pas
|
f402b0d7df
* changed getpointerdef() into a tpointerdef.getreusable() class method
|
%!s(int64=10) %!d(string=hai) anos |