fpc/compiler/x86
Jonas Maebe 1a949eae1f * fixed i8086 compilation
git-svn-id: trunk@29807 -
2015-02-23 08:51:59 +00:00
..
aasmcpu.pas * fixed i8086 compilation 2015-02-23 08:51:59 +00:00
agx86att.pas * x86 AT&T writer: never ever drop "@GOTPCREL" relocation, because it results in corrupted code (at least, "mov foo@GOTPCREL(%rip),%reg" must change to "lea foo(%rip),%reg" to remain equivalent, but this must be handled elsewhere anyway. Assembler writer should just write generated code as is). 2015-01-18 17:04:53 +00:00
agx86int.pas * fix assembling with masm according to #25858 2015-02-05 21:22:39 +00:00
agx86nsm.pas + support section smartlinking with nasm 2015-02-08 12:33:50 +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.g_concatcopy use: copy_move (mov sequence) instead of copy_string (rep 2015-02-07 13:19:34 +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
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
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 + cpu capability CPUX86_HAS_CMOV 2015-02-21 20:47:40 +00:00
nx86mat.pas * make integer division instruction (div/idiv) on x86 dependent on the 2015-01-04 13:08:57 +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 - x86 assembler readers: cleaned out operand swapping code. Operands of TInstruction are kept in AT&T order, Intel reader attaches operands right-to-left. It was effectively the same way before the change (except Intel reader attaching operands left-to-right, followed by a single swap), operand order checks all over the place were just reducing readability. 2014-11-16 16:37:26 +00:00
rax86att.pas - x86 assembler readers: cleaned out operand swapping code. Operands of TInstruction are kept in AT&T order, Intel reader attaches operands right-to-left. It was effectively the same way before the change (except Intel reader attaching operands left-to-right, followed by a single swap), operand order checks all over the place were just reducing readability. 2014-11-16 16:37:26 +00:00
rax86int.pas + applied remaining patches of Torsten Grundke: adds gather instructions of avx2 2015-02-17 21:43:46 +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 + applied remaining patches of Torsten Grundke: adds gather instructions of avx2 2015-02-17 21:43:46 +00:00
x86reg.dat