fpc/compiler/x86
2014-08-20 12:28:44 +00:00
..
aasmcpu.pas * Put under {$ifndef x86_64} more cases of instructions that do not exist in 64-bit mode. 2014-06-11 12:51:38 +00:00
agx86att.pas AROS: assembler fixes 2014-08-18 11:25:55 +00:00
agx86int.pas + create a special 'heap' segment with reserved space equal to heapsize (i.e. 2014-06-19 14:14:01 +00:00
agx86nsm.pas * don't add the stack segment declaration at the beginning of each object file 2014-06-21 10:41:57 +00:00
cga.pas + support for FMA intrinsic: if there is no hardware support, the compiler throws an error. 2014-04-13 19:21:54 +00:00
cgx86.pas * tcgx86.a_op_const_reg_reg: optimize trivial cases before considering more complex ones. 2014-06-08 00:08:56 +00:00
cpubase.pas + Implemented IEEE 754-compliant checking for unordered results of floating-point compares on x86 targets. Mantis #9362. 2014-04-14 12:36:11 +00:00
hlcgx86.pas
itcpugas.pas
itx86int.pas * merge i8086 branch by Nikolay Nikolov 2013-04-25 20:23:51 +00:00
ni86mem.pas * isolated segment-related functionality of tabsolutevarsym into i386/i8086- 2014-03-30 15:42:53 +00:00
nx86add.pas x86: fix a variable op not initialized warning. This hopefully fixes our x86 testsuite run. 2014-08-20 10:21:06 +00:00
nx86cal.pas * 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. 2014-02-03 13:28:56 +00:00
nx86cnv.pas * 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. 2014-03-03 20:41:42 +00:00
nx86con.pas
nx86inl.pas + make use of vfnmsub*/vfmsub*/vfnmadd* instructions if possible 2014-05-02 21:07:46 +00:00
nx86mat.pas * fix warnings when compiling the compiler with DFA optimizer enabled on i386 2014-08-20 12:28:44 +00:00
nx86mem.pas * preserve the segment of the reference in tx86vecnode.update_reference_reg_mul 2014-04-05 14:46:35 +00:00
nx86set.pas * 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. 2014-03-03 21:06:49 +00:00
rax86.pas * merged avx2 branch, developed by Torsten Grundke 2014-03-20 12:03:52 +00:00
rax86att.pas * properly propagate PIC-related suffixes from the x86 assembler reader in 2013-05-30 12:20:48 +00:00
rax86int.pas * x86 intel syntax inline asm: allow a segment override (segcs,segds,seges,etc.) 2014-06-25 21:06:19 +00:00
rgx86.pas * Put under {$ifndef x86_64} more cases of instructions that do not exist in 64-bit mode. 2014-06-11 12:51:38 +00:00
symi86.pas * i8086 and i386-specific code from tabstractprocdef.is_pushleftright moved to 2014-04-12 15:34:08 +00:00
symx86.pas * reimplemented r28329 in a different way, as suggested by Jonas 2014-08-07 19:36:52 +00:00
x86ins.dat + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
x86reg.dat * 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. 2013-10-03 08:08:04 +00:00