fpc/compiler/i386
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.
* Improved peephole optimizer to remove these instructions if preceded by flag-setting instruction that operates on same location and followed by conditional jump, and change them back into "test %reg,%reg" otherwise.

git-svn-id: trunk@27617 -
2014-04-20 19:16:58 +00:00
..
aopt386.pas * support disabling the i386 peephole optimizer with -Oonopeephole 2014-02-05 00:27:16 +00:00
cgcpu.pas * i386: push references with size OS_F64 using less instructions. 2014-03-27 14:48:23 +00:00
cpubase.inc
cpuelf.pas + Support GOT/gp-relative constants in GAS and internal assemblers, MIPS and i386. 2014-02-26 14:54:47 +00:00
cpuinfo.pas + support for FMA intrinsic: if there is no hardware support, the compiler throws an error. 2014-04-13 19:21:54 +00:00
cpunode.pas * isolated segment-related functionality of tabsolutevarsym into i386/i8086- 2014-03-30 15:42:53 +00:00
cpupara.pas - i386, x86_64, SPARC: removed paramanager.getintparaloc overrides, it is handled by generic implementation since r24716. 2014-02-24 16:01:14 +00:00
cpupi.pas
cputarg.pas
csopt386.pas
daopt386.pas
hlcgcpu.pas + added method reference_reset_base with support for different pointer types to 2014-03-28 00:01:18 +00:00
i386att.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i386atts.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i386int.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i386nop.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i386op.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i386prop.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
i386tab.inc + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
n386add.pas + 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. 2014-01-18 11:41:55 +00:00
n386cal.pas Add -Caoldwin32gnu ABI option to cope with 'ret $4' issues in old GNU mingw32 C compiler (version below 4.7) 2014-01-20 22:47:46 +00:00
n386flw.pas * fixed setting of pi_uses_exception flags and unified usage, they should be set in pass_1 2014-02-08 14:59:07 +00:00
n386inl.pas
n386ld.pas * isolated segment-related functionality of tabsolutevarsym into i386/i8086- 2014-03-30 15:42:53 +00:00
n386mat.pas
n386mem.pas * moved x86-specific tpointerdef functionality to architecture-specific 2014-03-30 21:04:36 +00:00
n386set.pas
popt386.pas * 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. 2014-04-20 19:16:58 +00:00
r386ari.inc
r386att.inc
r386con.inc
r386dwrf.inc
r386int.inc
r386iri.inc
r386nasm.inc
r386nor.inc
r386nri.inc
r386num.inc
r386ot.inc
r386rni.inc
r386sri.inc
r386stab.inc
r386std.inc
ra386att.pas
ra386int.pas
rgcpu.pas
rropt386.pas
symcpu.pas * forgot to commit the changes to i386/symcpu.pas in r27549 2014-04-13 18:44:35 +00:00