florian f68558b88c * factored out TX86AsmOptimizer.OptPass2Imul 8 years ago
..
aoptcpu.pas f68558b88c * factored out TX86AsmOptimizer.OptPass2Imul 8 years ago
aoptcpub.pas 3c2dab9878 * i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same 9 years ago
aoptcpud.pas 3c2dab9878 * i386 peephole assembler uses largely the common peephole optimizer infrastructure, the resulting code is besides a few improvements the same 9 years ago
cgcpu.pas a25ebbba3e + added volatility information to all memory references 8 years ago
cpubase.inc bfbb0c5b9d * optimize mov/lea 11 years ago
cpuelf.pas 901275b4a1 Switch back to emitting BLX instructions and fix calculation of constant offsets(should rarely/never happen). 10 years ago
cpuinfo.pas 5f87ac5d47 + added 486 to the list of supported CPUs on the i8086 and i386 targets 9 years ago
cpunode.pas a0efde8167 * automatically generate necessary indirect symbols when a new assembler 9 years ago
cpupara.pas 0cb555c07c syscalls: move the reference implementation of parseparaloc to paramgr. removes two identical copies from CPU specific code and enables basereg convention for AROS/x86_64. also, other minor fixes and cleanups in related code. 8 years ago
cpupi.pas 880d438704 * renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can 8 years ago
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. 11 years ago
hlcgcpu.pas a25ebbba3e + added volatility information to all memory references 8 years ago
i386att.inc 56252d59f0 + support for the PREFETCHTW1 instruction based on a patch by Emelyanov Roman, resolves #30933 8 years ago
i386atts.inc 870fda34d5 * x86 AT&T reader and writer: cleaned up usage of attsufMM suffix: 8 years ago
i386int.inc 56252d59f0 + support for the PREFETCHTW1 instruction based on a patch by Emelyanov Roman, resolves #30933 8 years ago
i386nop.inc 133fcb5ab2 * Fixed VMOVQ instruction encoding, now assembles correctly also in 32-bit code. 8 years ago
i386op.inc 56252d59f0 + support for the PREFETCHTW1 instruction based on a patch by Emelyanov Roman, resolves #30933 8 years ago
i386prop.inc 56252d59f0 + support for the PREFETCHTW1 instruction based on a patch by Emelyanov Roman, resolves #30933 8 years ago
i386tab.inc 133fcb5ab2 * Fixed VMOVQ instruction encoding, now assembles correctly also in 32-bit code. 8 years ago
n386add.pas a25ebbba3e + added volatility information to all memory references 8 years ago
n386cal.pas f5f895e2a3 syscalls: unify call reference creation across 4 different CPU archs. less copypasted code, brings x86_64 AROS support up to speed 8 years ago
n386flw.pas a25ebbba3e + added volatility information to all memory references 8 years ago
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. 11 years ago
n386ld.pas 3c6aa91a96 * factored out the loading of threadvars in its own method, and put the 10 years ago
n386mat.pas 5356f17fa5 * i386: switch the div/mod node to shared code, leaving in place the specific optimization for division by power of 2. 11 years ago
n386mem.pas 338c064beb * moved x86-specific tpointerdef functionality to architecture-specific 11 years ago
n386set.pas d0db391d7c * cleanup of unused units 12 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
r386nor.inc 283ff05127 * merged avx support in inline assembler developed by Torsten Grundke 13 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
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. 12 years ago
r386stab.inc 283ff05127 * merged avx support in inline assembler developed by Torsten Grundke 13 years ago
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. 12 years ago
ra386att.pas 757ed4e8d3 * standard assembler reader for i386 20 years ago
ra386int.pas 6c6bf452ca * Fixed level 2 comment warnings. 17 years ago
rgcpu.pas b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from 19 years ago
symcpu.pas f402b0d7df * changed getpointerdef() into a tpointerdef.getreusable() class method 10 years ago