fpc/compiler/x86
Jonas Maebe b5fd71c3b9 * removed {$ifndef i8086} in tx86vecnode, instead reset cvecnode to
tcgvecnode in the n8086mem initcode

git-svn-id: trunk@27360 -
2014-03-29 22:31:49 +00:00
..
aasmcpu.pas + prove of concept how FMA4 could be supported in inline assembler 2014-03-20 21:25:38 +00:00
agx86att.pas Separate out nasm assembler for i8086, i386 and x86_64 cpus, also separte based on target object format 2014-01-21 00:26:08 +00:00
agx86int.pas Separate out nasm assembler for i8086, i386 and x86_64 cpus, also separte based on target object format 2014-01-21 00:26:08 +00:00
agx86nsm.pas * declare the group dgroup even in i8086 far data memory models 2014-03-29 19:35:54 +00:00
cga.pas
cgx86.pas Avoid range check error in a_op_const_reg_reg 2014-03-09 19:49:29 +00:00
cpubase.pas - rm FDISI,FENI,FSAVE,FSTCW,FSTENV and FSTSW from the requires_fwait_on_8087() 2013-12-03 23:56:45 +00:00
hlcgx86.pas
itcpugas.pas * command line compilation of i8086 fixed 2013-04-21 18:32:09 +00:00
itx86int.pas * merge i8086 branch by Nikolay Nikolov 2013-04-25 20:23:51 +00:00
nx86add.pas * tx86addnode.second_cmpfloatsse and tx86addnode.second_cmpfloatavx are identical except instruction opcodes -> merged into second_cmpfloatvector, cleaned up, and allowed constant operands at both sides. 2014-03-28 09:04:28 +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 * small changes (copyright, typo, readability) 2012-11-18 17:28:30 +00:00
nx86inl.pas * fixed compilation for i8086 with 2.6.x (it gave an unreachable code 2014-03-29 22:31:43 +00:00
nx86mat.pas * create shorter code for -<single/double> when generating avx code 2014-03-29 19:35:41 +00:00
nx86mem.pas * removed {$ifndef i8086} in tx86vecnode, instead reset cvecnode to 2014-03-29 22:31:49 +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: Cleaned out addr_far,addr_far_ref used to encode far calls/jumps. NASM (and FPC x86 assembler based on it) already have opsize=S_FAR for this purpose. 2014-03-08 22:54:43 +00:00
rgx86.pas * do not allow VCOMISD/VCOMISS to use a memory location as target 2014-02-14 21:26:51 +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