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. %!s(int64=11) %!d(string=hai) anos
..
aasmcpu.pas 842e027a9f + prove of concept how FMA4 could be supported in inline assembler %!s(int64=11) %!d(string=hai) anos
agx86att.pas 045f161012 Separate out nasm assembler for i8086, i386 and x86_64 cpus, also separte based on target object format %!s(int64=11) %!d(string=hai) anos
agx86int.pas 045f161012 Separate out nasm assembler for i8086, i386 and x86_64 cpus, also separte based on target object format %!s(int64=11) %!d(string=hai) anos
agx86nsm.pas 597f110eb9 + added support for units with code larger than 64kb in the far code i8086 %!s(int64=11) %!d(string=hai) anos
cga.pas d88d644925 + support for FMA intrinsic: if there is no hardware support, the compiler throws an error. %!s(int64=11) %!d(string=hai) anos
cgx86.pas 07e90aaa24 + Implemented IEEE 754-compliant checking for unordered results of floating-point compares on x86 targets. Mantis #9362. %!s(int64=11) %!d(string=hai) anos
cpubase.pas 07e90aaa24 + Implemented IEEE 754-compliant checking for unordered results of floating-point compares on x86 targets. Mantis #9362. %!s(int64=11) %!d(string=hai) anos
hlcgx86.pas 71deda6f50 + added interface to ncgutil.gen_load_loc_cgpara() to hlcgobj + generic %!s(int64=14) %!d(string=hai) anos
itcpugas.pas 926dd1b41e * command line compilation of i8086 fixed %!s(int64=12) %!d(string=hai) anos
itx86int.pas 0e41df598e * merge i8086 branch by Nikolay Nikolov %!s(int64=12) %!d(string=hai) anos
ni86mem.pas 4a79481c51 * isolated segment-related functionality of tabsolutevarsym into i386/i8086- %!s(int64=11) %!d(string=hai) anos
nx86add.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. %!s(int64=11) %!d(string=hai) anos
nx86cal.pas 9c1f917e3a * a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around. %!s(int64=11) %!d(string=hai) anos
nx86cnv.pas d613ab8578 * x86: improve x87 qword to float conversion, using single-precision constants saves space and removes need in separate load on FPU stack. No precision loss occurs because 2**64 is representable exactly even in single precision. %!s(int64=11) %!d(string=hai) anos
nx86con.pas 45f60bc4b5 * small changes (copyright, typo, readability) %!s(int64=12) %!d(string=hai) anos
nx86inl.pas 18233f2c0c * fix compilation of i8086 compiler %!s(int64=11) %!d(string=hai) anos
nx86mat.pas c38e52bb27 * create shorter code for -<single/double> when generating avx code %!s(int64=11) %!d(string=hai) anos
nx86mem.pas 198960b17c * preserve the segment of the reference in tx86vecnode.update_reference_reg_mul %!s(int64=11) %!d(string=hai) anos
nx86set.pas 5e8f8f4755 * Use GOT-relative constants for i386 PIC jump tables, they don't need runtime relocations. Now almost ABI-compliant on Linux/BSD (Darwin targets unchanged). Also clean up i8086-specific stuff: using tai_const.create_type_sym(aitconst_ptr,...) generates near pointers on i8086, which is the desired goal. %!s(int64=11) %!d(string=hai) anos
rax86.pas aa107b914c * merged avx2 branch, developed by Torsten Grundke %!s(int64=11) %!d(string=hai) anos
rax86att.pas d6180b1e70 * properly propagate PIC-related suffixes from the x86 assembler reader in %!s(int64=12) %!d(string=hai) anos
rax86int.pas 5c48804240 * Moved local label infrastructure into tasmreader, reduces number of global vars. Functionality is not changed. %!s(int64=11) %!d(string=hai) anos
rgx86.pas 75a13f7e47 * do not allow VCOMISD/VCOMISS to use a memory location as target %!s(int64=11) %!d(string=hai) anos
symi86.pas fc71081b74 * i8086 and i386-specific code from tabstractprocdef.is_pushleftright moved to %!s(int64=11) %!d(string=hai) anos
symx86.pas 8364232049 + symx86 unit, forgot to commit (part of r27397) %!s(int64=11) %!d(string=hai) anos
x86ins.dat 842e027a9f + prove of concept how FMA4 could be supported in inline assembler %!s(int64=11) %!d(string=hai) anos
x86reg.dat 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. %!s(int64=12) %!d(string=hai) anos