.. |
aoptcpu.pas
|
53c39d5420
* fixes peephole optimizer problems with -O3 on x86-64
|
13 years ago |
aoptcpub.pas
|
2f5ce095ce
* RefsHaveIndexReg -> cpurefshaveindexreg
|
13 years ago |
aoptcpud.pas
|
790a4fe2d3
* log and id tags removed
|
20 years ago |
cgcpu.pas
|
f508442a7e
* Emit everything to the same asmlist (fixing copy-paste error).
|
11 years ago |
cpubase.inc
|
bfbb0c5b9d
* optimize mov/lea
|
12 years ago |
cpuelf.pas
|
11b72b5515
x86_64 internal ELF linker:
|
12 years ago |
cpuinfo.pas
|
a752e3542d
+ more x86 cpu flags
|
11 years ago |
cpunode.pas
|
58610af9f0
* adapt max_linear_list on x86-64 as well
|
12 years ago |
cpupara.pas
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 years ago |
cpupi.pas
|
70dda94474
* x86_64-win64: don't allocate outgoing parameter area in nostackframe procedures, it fails compilation if range/overflow/etc checking is enabled (which always sets pi_do_call) due to check introduced in r22677.
|
12 years ago |
cputarg.pas
|
c529356693
* Split most CPU-specific code from ogelf.pas into newly created cpuelf.pas units in CPU subdirectories.
|
13 years ago |
hlcgcpu.pas
|
71deda6f50
+ added interface to ncgutil.gen_load_loc_cgpara() to hlcgobj + generic
|
14 years ago |
nx64add.pas
|
2459518bdd
* use IMUL even for unsigned multiplication on x86_64, when overflow checking is
|
11 years ago |
nx64cal.pas
|
b837694207
* factored out releasing an unused return value into
|
14 years ago |
nx64cnv.pas
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
13 years ago |
nx64flw.pas
|
1ee9373fa6
* Changed function create_pd into method of ttryfinallynode, so it can be reused for Win32 SEH and, in the future, for DWARF-based exception handling on other targets.
|
11 years ago |
nx64inl.pas
|
790a4fe2d3
* log and id tags removed
|
20 years ago |
nx64mat.pas
|
c8743c4826
* support 32 bit operations on x86-64 in the code generator
|
12 years ago |
nx64set.pas
|
ca58cc1d64
+ x86_64: generate position-independent case jump tables (twice smaller than absolute ones and do not require dynamic relocations in .dll/.so).
|
11 years ago |
r8664ari.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 |
r8664att.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 |
r8664con.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 |
r8664dwrf.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 |
r8664int.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 |
r8664iri.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 |
r8664nor.inc
|
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
|
13 years ago |
r8664num.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 |
r8664ot.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 |
r8664rni.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 |
r8664sri.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 |
r8664stab.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 |
r8664std.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 |
rax64att.pas
|
0db44ae108
+ Support SEH directives in x86_64 AT&T asmreader.
|
14 years ago |
rax64int.pas
|
f726e1691b
* Fixed warnings and notes.
|
16 years ago |
rgcpu.pas
|
c6253d5bd7
* Added missing override directive in trgcpu.add_constraints method for x86_64 CPU. It was missing for years and I am not sure that this code is really needed. Please review.
|
16 years ago |
win64unw.pas
|
6a3fe72de9
+ Support .rva directive in AT&T reader. Put it into base class because it generally applies to all targets with COFF output, but enabled for Windows targets only (others need additional testing).
|
14 years ago |
x8664ats.inc
|
7028210817
+ tzcnt assembler instruction
|
11 years ago |
x8664att.inc
|
7028210817
+ tzcnt assembler instruction
|
11 years ago |
x8664int.inc
|
7028210817
+ tzcnt assembler instruction
|
11 years ago |
x8664nop.inc
|
7028210817
+ tzcnt assembler instruction
|
11 years ago |
x8664op.inc
|
7028210817
+ tzcnt assembler instruction
|
11 years ago |
x8664pro.inc
|
7028210817
+ tzcnt assembler instruction
|
11 years ago |
x8664tab.inc
|
7028210817
+ tzcnt assembler instruction
|
11 years ago |