sergei 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 vuotta sitten
..
aopt386.pas ba5297be37 * support disabling the i386 peephole optimizer with -Oonopeephole 11 vuotta sitten
cgcpu.pas 31edfdc05f * i386: push references with size OS_F64 using less instructions. 11 vuotta sitten
cpubase.inc bfbb0c5b9d * optimize mov/lea 11 vuotta sitten
cpuelf.pas 46f8e78d1f + Support GOT/gp-relative constants in GAS and internal assemblers, MIPS and i386. 11 vuotta sitten
cpuinfo.pas d88d644925 + support for FMA intrinsic: if there is no hardware support, the compiler throws an error. 11 vuotta sitten
cpunode.pas 4a79481c51 * isolated segment-related functionality of tabsolutevarsym into i386/i8086- 11 vuotta sitten
cpupara.pas 2c02e8a726 - i386, x86_64, SPARC: removed paramanager.getintparaloc overrides, it is handled by generic implementation since r24716. 11 vuotta sitten
cpupi.pas b1dc518ac4 * removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead 13 vuotta sitten
cputarg.pas d26f0552a0 * Sync with trunk r23404. 12 vuotta sitten
csopt386.pas 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 vuotta sitten
daopt386.pas 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 vuotta sitten
hlcgcpu.pas 26b53607f8 + added method reference_reset_base with support for different pointer types to 11 vuotta sitten
i386att.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 vuotta sitten
i386atts.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 vuotta sitten
i386int.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 vuotta sitten
i386nop.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 vuotta sitten
i386op.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 vuotta sitten
i386prop.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 vuotta sitten
i386tab.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 vuotta sitten
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 vuotta sitten
n386cal.pas 1cec09f979 Add -Caoldwin32gnu ABI option to cope with 'ret $4' issues in old GNU mingw32 C compiler (version below 4.7) 11 vuotta sitten
n386flw.pas 1df293679d * fixed setting of pi_uses_exception flags and unified usage, they should be set in pass_1 11 vuotta sitten
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 vuotta sitten
n386ld.pas 4a79481c51 * isolated segment-related functionality of tabsolutevarsym into i386/i8086- 11 vuotta sitten
n386mat.pas edd42aa42a * moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for 13 vuotta sitten
n386mem.pas 338c064beb * moved x86-specific tpointerdef functionality to architecture-specific 11 vuotta sitten
n386set.pas d0db391d7c * cleanup of unused units 12 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
r386nor.inc 283ff05127 * merged avx support in inline assembler developed by Torsten Grundke 13 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
r386stab.inc 283ff05127 * merged avx support in inline assembler developed by Torsten Grundke 13 vuotta sitten
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 vuotta sitten
ra386att.pas 757ed4e8d3 * standard assembler reader for i386 20 vuotta sitten
ra386int.pas 6c6bf452ca * Fixed level 2 comment warnings. 17 vuotta sitten
rgcpu.pas b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from 19 vuotta sitten
rropt386.pas 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 vuotta sitten
symcpu.pas d404d15c1e * forgot to commit the changes to i386/symcpu.pas in r27549 11 vuotta sitten