.. |
aopt386.pas
|
ba5297be37
* support disabling the i386 peephole optimizer with -Oonopeephole
|
11 ani în urmă |
cgcpu.pas
|
31edfdc05f
* i386: push references with size OS_F64 using less instructions.
|
11 ani în urmă |
cpubase.inc
|
bfbb0c5b9d
* optimize mov/lea
|
11 ani în urmă |
cpuelf.pas
|
46f8e78d1f
+ Support GOT/gp-relative constants in GAS and internal assemblers, MIPS and i386.
|
11 ani în urmă |
cpuinfo.pas
|
d88d644925
+ support for FMA intrinsic: if there is no hardware support, the compiler throws an error.
|
11 ani în urmă |
cpunode.pas
|
4a79481c51
* isolated segment-related functionality of tabsolutevarsym into i386/i8086-
|
11 ani în urmă |
cpupara.pas
|
2c02e8a726
- i386, x86_64, SPARC: removed paramanager.getintparaloc overrides, it is handled by generic implementation since r24716.
|
11 ani în urmă |
cpupi.pas
|
b1dc518ac4
* removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead
|
13 ani în urmă |
cputarg.pas
|
d26f0552a0
* Sync with trunk r23404.
|
12 ani în urmă |
csopt386.pas
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 ani în urmă |
daopt386.pas
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 ani în urmă |
hlcgcpu.pas
|
26b53607f8
+ added method reference_reset_base with support for different pointer types to
|
11 ani în urmă |
i386att.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 ani în urmă |
i386atts.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 ani în urmă |
i386int.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 ani în urmă |
i386nop.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 ani în urmă |
i386op.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 ani în urmă |
i386prop.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 ani în urmă |
i386tab.inc
|
842e027a9f
+ prove of concept how FMA4 could be supported in inline assembler
|
11 ani în urmă |
n386add.pas
|
3a3197ae9c
+ i386: inline 64-bit multiplications if overflow checking is disabled and not optimizing for size. Rough testing on Core 2 Duo shows speed improvement by factor of 5, even despite inlined code does not check for zero upper dwords.
|
11 ani în urmă |
n386cal.pas
|
1cec09f979
Add -Caoldwin32gnu ABI option to cope with 'ret $4' issues in old GNU mingw32 C compiler (version below 4.7)
|
11 ani în urmă |
n386flw.pas
|
1df293679d
* fixed setting of pi_uses_exception flags and unified usage, they should be set in pass_1
|
11 ani în urmă |
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 ani în urmă |
n386ld.pas
|
4a79481c51
* isolated segment-related functionality of tabsolutevarsym into i386/i8086-
|
11 ani în urmă |
n386mat.pas
|
92cf25b9a5
* Reworked i386 division by constant optimization to reuse code from powerpc64. The algorithm is slightly different, signed version is one instruction shorter, unsigned one is one instruction longer (typically). The new algorithm is easily scalable for x86_64 target, unlike the old one.
|
11 ani în urmă |
n386mem.pas
|
338c064beb
* moved x86-specific tpointerdef functionality to architecture-specific
|
11 ani în urmă |
n386set.pas
|
d0db391d7c
* cleanup of unused units
|
12 ani în urmă |
popt386.pas
|
2ee0c8de45
* i386: For integer comparisons with zero, emit "test $-1,%reg" instead of "test %reg,%reg". It is more spilling-friendly, because it transforms into "test $-1,spilltemp" and does not require a register.
|
11 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
r386nor.inc
|
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
|
13 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
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 ani în urmă |
r386stab.inc
|
283ff05127
* merged avx support in inline assembler developed by Torsten Grundke
|
13 ani în urmă |
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 ani în urmă |
ra386att.pas
|
757ed4e8d3
* standard assembler reader for i386
|
20 ani în urmă |
ra386int.pas
|
6c6bf452ca
* Fixed level 2 comment warnings.
|
17 ani în urmă |
rgcpu.pas
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
19 ani în urmă |
rropt386.pas
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 ani în urmă |
symcpu.pas
|
d404d15c1e
* forgot to commit the changes to i386/symcpu.pas in r27549
|
11 ani în urmă |