.. |
aoptcpu.pas
|
2fa066b003
* optimize vmovaps/vmovapd after avx instructions
|
11 年之前 |
aoptcpub.pas
|
2f5ce095ce
* RefsHaveIndexReg -> cpurefshaveindexreg
|
13 年之前 |
aoptcpud.pas
|
790a4fe2d3
* log and id tags removed
|
20 年之前 |
cgcpu.pas
|
d8c898742a
* handle the fact that records containing a single extended value are
|
10 年之前 |
cpubase.inc
|
bfbb0c5b9d
* optimize mov/lea
|
12 年之前 |
cpuelf.pas
|
11b72b5515
x86_64 internal ELF linker:
|
12 年之前 |
cpuinfo.pas
|
5c67fcc43f
+ change always floating point divisions into multiplications if they are a power of two,
|
10 年之前 |
cpunode.pas
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 年之前 |
cpupara.pas
|
d8c898742a
* handle the fact that records containing a single extended value are
|
10 年之前 |
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 年之前 |
cputarg.pas
|
3327d508ee
Enable nasm assembler for x86_64 cpu
|
11 年之前 |
hlcgcpu.pas
|
71deda6f50
+ added interface to ncgutil.gen_load_loc_cgpara() to hlcgobj + generic
|
14 年之前 |
nx64add.pas
|
2459518bdd
* use IMUL even for unsigned multiplication on x86_64, when overflow checking is
|
11 年之前 |
nx64cal.pas
|
b837694207
* factored out releasing an unused return value into
|
14 年之前 |
nx64cnv.pas
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
13 年之前 |
nx64flw.pas
|
3fb304cbe2
- Removed Win64 SEH code specific to results of managed types returned in registers. Since r26228 managed types are always returned in parameters.
|
11 年之前 |
nx64inl.pas
|
790a4fe2d3
* log and id tags removed
|
20 年之前 |
nx64mat.pas
|
b594eee70b
* Moved x86_64 mod/div code to x86, with minimal changes to ensure it compiles on i386/i8086. Merging optimized division-by-const code from i386 is pending...
|
11 年之前 |
nx64set.pas
|
859676d7d3
* fixed r26519 for darwin/x86-64, see comments (mantis #25644)
|
11 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
r8664nasm.inc
|
2ec5a649d7
* set Ch_* for more operations
|
11 年之前 |
r8664nor.inc
|
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
|
13 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
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 年之前 |
rax64att.pas
|
8f05f8c839
- Forgot to commit with r29081
|
10 年之前 |
rax64int.pas
|
f726e1691b
* Fixed warnings and notes.
|
16 年之前 |
rgcpu.pas
|
a3f58e84be
* rbp can be used for normal purpose under certain conditions so it shouldn't interfere with all other registers
|
11 年之前 |
symcpu.pas
|
94bcb9878a
* reimplemented r28329 in a different way, as suggested by Jonas
|
11 年之前 |
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 年之前 |
x8664ats.inc
|
dc628b8969
* x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.
|
11 年之前 |
x8664att.inc
|
dc628b8969
* x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.
|
11 年之前 |
x8664int.inc
|
dc628b8969
* x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.
|
11 年之前 |
x8664nop.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 年之前 |
x8664op.inc
|
dc628b8969
* x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.
|
11 年之前 |
x8664pro.inc
|
dc628b8969
* x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.
|
11 年之前 |
x8664tab.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 年之前 |